This requires moving some code around to PreferenceSheet, but that makes
stuff actually a bit simpler.
Depends on D192574
Differential Revision: https://phabricator.services.mozilla.com/D192575
This matches the behavior of other browsers, and avoids having to keep
alive the link element and thus associated document etc for too long.
Differential Revision: https://phabricator.services.mozilla.com/D192834
Instead, use forced-color-adjust: none to disable HCM forced colors in
DevTools, for now. It's a more straight-forward way of doing it.
Differential Revision: https://phabricator.services.mozilla.com/D192669
This commit changes from using a C style enum to a C++ enum class which adds
type safety. This is just a refactoring commit with no changes in behavior.
This avoids an (potentially unsafe) untyped downcast from PeerConnection.idl
types to what's used in DataChannel.h.
Differential Revision: https://phabricator.services.mozilla.com/D192070
There are two states; One for the entire data channel connection, which is
an internal property (now called just "state") indicating the state of the
SCTP connection setup.
The other state is the per-data channel state, indicating if it's opening, open
or closing. This is called "readyState" in the RTCDataChannel API, and that
(somewhat odd) name is kept in the underlying C++ representation.
This commit changes from using a C style enum to a C++ enum class which adds
type safety. Some minor code style cleanup was done as well as code was
refactored.
Differential Revision: https://phabricator.services.mozilla.com/D192066
Legacy segmenter breaks line by some Break After properties. But UAX#14 rule
doesn't break Break After (BA) at force.
So I would like to remove some legacy rules that isn't ASCII white space from
`nsLineBreaker`.
Differential Revision: https://phabricator.services.mozilla.com/D192174
The event isn't dispatched correctly for DOM manipulations anymore. It is
dispatched when swapping docshells but we don't actually use this event anywhere
except tests so we might as well just remove it entirely.
Differential Revision: https://phabricator.services.mozilla.com/D192333
For accessors with FunctionFlags::LAZY_ACCESSOR_NAME, JSFunction::AtomSlot
contains unprefixed name.
This patch also split existing methods and APIs for function name into 3:
1. infallible, and can return unprefixed name
2. fallible, and returns correct name
3. (internal only) infallibe, and returns correct name (only for functions known to not have FunctionFlags::LAZY_ACCESSOR_NAME)
If the result doesn't have to be exactly correct name, for example if it's for
debug logging or profiler marker, the 1st infallible functions are used.
Differential Revision: https://phabricator.services.mozilla.com/D191457
Minor correction from https://phabricator.services.mozilla.com/D184821.
The definition of "same-origin" used in that patch was that the iframe's origin after navigation is the same as the triggering principal.
This was incorrect.
Instead, the origin of the iframe before navigation should be the same as after navigation, which is the frame's document principal at the time this is called.
Also, I found places where I missed adding the new fields to the loadinfo: LocationBase and nsFrameLoader.
And I added the redirect tainting check and a missing nullcheck before calling SetTriggeringWindowId in nsDocShell.
Differential Revision: https://phabricator.services.mozilla.com/D190577
I realized that our `HTMLEditUtils::IsFormatNode` is not maintained different
from the other browsers. Therefore, only we do not check new elements defined
after HTML 4.01. This patch aligns the list of the format elements to the
others [1].
Then, this also changes some expectations of `editing/run/formatblock.html`
to align common behavior of the browsers.
Note that we mapped `formatBlock` of `execCommand` to `cmd_paragraphState`,
and the XUL command handles `<blockquote>` in a different path [2] and the
behavior is pretty different from the other formatBlock command implementations.
Therefore, this patch creates new command for `formatBlock` and makes
`HTMLEditor` switch behavior in any places.
1. ba50f40fc4:third_party/WebKit/WebCore/editing/FormatBlockCommand.cpp;l=114-134
2. https://searchfox.org/mozilla-central/rev/6602bdf9fff5020fbc8e248c963ddddf09a77b1b/editor/libeditor/HTMLEditor.cpp#2461-2474
Differential Revision: https://phabricator.services.mozilla.com/D190900
We will call `nsLineBreaker::UpdateCurrentWordLanguage` per `nsLineBreaker`
instance with utf-16 text or hyphen support. When browsing Wikipedia's large
page (browsertime uses https://en.wikipedia.org/wiki/Barack_Obama), this method
is called over 400 times with same atom (mostly "en", a few is "en-us") on
pageload time of Wikipedia.
As long as looking profiler data, nsLineBreaker::UpdateCurrentWordLanguage is
shown. And this isn't very fast due to parse the locale string with ICU4C.
So I think that we can improve a few pageload time to cache previous result.
Differential Revision: https://phabricator.services.mozilla.com/D191732
This patch removes the old docshell timeline and timeline markers codebase and replaces them with equivalent Gecko profiler marker. This patch also fixes Bug 1834143, which is a subset of 1421651.
Differential Revision: https://phabricator.services.mozilla.com/D184217