The jar log is used for optimization of the packaged jar files according
to their usage patterns during a profile run. The current content of the
file currently come with 2 caveats:
- it contains entries for jar archives that aren't relevant to
packaging, which is not a problem in itself, but see below.
- it contains full paths for jar archives that may not correspond to the
location of the packaged directory (on e.g. Android, where the build
almost certainly doesn't happen in the same directory on the host as
Fennec runs in the emulator/on the device).
The current JarLog code does somehow handle the various ways paths are
currently presented, but it's clearly missing code to map the paths in
the log to packaged paths. Instead of requiring manual work and extra
build options to handle this mapping, and considering the caveats above,
it's just simpler to log archive paths as if they were relative to the
packaged application directory in a build, and use that during
packaging.
Depends on D21655
Differential Revision: https://phabricator.services.mozilla.com/D21656
--HG--
extra : moz-landing-system : lando
Instead of checking the MOZ_JAR_LOG_FILE for each log entry, only check
it once, and only check whether to log once per archive rather than once
per item.
Differential Revision: https://phabricator.services.mozilla.com/D21655
--HG--
extra : moz-landing-system : lando
Each instance has an instance of Java ExoPlayer that consumes memory in the
limited JVM heap. Too many concurrent players will cause OutOfMemoryError.
Differential Revision: https://phabricator.services.mozilla.com/D20420
--HG--
extra : moz-landing-system : lando
- Detect current desktop session and disable shape mask on Mutter/X.org due to Bug 1530252 (mutter bug).
- Use system titlebar on Mutter/X.org as we can't draw the titlebar reliably.
- Remove widget.default-hidden-titlebar from prefs. When it's defined it overrides default titlebar detection heuristics now.
- Don't use shape masks at all on Mutter/x.org. When system titlebar is hidden in this case (by user choice) it has opaque corners unless
argb visual is selected.
- Use Window manager decorations on Gnome Classic session, that works better than client decorations.
Differential Revision: https://phabricator.services.mozilla.com/D21203
--HG--
extra : moz-landing-system : lando
This is more complex than merely modifying NS_GetDefaultReferrerPolicy()
because at the time most (all?) callers call nsIHttpChannel::SetReferrer/
nsIHttpChannel::SetReferrerWithPolicy before the channel is opened,
which means we won't know whether the channel is a tracking resource or
not yet. So we would need to re-evaluate this decision after that
information becomes available. For that, we need to remember the
original URI argument passed to these functions since that information
is currently destroyed and isn't persisted anywhere in the system.
Differential Revision: https://phabricator.services.mozilla.com/D20901
--HG--
extra : moz-landing-system : lando
This is an unneeded scriptable interface. Since we no longer have XPCOM add-ons,
we can know statically that nsJARProtocolHandler will be handling the jar protocol,
so there is no need for ascertaining this at runtime.
Depends on D21223
Differential Revision: https://phabricator.services.mozilla.com/D21224
--HG--
extra : moz-landing-system : lando
Implements a 50ms buffer of scale events in APZC, so pinch locking code can
consider gesture movement over a fixed length of time. Previously, pinch
locking was sensitive to event frequency (which is determined by the
sensitivity of the input device).
* New class InputBuffer wraps std::deque
* New field APZC::mPinchEventBuffer
* New gfxPref APZPinchLockBufferMaxAge
--HG--
extra : rebase_source : a44da4c3ce971fee1b0f401357f47f994a9145df
If main thread is busy handling runnables in the normal priority queue, control-type of messages from
workers are possibly postponed to run after those. That can lead to bad performance, if the page
expects workers to be able to proceed simultanously with the main thread.
This patch makes the control messages to use medium high priority queue in order to try to
ensure they are handled in timely manner.
Pref dom.worker.use_medium_high_event_queue can be set to false to disable this new behavior.
Differential Revision: https://phabricator.services.mozilla.com/D22128
--HG--
extra : rebase_source : 447dec6dbcccaa0206a1815c21ccf713c523fc91
instead of ReadAhead, which does active reading on Windows.
The PrefetchVirtualMemory is a system call that is new to Windows 8.
Back when the readahead code for jar was added, in bug 810151, Windows 8
was still fresh out of the oven. 6 years later, we can do a runtime
check and use the PrefetchVirtualMemory function.
One downside is that the IOInterposer doesn't know about it (but it
doesn't know about madvise on other platforms anyways).
Differential Revision: https://phabricator.services.mozilla.com/D20807
--HG--
extra : moz-landing-system : lando
Consequently, since we don't readahead jars in child processes, we
don't record jar accesses from child processes. In fact, intertwining
jar accesses from child processes with those from the parent process was
arguably making things less efficient for the parent process. But this
code was written at a time e10s was barely a thing, so it wasn't really
thought for a multi-process world.
Differential Revision: https://phabricator.services.mozilla.com/D20752
--HG--
extra : moz-landing-system : lando
Add a 'View Saved Logins' footer to the password manager autocomplete popup.
Differential Revision: https://phabricator.services.mozilla.com/D19602
--HG--
extra : moz-landing-system : lando
Apparently some (Pixel) phones have started shipping with Google Sans instead of
Roboto. While the file names supposedly haven't changed for compatibility
reasons, this doesn't help us as our font rendering looks at the actual font
metadata and, if it cannot find a font claiming to be Roboto in its *metadata*,
starts substituting serif fonts or do other strange things.
Differential Revision: https://phabricator.services.mozilla.com/D20723
--HG--
extra : moz-landing-system : lando
This patch adds a test for ensuring the letterboxing works as we expect.
It will open a tab and resize its window into several different sizes
and to see if the margins are correctly apply. And it will also check
that no margin should apply to a tab with chrome privilege.
--HG--
extra : histedit_source : acefd2e6d62be7f9e4247206a7b0d1cd190dc00f
This patch adds a test for ensuring the letterboxing works as we expect.
It will open a tab and resize its window into several different sizes
and to see if the margins are correctly apply. And it will also check
that no margin should apply to a tab with chrome privilege.
--HG--
extra : rebase_source : 45e5c93b1845c9c9ca9b35b74f8a0b70c93a5bef
Hiding document.createEvent("TouchEvent"), document.createTouch, document.createTouchList and ontouch* event
handlers on desktop to follow what Chrome has done.
This patch explicitly does not remove createTouch or createTouchList everywhere, although those seem to have been
removing already on some other browsers.
Devtools use TOUCHEVENTS_OVERRIDE_ENABLED for touch event testing, and this patch keeps the old behavior per discussion
with devtools devs.
Differential Revision: https://phabricator.services.mozilla.com/D22081
--HG--
extra : rebase_source : 562588a289632ba2f11db7f3ac8782c26c3b05f8
InputEvent.dataTransfer is declared by Input Events Level 1 and Level 2 (i.e.,
not UI Events). It's necessary for "beforeinput" event on contenteditable
elements because of with some InputEvent.inputType values on contenteditable,
InputEvent.dataTransfer is used instead of InputEvent.data.
According to the Chrome's behavior, if InputEvent.dataTransfer is created by
web apps, the DataTransfer object is mutable. Otherwise, i.e., the event
represents user input, the DataTransfer object is read only. We should follow
this behavior.
This is enabled by default.
Differential Revision: https://phabricator.services.mozilla.com/D19296
--HG--
extra : moz-landing-system : lando
InputEvent.data notifies web apps of inserting/inserted text with "beforeinput"
and "input" events. So, this is important especially for "beforeinput" event
listeners. That's the reason why we need to support this before implementing
"beforeinput" event.
This patch adds it into InputEvent and make it enabled by default.
Differential Revision: https://phabricator.services.mozilla.com/D19285
--HG--
extra : moz-landing-system : lando
The reason why we use RelaxedAtomBoolis that
ScrollSnapUtils::GetSnapPointForDestination() is called both from the main and
the compositor threads, and the function will have a branch depending on the
pref value.
Differential Revision: https://phabricator.services.mozilla.com/D20101
--HG--
extra : moz-landing-system : lando
- Use a single remote decoder IPDL spec and make a remote decoding
base class.
Renames PRemoteVideoDecoder.ipdl to PRemoteDecoder.ipdl
Renames RemoteVideoDecoder{Child|Parent}.{cpp|h} to
RemoteDecoder{Child|Parent}.{cpp|h}
- Move remote video decoding to new subclasses.
Creates RemoteVideoDecoder.{cpp|h} that contains both the parent
and child sides of the RemoteVideoDecoder{Child|Parent} classes.
- Create new remote audio decoder
Creates RemoteAudioDecoder.{cpp|h} that contains both the parent
and child sides of the RemoteAudioDecoder{Child|Parent} classes.
- Connect all the plumbing to use the new remote audio decoder to
decode Vorbis in RDD including a new pref to control whether
Vorbis is decoding in the AgnosticDecoderModule or the
RemoteDecoderModule/RDD (media.rdd-vorbis.enabled).
Depends on D18640
Differential Revision: https://phabricator.services.mozilla.com/D18641
--HG--
rename : dom/media/ipc/PRemoteVideoDecoder.ipdl => dom/media/ipc/PRemoteDecoder.ipdl
rename : dom/media/ipc/RemoteVideoDecoderChild.cpp => dom/media/ipc/RemoteDecoderChild.cpp
rename : dom/media/ipc/RemoteVideoDecoderChild.h => dom/media/ipc/RemoteDecoderChild.h
rename : dom/media/ipc/RemoteVideoDecoderParent.cpp => dom/media/ipc/RemoteDecoderParent.cpp
rename : dom/media/ipc/RemoteVideoDecoderParent.h => dom/media/ipc/RemoteDecoderParent.h
extra : moz-landing-system : lando