Skip to content

Commit

Permalink
[L10n] Don't try to connect the root element when it has already been…
Browse files Browse the repository at this point in the history
… done

In Firefox debug builds, there is an assertion to check that we don't connect
a subelement of an already connected root. Thanks to this assertion, we can see
that the root has already been added to Fluent, hence we don't need to do it
a second time.
We don't need to await anymore on the translation in order to update the
toolbar: it'll be done by Fluent, so we can safely remove the "localized"
event and avoid to wait for it.
  • Loading branch information
calixteman committed Oct 19, 2023
1 parent c60401a commit 50e053a
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 19 deletions.
14 changes: 6 additions & 8 deletions web/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -272,14 +272,6 @@ const PDFViewerApplication = {
this.bindEvents();
this.bindWindowEvents();

// We can start UI localization now.
const appContainer = appConfig.appContainer || document.documentElement;
this.l10n.translate(appContainer).then(() => {
// Dispatch the 'localized' event on the `eventBus` once the viewer
// has been fully initialized and translated.
this.eventBus.dispatch("localized", { source: this });
});

this._initializedCapability.resolve();
},

Expand Down Expand Up @@ -375,6 +367,12 @@ const PDFViewerApplication = {
: null
);
document.getElementsByTagName("html")[0].dir = this.l10n.getDirection();
if (typeof PDFJSDev === "undefined" || !PDFJSDev.test("MOZCENTRAL")) {
const appContainer =
this.appConfig.appContainer || document.documentElement;
// Connect Fluent and translate what we already have.
this.l10n.translate(appContainer);
}
},

/**
Expand Down
9 changes: 9 additions & 0 deletions web/plop.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<html>
<body></body>
<script>
const iframe = document.createElement("iframe");
iframe.width = iframe.height = 1000;
document.body.append(iframe);
iframe.src = "../test/pdfs/tracemonkey.pdf";
</script>
</html>
11 changes: 0 additions & 11 deletions web/toolbar.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@ const PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading";
*/

class Toolbar {
#wasLocalized = false;

/**
* @param {ToolbarOptions} options
* @param {EventBus} eventBus
Expand Down Expand Up @@ -206,11 +204,6 @@ class Toolbar {
// Suppress context menus for some controls.
scaleSelect.oncontextmenu = noContextMenu;

this.eventBus._on("localized", () => {
this.#wasLocalized = true;
this.#updateUIState(true);
});

this.#bindEditorToolsListener(options);
}

Expand Down Expand Up @@ -254,10 +247,6 @@ class Toolbar {
}

#updateUIState(resetNumPages = false) {
if (!this.#wasLocalized) {
// Don't update the UI state until we localize the toolbar.
return;
}
const { pageNumber, pagesCount, pageScaleValue, pageScale, items } = this;

if (resetNumPages) {
Expand Down

0 comments on commit 50e053a

Please sign in to comment.