This patch changes the event to listen on the search textbox from "command" to
"input", which means the code will run with every keystroke, instead of once
a few keystrokes after a timeout. It will make the search very responsive.
However, with that change, each keystroke will be blocked by the search function,
which go through the entire DOM of the page. This patch fixes that by making the
search function async. The search will now check the execution time with
Performance API, and give way when it blocks the page for more than 1/60 sec.
Further care was taken to make sure page won't flash unchecked content while
the loop go through the entire DOM. The elements to be checked can't be hidden
because of the JS bindings, so CSS rules are set to ensure they are kept
visually hidden. Unfortunately, CSS cannot change XUL layout so they still
occupies page space.
Additional check was made to make sure the search function skips hidden elements,
if the previous query is a substring of the search query. This is done so that
search function does not unhide and hide these elements, and causes the search
result to flash as the user types.
MozReview-Commit-ID: BwBoJmTperw
--HG--
rename : browser/components/preferences/in-content-new/tests/browser_search_subdialogs_within_preferences_1.js => browser/components/preferences/in-content-new/tests/browser_search_subdialogs_within_preferences_5.js
rename : browser/components/preferences/in-content-new/tests/browser_search_subdialogs_within_preferences_2.js => browser/components/preferences/in-content-new/tests/browser_search_subdialogs_within_preferences_6.js
rename : browser/components/preferences/in-content-new/tests/browser_search_subdialogs_within_preferences_3.js => browser/components/preferences/in-content-new/tests/browser_search_subdialogs_within_preferences_7.js
rename : browser/components/preferences/in-content-new/tests/browser_search_subdialogs_within_preferences_4.js => browser/components/preferences/in-content-new/tests/browser_search_subdialogs_within_preferences_8.js
extra : rebase_source : 2f1b6cd9f50d79c24dcddc22c61c50d347ddf3f0
The dropmarker gets the urlbar-icon class for consistency with the other URL bar icons. On this occasion, I increased the urlbar-icon padding and removed the margin to match the photon spec. Also added a rudimentary hover effect.
#urlbar-icons is renamed to #page-action-buttons to better reflect its meaning, and because .urlbar-icon is now used outside of this container.
#urlbar-wrapper wrapper isn't needed anymore -- we can just set the switchingtabs attribute directly on #urlbar.
MozReview-Commit-ID: EiuUW71IKgU
--HG--
extra : rebase_source : dcc7753e92073e06278d714a0b5b976d073e75c8
Excluding Google due to it not being able to run in artifact builds.
MozReview-Commit-ID: B15iW1iC2Lk
--HG--
extra : rebase_source : 8fd72f92717b166fc03e9bd2111ce02979327502
And add tests to confirm that activeTab works for both
_execute_browser_action and _execute_page_action.
MozReview-Commit-ID: HDTDZXCvukc
--HG--
extra : rebase_source : 1a59270afa7b87979329d0fed197238e6655a647
saveAsPDF() - changed to return error message in lastError if called on Mac OS X.
saveAsPDF() - changed returned status values to lower case with underscores instead of spaces.
printPreview() - changed to return error message in lastError if print preview fails.
MozReview-Commit-ID: KxWJ3ClqaHy
--HG--
extra : rebase_source : 4526b66ff0c342dc1302132a7f187d1cdc5b1399
This evolves restoreScratchpadSession into restoreDevToolsSession which can keep track
of more than just scratchpad windows. In this case we also restore the Browser Console.
MozReview-Commit-ID: D4vOGkpq8xH
--HG--
extra : rebase_source : 33f1a2183ee717c79f360a7dda688832a5c33566