mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 992747 - toolbar visibility setting doesn't work for non-customizable toolbars, r=jaws
This commit is contained in:
parent
99076a8742
commit
9194fa64dc
@ -2400,20 +2400,14 @@ let CustomizableUIInternal = {
|
||||
},
|
||||
|
||||
setToolbarVisibility: function(aToolbarId, aIsVisible) {
|
||||
let area = gAreas.get(aToolbarId);
|
||||
if (area.get("type") != CustomizableUI.TYPE_TOOLBAR) {
|
||||
return;
|
||||
}
|
||||
let areaNodes = gBuildAreas.get(aToolbarId);
|
||||
if (!areaNodes) {
|
||||
return;
|
||||
}
|
||||
// We only persist the attribute the first time.
|
||||
let isFirstChangedToolbar = true;
|
||||
for (let areaNode of areaNodes) {
|
||||
let window = areaNode.ownerDocument.defaultView;
|
||||
window.setToolbarVisibility(areaNode, aIsVisible, isFirstChangedToolbar);
|
||||
isFirstChangedToolbar = false;
|
||||
for (let window of CustomizableUI.windows) {
|
||||
let toolbar = window.document.getElementById(aToolbarId);
|
||||
if (toolbar) {
|
||||
window.setToolbarVisibility(toolbar, aIsVisible, isFirstChangedToolbar);
|
||||
isFirstChangedToolbar = false;
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
|
@ -104,4 +104,5 @@ skip-if = os == "linux"
|
||||
[browser_987177_xul_wrapper_updating.js]
|
||||
[browser_987492_window_api.js]
|
||||
[browser_989289_force_icons_mode_attribute.js]
|
||||
[browser_992747_toggle_noncustomizable_toolbar.js]
|
||||
[browser_panel_toggle.js]
|
||||
|
@ -0,0 +1,26 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
"use strict";
|
||||
|
||||
const TOOLBARID = "test-noncustomizable-toolbar-for-toggling";
|
||||
function test() {
|
||||
let tb = document.createElementNS(kNSXUL, "toolbar");
|
||||
tb.id = TOOLBARID;
|
||||
gNavToolbox.appendChild(tb);
|
||||
try {
|
||||
CustomizableUI.setToolbarVisibility(TOOLBARID, false);
|
||||
} catch (ex) {
|
||||
ok(false, "Should not throw exceptions trying to set toolbar visibility.");
|
||||
}
|
||||
is(tb.getAttribute("collapsed"), "true", "Toolbar should be collapsed");
|
||||
try {
|
||||
CustomizableUI.setToolbarVisibility(TOOLBARID, true);
|
||||
} catch (ex) {
|
||||
ok(false, "Should not throw exceptions trying to set toolbar visibility.");
|
||||
}
|
||||
is(tb.getAttribute("collapsed"), "false", "Toolbar should be uncollapsed");
|
||||
tb.remove();
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user