There are three changes:
1. Adds a print progress listener to tabs.saveAsPDF() in ext-tabs.js so that the
'saved' or 'replaced' status is not returned until the PDF file has been saved.
2. Adds four more "edge" properties to the pageSettings object to allow positioning
of the page headers and footers.
3. Adds automated tests for tabs.saveAsPDF() in browser_ext_tabs_saveAsPDF.js that
cover all returned statuses: saved, replaced, canceled, not_saved, not_replaced.
MozReview-Commit-ID: LMTjKDjBwY3
There's a heavy enough overhead to going through XPConnect for
every observer for every visit on the nsINavHistoryObserver
interface, so this patch reduces that by replacing the single-
visit notification with one which accepts an array of visits.
Some notes: To avoid problems with the orderings of the various
ways in which we notify about visits, we have to send our bulk
onVisits notification before doing any of the others. This does
mean it technically behaves slightly different than the prior
approach of interleaving the notifications, but I can't find any
way in which this has any consequences to the end result, and it
doesn't break any tests.
MozReview-Commit-ID: GdeooH8mCkg
The return value from Cu.import() does not include lexically scoped
symbols so stop using it here. Also stop using Extension.generate()
while we're here.
MozReview-Commit-ID: HnX3RGgDHbR
The problem reported in this bug is that the newTab button moves to an invalid position when
there's only 1 tab in a window and you try to move it to the end of the tab strip via tabs.move.
This may be caused by a bug in tabbrowser, which is being investigated separately, but it
brought to light the fact that we're trying to move a tab when it's the only tab in a
window, and that just doesn't make sense.
This patch updates the code so we don't try to move a tab if it's the only tab in the
window.
MozReview-Commit-ID: 1oBs0OHnvxi
This updates browserSettings so that calling set and clear return false, rather than undefined,
for read-only settings. It also returns "not_controllable" rather than "controllable_by_this_extension"
for levelOfControl from calls to get for read-only settings.
MozReview-Commit-ID: 9c0bKDaYIC7
This introduces a new property to WindowTracker (on desktop only) called topNormalWindow
which returns the topmost window which is not a popup window. That property is then used
by tabs.create to identify the top "normal" window when a windowId is not passed to it.
Bug 1421709 has been filed to look for other opportunities to use topNormalWindow
in place of topWindow in our codebase.
MozReview-Commit-ID: DcV93wO6FoV
The recent failures all seem to be on the assertion that lastAccessed of tab 1 is
later than the test start time. It's possible that things happen so quickly that
lastAccessed of tab 1 is the same as the start time, so this patch changes the
comparison to be a <=.
MozReview-Commit-ID: 67CVQPj1ShM
This includes removing the "web-extension-preferences-replacing" and "web-extension-preferences-replaced"
notifications as they are no longer needed.
MozReview-Commit-ID: IjNf4BImgas
This code changes all of the functions in the ESS and the EPM to accept an extensionId rather than an
extension object, which is required for responding to the new onUpdate event.
MozReview-Commit-ID: FwMVa0fShGj