[go: nahoru, domu]

blob: 1ad72f4e6eb320055f2a0ac19e70ae1d39f384d5 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/* eslint-disable rulesdir/no_underscored_properties */
import {VBox} from './Widget.js';
import {ZoomManager} from './ZoomManager.js';
export class RootView extends VBox {
_window?: (Window&typeof globalThis)|null;
constructor() {
super();
this.markAsRoot();
this.element.classList.add('root-view');
this.registerRequiredCSS('ui/legacy/rootView.css');
this.element.setAttribute('spellcheck', 'false');
}
attachToDocument(document: Document): void {
if (document.defaultView) {
document.defaultView.addEventListener('resize', this.doResize.bind(this), false);
}
this._window = document.defaultView;
this.doResize();
this.show((document.body as Element));
}
doResize(): void {
if (this._window) {
const size = this.constraints().minimum;
const zoom = ZoomManager.instance().zoomFactor();
const right = Math.min(0, this._window.innerWidth - size.width / zoom);
this.element.style.marginRight = right + 'px';
const bottom = Math.min(0, this._window.innerHeight - size.height / zoom);
this.element.style.marginBottom = bottom + 'px';
}
super.doResize();
}
}