Since we rarely touch this code, I took the liberty of changing this to a JS class
and fix the contrast ratio calculations to actually conform to the WCAG spec,
instead of using arbitrary constants.
I changed the `isBright` getter to `useBrightText`, because that is more apt;
we're usually looking for an answer to 'should I use white text on this background?',
instead of looking for an arbitrary threshold to classify a color as being bright.
I updated the tests to cover more of this and clarified the assertion messages as
well.
Differential Revision: https://phabricator.services.mozilla.com/D26097
--HG--
extra : moz-landing-system : lando
We do not need to handle onProgressChange64 notifications since the TabChild's
web progress events are filtered through an nsBrowserStatusFilter, which
truncates onProgresChange64 event values to 32-bit integers and then calls
onProgressChange.
Differential Revision: https://phabricator.services.mozilla.com/D25649
--HG--
extra : moz-landing-system : lando
Now that we have access to the RemoteWebProgress from the TabParent and can
construct RemoteWebProgress and RemoteWebProgressRequests in C++, we can
reconstruct the RemoteWebProgress and RemoteWebProgressRequest in the TabParent
instead of RemoteWebProgressManager. This improves the API for nsIBrowser and
RemoteWebProgressManager, removing the need for the
`callWebProgressContentBlockingEventListeners` method in both. It also means we
won't need to implement `callWebProgress*Listeners` for methods on nsIBrowser
and RemoteWebProgressManager for all other nsIWebProgress events.
Differential Revision: https://phabricator.services.mozilla.com/D24942
--HG--
extra : moz-landing-system : lando
The RemoteWebProgressManager is now implemented in terms of a
nsIWebProgressListener. This paves the way for reconstructing the
nsIWebProgress and nsIRequest passed to the event handlers in C++ instead of in
JS and will alllow for a cleaner overall design.
While here, I also cleaned up RemoteWebProgressManager to use the class
syntactic sugar.
Differential Revision: https://phabricator.services.mozilla.com/D24941
--HG--
extra : moz-landing-system : lando
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process
Differential Revision: https://phabricator.services.mozilla.com/D23330
--HG--
extra : moz-landing-system : lando
It only works with "persisted" theme images, which no longer exist.
Differential Revision: https://phabricator.services.mozilla.com/D25451
--HG--
extra : rebase_source : 8d32e4ceb48ec8bde68e8b42dcf4e2f11c9d60fd
extra : histedit_source : 0bcbae928b6e1517eace567d1e00afc60321ea3c
Some extensions want to implement about: pages and we want those pages to be loaded in the extension process, not in the web content process, so that:
1) a compromised web process won't get access to the about: page content
2) the extension page can use all the APIs that extension pages normally get, instead of only content script APIs.
Post-Fission we will need to know which extension process to choose.
Differential Revision: https://phabricator.services.mozilla.com/D24989
--HG--
extra : moz-landing-system : lando
1. Adding a new attribute chromeContext in ConsoleEvent
2. Adding a new boolean attribute isFromChromeContext in nsIConsoleMessage
3. Sending IsFromChromeContext to the parent process
Differential Revision: https://phabricator.services.mozilla.com/D23330
--HG--
extra : moz-landing-system : lando
When an extension requests access to the request body of a request,
`nsConverterInputStream` is used to parse the input streams that make up
a request body. These input streams are later (re)used to upload the
form data to the original destination (server).
`nsConverterInputStream`'s destructor does however close the input
streams, which results in data loss when the object is garbage-collected
before the upload completes.
This patch fixes the issue by explicitly nulling the underlying stream
before returning from the form parser.
Differential Revision: https://phabricator.services.mozilla.com/D24539
--HG--
extra : moz-landing-system : lando
This commit wraps just enough of the mozStorage API to support the
bookmarks mirror. It's not complete: for example, there's no way
to open, clone, or close a connection, because the mirror handles
that from JS. The wrapper also omits shutdown blocking and retrying on
`SQLITE_BUSY`.
This commit also changes the behavior of sync and async mozStorage
connections. Async (`mozIStorageAsyncConnection`) methods may be called
from any thread on any connection. Sync (`mozIStorageConnection`)
methods may be called from any thread on a sync connection, and from
background threads on an async connection. All connections now QI
to `mozIStorageConnection`, but attempting to call a sync method on
an async connection from the main thread throws.
Finally, this commit exposes an `OpenedConnection::unsafeRawConnection`
getter in Sqlite.jsm, for JS code to access the underlying connection.
Differential Revision: https://phabricator.services.mozilla.com/D20073
--HG--
extra : moz-landing-system : lando
Replaced instances of callers in both C++ and JS files to query the state from the principal directly.
Differential Revision: https://phabricator.services.mozilla.com/D22532
--HG--
extra : moz-landing-system : lando
Otherwise you see font changes when hovering, which is not really desirable.
Differential Revision: https://phabricator.services.mozilla.com/D24116
--HG--
extra : moz-landing-system : lando
Otherwise you see font changes when hovering, which is not really desirable.
Differential Revision: https://phabricator.services.mozilla.com/D24116
--HG--
extra : moz-landing-system : lando
This centralizes the checks for system shortcuts into ShortcutUtils.jsm, so
they can be checked for in the add-on shortcut assignment UI. It also
introduces a mechanism for skipping the system event handler if it is already
being handled by the shortcuts UI.
Differential Revision: https://phabricator.services.mozilla.com/D17586
--HG--
extra : moz-landing-system : lando