Browse Source

Ensure that `PDFFindBar._adjustWidth` is called in all situations where the width of the findbar might have changed

After PR 8394, where the l10n service was converted to be asynchronous, we're no longer calling `_adjustWidth` after updating the `findMsg` label. Hence it's currently possible that the width of the findbar won't be correct. The solution is simple though, just call `_adjustWidth` after the `findMsg` label has been (asynchronously) updated.

Another existing issue, which was an oversight in PR 8132, is that `PDFFindBar.updateResultsCount` may be called directly from `PDFFindController`. In that case, we're not calling `_adjustWidth` at all, which means that the findbar may also not have the correct width.
The simple solution here is to always call `_adjustWidth` at the end of `updateResultsCount` (which is why we no longer need the `_adjustWidth` call at the end of `updateUIState`).
Jonas Jenwald 8 years ago
parent
commit
9c95614bb6
  1. 5
      web/pdf_find_bar.js

5
web/pdf_find_bar.js

@ -140,10 +140,10 @@ class PDFFindBar { @@ -140,10 +140,10 @@ class PDFFindBar {
this.findField.setAttribute('data-status', status);
Promise.resolve(findMsg).then((msg) => {
this.findMsg.textContent = msg;
this._adjustWidth();
});
this.updateResultsCount(matchCount);
this._adjustWidth();
}
updateResultsCount(matchCount) {
@ -160,6 +160,9 @@ class PDFFindBar { @@ -160,6 +160,9 @@ class PDFFindBar {
this.findResultsCount.textContent = matchCount.toLocaleString();
this.findResultsCount.classList.remove('hidden');
}
// Since `updateResultsCount` may be called from `PDFFindController`,
// ensure that the width of the findbar is always updated correctly.
this._adjustWidth();
}
open() {

Loading…
Cancel
Save