Bug 621888 - followup [r=mfinkle]

This commit is contained in:
Vivien Nicolas 2010-12-30 10:05:30 +01:00
Родитель 2aee83bb25
Коммит 37f1c5f8ca
2 изменённых файлов: 18 добавлений и 19 удалений

Просмотреть файл

@ -835,8 +835,7 @@ var BrowserUI = {
document.getElementById("tabs").removeClosedTab();
break;
case "SizeChanged":
if (aEvent.detail)
this.sizeControls(ViewableAreaObserver.height, ViewableAreaObserver.width);
this.sizeControls(ViewableAreaObserver.width, ViewableAreaObserver.height);
break;
// Window events
case "keypress":
@ -1882,7 +1881,6 @@ var FormHelperUI = {
tabs.addEventListener("TabClose", this, true);
Elements.browsers.addEventListener("URLChanged", this, true);
Elements.browsers.addEventListener("SizeChanged", this, true);
window.addEventListener("resize", this, true);
// Listen for modal dialog to show/hide the UI
messageManager.addMessageListener("DOMWillOpenModalDialog", this);
@ -1951,16 +1949,13 @@ var FormHelperUI = {
this.hide();
break;
case "resize":
case "SizeChanged":
setTimeout(function(self) {
SelectHelperUI.resize();
self._container.contentHasChanged();
}, 0, this);
break;
case "SizeChanged":
if (aEvent.detail)
this._zoom(this._currentElementRect, this._currentCaretRect);
}, 0, this);
break;
}
},

Просмотреть файл

@ -353,7 +353,7 @@ var Browser = {
os.addObserver(ViewableAreaObserver, "softkb-change", false);
Elements.contentNavigator.addEventListener("SizeChanged", function() {
ViewableAreaObserver.update();
}, false);
}, true);
window.QueryInterface(Ci.nsIDOMChromeWindow).browserDOMWindow = new nsBrowserAccess();
@ -3046,18 +3046,22 @@ var ViewableAreaObserver = {
let rect = Rect.fromRect(JSON.parse(aData));
this._height = rect.bottom - rect.top;
this._width = rect.right - rect.left;
this._update(aIsVKB);
this.update();
},
update: function va_update(aIsVKB) {
Browser.styles["viewable-height"].height = (this.height - Elements.contentNavigator.getBoundingClientRect().height) + "px";
Browser.styles["viewable-width"].width = this.width + "px";
update: function va_update() {
let oldHeight = parseInt(Browser.styles["viewable-height"].height);
let newHeight = this.height - Elements.contentNavigator.getBoundingClientRect().height;
if (newHeight != oldHeight) {
Browser.styles["viewable-height"].height = newHeight + "px";
Browser.styles["viewable-width"].width = this.width + "px";
// setTimeout 0 to ensure the resize event handler is well finished
setTimeout(function() {
let event = document.createEvent("UIEvents");
event.initUIEvent("SizeChanged", true, false, window, aIsVKB);
Elements.browsers.dispatchEvent(event);
}, 0);
// setTimeout(callback, 0) to ensure the resize event handler dispatch is finished
setTimeout(function() {
let event = document.createEvent("Events");
event.initEvent("SizeChanged", true, false);
Elements.browsers.dispatchEvent(event);
}, 0);
}
}
};