Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

Commit ab95266

Browse files
committed
🐛 Position sidebar on correct side on startup
Fixes #277
1 parent 61c1363 commit ab95266

File tree

2 files changed

+20
-15
lines changed

2 files changed

+20
-15
lines changed

CHANGELOG.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1414

1515
### Fixed
1616

17-
- Fix fetching new language packs (bug #287)
17+
- Fix fetching new language packs (bug [#287](https://github.com/pulse-browser/browser/issues/287))
18+
- Sidebar starts up on the correct side of the browser (bug [#277](https://github.com/pulse-browser/browser/issues/277))
1819

1920
## 1.0.0-a.82
2021

src/browser/base/content/browser-sidebar-js.patch

+18-14
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
diff --git a/browser/base/content/browser-sidebar.js b/browser/base/content/browser-sidebar.js
2-
index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf8419d2f6 100644
2+
index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..b607ca233ed7219bff900a98fd1e730968ffe7a4 100644
33
--- a/browser/base/content/browser-sidebar.js
44
+++ b/browser/base/content/browser-sidebar.js
55
@@ -11,6 +11,9 @@ var SidebarUI = {
@@ -94,7 +94,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
9494
// lastOpenedId is set in show() but unlike currentID it's not cleared out on hide
9595
// and isn't persisted across windows
9696
lastOpenedId: null,
97-
@@ -111,6 +159,48 @@ var SidebarUI = {
97+
@@ -111,6 +159,52 @@ var SidebarUI = {
9898
this._switcherTarget.addEventListener("command", () => {
9999
this.toggleSwitcherPanel();
100100
});
@@ -139,11 +139,15 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
139139
+ this._box.style.marginLeft = "unset";
140140
+
141141
+ this.loadedSidebars = [];
142+
+
143+
+ // Ensure that the sidebar's position is correct on startup. The position
144+
+ // will be fetched by the lazy preference getter down the bottom
145+
+ this.setPosition();
142146
+
143147
this._switcherTarget.addEventListener("keydown", event => {
144148
this.handleKeydown(event);
145149
});
146-
@@ -120,15 +210,33 @@ var SidebarUI = {
150+
@@ -120,15 +214,33 @@ var SidebarUI = {
147151
Services.obs.addObserver(this, "intl:app-locales-changed");
148152

149153
this._initDeferred.resolve();
@@ -178,7 +182,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
178182

179183
if (this._box.hasAttribute("positionend")) {
180184
xulStore.persist(this._box, "positionend");
181-
@@ -160,7 +268,7 @@ var SidebarUI = {
185+
@@ -160,7 +272,7 @@ var SidebarUI = {
182186
/**
183187
* The handler for Services.obs.addObserver.
184188
**/
@@ -187,7 +191,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
187191
switch (topic) {
188192
case "intl:app-locales-changed": {
189193
if (this.isOpen) {
190-
@@ -171,6 +279,54 @@ var SidebarUI = {
194+
@@ -171,6 +283,54 @@ var SidebarUI = {
191195
this.showInitially(this.lastOpenedId);
192196
break;
193197
}
@@ -242,7 +246,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
242246
}
243247
}
244248
},
245-
@@ -290,17 +446,31 @@ var SidebarUI = {
249+
@@ -290,17 +450,31 @@ var SidebarUI = {
246250
// First reset all ordinals to match DOM ordering.
247251
let browser = document.getElementById("browser");
248252
[...browser.children].forEach((node, i) => {
@@ -279,7 +283,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
279283
// Indicate we've switched ordering to the box
280284
this._box.setAttribute("positionend", true);
281285
} else {
282-
@@ -489,6 +659,10 @@ var SidebarUI = {
286+
@@ -489,6 +663,10 @@ var SidebarUI = {
283287
},
284288

285289
_loadSidebarExtension(commandID) {
@@ -290,23 +294,23 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
290294
let sidebar = this.sidebars.get(commandID);
291295
let { extensionId } = sidebar;
292296
if (extensionId) {
293-
@@ -527,6 +701,7 @@ var SidebarUI = {
297+
@@ -527,6 +705,7 @@ var SidebarUI = {
294298
}
295299

296300
this._fireFocusedEvent();
297301
+ this.loadedSidebars.push(commandID);
298302
return true;
299303
});
300304
},
301-
@@ -550,6 +725,7 @@ var SidebarUI = {
305+
@@ -550,6 +729,7 @@ var SidebarUI = {
302306
}
303307
return this._show(commandID).then(() => {
304308
this._loadSidebarExtension(commandID);
305309
+ this.loadedSidebars.push(commandID);
306310
return true;
307311
});
308312
},
309-
@@ -563,6 +739,38 @@ var SidebarUI = {
313+
@@ -563,6 +743,38 @@ var SidebarUI = {
310314
*/
311315
_show(commandID) {
312316
return new Promise(resolve => {
@@ -345,7 +349,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
345349
this.selectMenuItem(commandID);
346350

347351
this._box.hidden = this._splitter.hidden = false;
348-
@@ -580,7 +788,13 @@ var SidebarUI = {
352+
@@ -580,7 +792,13 @@ var SidebarUI = {
349353
this.observeTitleChanges(sourceL10nEl);
350354
this.browser.setAttribute("src", url); // kick off async load
351355

@@ -360,7 +364,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
360364
this.browser.addEventListener(
361365
"load",
362366
event => {
363-
@@ -624,11 +838,14 @@ var SidebarUI = {
367+
@@ -624,11 +842,14 @@ var SidebarUI = {
364368
// create a new content viewer because the old one doesn't get destroyed
365369
// until about:blank has loaded (which does not happen as long as the
366370
// element is hidden).
@@ -377,7 +381,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
377381

378382
let selBrowser = gBrowser.selectedBrowser;
379383
selBrowser.focus();
380-
@@ -642,10 +859,27 @@ var SidebarUI = {
384+
@@ -642,10 +863,27 @@ var SidebarUI = {
381385
* none if the argument is an empty string.
382386
*/
383387
selectMenuItem(commandID) {
@@ -406,7 +410,7 @@ index f5def93f56fc8d02d6ae6834ca8d2df0aead2379..976768180f96c3ae1abec661410d42bf
406410
if (id == commandID) {
407411
menu.setAttribute("checked", "true");
408412
if (triggerbutton) {
409-
@@ -661,6 +895,107 @@ var SidebarUI = {
413+
@@ -661,6 +899,107 @@ var SidebarUI = {
410414
}
411415
}
412416
},

0 commit comments

Comments
 (0)