If a class A is derived from a class B, then an instance of A can be
converted to an instance of class B via a static cast, so QI is not
needed. QIs are slower than static casts.
TestCallTemplates seems to be testing that CallQueryInterface compiles
even if the first argument's class is only ambiguously castable to
nsISupports, so I changed the second argument to be a class unrelated
to the concrete class.
I also removed some useless null checks on the return value of new.
Differential Revision: https://phabricator.services.mozilla.com/D6838
--HG--
extra : moz-landing-system : lando
I had to move the tooltip to appear above the help icon to make sure that it cause scrollbars to appear on the address form.
Differential Revision: https://phabricator.services.mozilla.com/D6912
--HG--
extra : moz-landing-system : lando
This changes the serialization of -moz-image-region to be consistent with that
of clip(), but it's an internal property and the specified value is already
serialized by servo so I think it's the right thing to do.
There are also no internal callers of the getter.
Differential Revision: https://phabricator.services.mozilla.com/D7069
We rely on the bit being on the block to restyle them in the right order.
Differential Revision: https://phabricator.services.mozilla.com/D7086
--HG--
extra : moz-landing-system : lando
The new permission is added to make it easier to audit the usage of the
API. It is an optional permission, in case we ever decide to introduce
a permission warning for it.
Differential Revision: https://phabricator.services.mozilla.com/D6771
--HG--
extra : moz-landing-system : lando
Normalize errors thrown by extension API implementations in content
processes to ensure that extension code can read the error message
if the error is an instance of ExtensionUtils.ExtensionError.
This code path is triggered in browser_ext_menus_replace.js and
browser_ext_menus_replace_menu_permissions.js.
Depends on D6625
Differential Revision: https://phabricator.services.mozilla.com/D6626
--HG--
extra : moz-landing-system : lando
This allows extensions to include tab/bookmark menu items from other
extensions. Built-in menu items from the browser are *not* added.
Depends on D6623
Differential Revision: https://phabricator.services.mozilla.com/D6624
--HG--
extra : moz-landing-system : lando
Presumably the commit that introduced `aStringOffset` could have removed this,
but overlooked it.
--HG--
extra : rebase_source : 176f14ce01c18ed4c83892d2b7a9e7a54fb5c836
Static atom registration is a bit of a mess. NS_InitAtomTable() calls
nsGkAtoms::RegisterStaticAtoms(), which calls NS_RegisterStaticAtoms(); i.e. we
go from nsAtomTable.cpp to nsGkAtoms.cpp and back.
(And NS_RegisterStaticAtoms() is declared in a .cpp file, not a .h file!)
This commit makes NS_InitAtomTable() a friend of nsGkAtoms, so NS_InitAtomTable
can see nsGkAtoms's atoms array directly, thus removing the need for
NS_RegisterAtomTable() and nsGkAtoms::RegisterStaticAtoms().
This commit also removes an out-of-date part of a comment from XPCOMInit.cpp.
--HG--
extra : rebase_source : 7e1f9aa0a9f7cb5088159fe4c953948b931f6d68
nsGkAtoms.h has a big comment explaining how static atom definitions get
expanded by macros. This comment was very useful when there were multiple
sources of static atoms and their definitions used macros a lot. But bug
1482782 combined all the static atom sources into nsGkAtoms and removed a lot
of macro use. So now the comment is now something of a hindrance, duplicating
quite a bit of the code (and not entirely accurately).
This commit removes the big comment, and moves the still-useful parts inline
with the code. This makes things much easier to follow.
This commit also reformats some of the remaining macros so they are easier to
read.
--HG--
extra : rebase_source : 4377be2fa0edc4ea1f592985ded89acbb76fb104
With libLLVM being a shared library exporting many symbols, all internal
calls using those symbols default to go through the PLT, which is
unnecessary (and costly) overhead. Using -Bsymbolic makes internal calls
go directly to the right place without going through the PLT.
Differential Revision: https://phabricator.services.mozilla.com/D7029
The patch c1df1c2e46f6 contained a faulty rebase where the coercion
of logging::max_level() changed from the Pref type to a string.
The string representation of geckodriver::logging::Level is given
in upper-case, e.g. "INFO", and the Pref representation is given as
"Info" to be compatible with managing the log level from Log.jsm in Gecko.
This inadvertently caused
https://github.com/web-platform-tests/wpt/issues/12166 to reappear
in almost the same way: before the problem was that Marionette’s
frame script always included all log level entries. This was fixed
with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then
https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so
that log entries also from chrome space appeared.
Depends on D7077
Differential Revision: https://phabricator.services.mozilla.com/D7078
--HG--
extra : moz-landing-system : lando
mozprofile gives us an error and we can forward it to the user so
we know what the underlying reason is for not being able to write
the Firefox profile.
Depends on D7075
Differential Revision: https://phabricator.services.mozilla.com/D7076
--HG--
extra : moz-landing-system : lando
Done automatically by running MarionetteHandler through rustfmt(1).
Depends on D7074
Differential Revision: https://phabricator.services.mozilla.com/D7075
--HG--
extra : moz-landing-system : lando
PrefValue implements From<&'static str>, and this makes the calling
code slightly nicer to look at.
Differential Revision: https://phabricator.services.mozilla.com/D7074
--HG--
extra : moz-landing-system : lando
Added trace extra parameters to be printed alongside console.trace() output.
Differential Revision: https://phabricator.services.mozilla.com/D7051
--HG--
extra : moz-landing-system : lando
Error handling for LIRGenerator lets us defer handling until the end of
the instruction but this can result in tripping some sanity checks. Only
report the first error up to caller.
Differential Revision: https://phabricator.services.mozilla.com/D6979
--HG--
extra : moz-landing-system : lando
The refactoring of the webdriver crate to use Serde (bug 1396821)
caused this regression. By instructing Serde to correctly rename
both properties fixes it.
Differential Revision: https://phabricator.services.mozilla.com/D7079
--HG--
extra : moz-landing-system : lando
Split nsHostRecord into AddrHostRecord and TypeHostRecord for standard address dns queries and queries by-type.
Differential Revision: https://phabricator.services.mozilla.com/D6130
--HG--
extra : moz-landing-system : lando
Persistent notifications were not properly distinguished from clearable notifications
because they would first start as not persistent and got updated afterwards. Also added
a handle action in BrowserApp's onCreate for whenever the process gets removed.
Differential Revision: https://phabricator.services.mozilla.com/D6815
--HG--
extra : moz-landing-system : lando
We're trying to insert a table caption via an append into a display: contents
element. We pass the content-insertion-frame (the table frame) instead of the
siblings' parent (the table wrapper frame).
This is the right thing to pass though, we adjust the caption parent frame
later, on AdjustCaptionParentFrame, and we ensure that we don't get here for a
non-caption thing because of IsValidSibling (though note that that can actually
lie, see bug 1424656, we'd get the layout wrong if the title element was a
replaced element for example), so a normal append without a previous sibling
will still be correct.
It'd be nice to make this a bit less messy, fwiw, but I don't have the ideas or
the time to do it now.
Differential Revision: https://phabricator.services.mozilla.com/D7067
--HG--
extra : moz-landing-system : lando