Граф коммитов

6715 Коммитов

Автор SHA1 Сообщение Дата
Doug Thayer bad3183238 Bug 1594577 - Record hangs which precede forced shutdowns r=froydnj
In short - if a user forcibly terminates the browser because it seems
to be permanently hung, we currently do not get a change to record the
hang. This is unfortunate, because these likely represent the most
egregious hangs in terms of user frustration. This patch seeks to
address that.

If a hang exceeds 8192ms (the current definition of a "permahang" in
existing BHR terms), then we decide to immediately persist it to disk,
in case we never get a chance to return to the main thread and
submit it. On the next start of the browser, we read the file from
disk on a background thread, and just submit it using the normal
mechanism.

Regarding the handling of the file itself, I tried to do the simplest
thing I could - as far as I can tell there is no standard simple
serialization mechanism available directly to C++ in Gecko, so I just
serialized it by hand. I didn't take any special care with endianness
or anything as I can't think of a situation in which we really care
at all about these files being transferable between architectures. I
directly used PR_Write / PR_Read instead of doing something fancy
like memory mapping the file, because I don't think performance is a
critical concern here and it offers a simple protection against
reading out of bounds.

Differential Revision: https://phabricator.services.mozilla.com/D52566

--HG--
extra : moz-landing-system : lando
2019-11-21 22:41:00 +00:00
Hiroyuki Ikezoe 9b165804d8 Bug 1586986 - Deliver 'fixed-bottom' offset to the top of the pres context on the foreground tab. r=geckoview-reviewers,tnikkel,snorp
The dynamic toolbar transition doesn't affect on background tabs since to
switch tabs the dynamic toolbar should be restored to its original state (i.e.,
completely visible state).

Differential Revision: https://phabricator.services.mozilla.com/D52336

--HG--
extra : moz-landing-system : lando
2019-11-21 21:15:46 +00:00
Narcis Beleuzu 46f83924c1 Backed out changeset c7b4e89f5ee6 (bug 1594577) for xpcshell failures on test_watchdog_hibernate.js . CLOSED TREE 2019-11-21 02:22:32 +02:00
Perry Jiang 25638418f9 Bug 1575092 - add "web COOP+COEP" process type helpers r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D50814

--HG--
extra : moz-landing-system : lando
2019-11-20 19:45:14 +00:00
Doug Thayer 87634aef93 Bug 1594577 - Record hangs which precede forced shutdowns r=froydnj
In short - if a user forcibly terminates the browser because it seems
to be permanently hung, we currently do not get a change to record the
hang. This is unfortunate, because these likely represent the most
egregious hangs in terms of user frustration. This patch seeks to
address that.

If a hang exceeds 8192ms (the current definition of a "permahang" in
existing BHR terms), then we decide to immediately persist it to disk,
in case we never get a chance to return to the main thread and
submit it. On the next start of the browser, we read the file from
disk on a background thread, and just submit it using the normal
mechanism.

Regarding the handling of the file itself, I tried to do the simplest
thing I could - as far as I can tell there is no standard simple
serialization mechanism available directly to C++ in Gecko, so I just
serialized it by hand. I didn't take any special care with endianness
or anything as I can't think of a situation in which we really care
at all about these files being transferable between architectures. I
directly used PR_Write / PR_Read instead of doing something fancy
like memory mapping the file, because I don't think performance is a
critical concern here and it offers a simple protection against
reading out of bounds.

Differential Revision: https://phabricator.services.mozilla.com/D52566

--HG--
extra : moz-landing-system : lando
2019-11-20 20:40:22 +00:00
Matt Woodrow a439f13b34 Bug 1597014 - Unify same-process and cross-process redirect to real channel functions to avoid needed separate promise handlers. r=mayhemer
These two functions both have a large number of arguments that are largely identical (and ones missing from the PContent one are mostly oversights).
Unifying both to take a single argument and return the same result means we can unify the serialization and return value (promise) handling.

Differential Revision: https://phabricator.services.mozilla.com/D53382

--HG--
extra : moz-landing-system : lando
2019-11-20 01:48:32 +00:00
Anny Gakhokidze 61a8c83e6c Bug 1592093 - Make cancellation of content JS, when navigating through history to prevent hangs, Fission compatible, r=smaug,squib
Differential Revision: https://phabricator.services.mozilla.com/D52249

--HG--
extra : moz-landing-system : lando
2019-11-18 21:25:14 +00:00
Botond Ballo 7932214c45 Bug 1589022 - Partial support for moving a tab between windows with different APZ enablement. r=nika,tnikkel
This involves two new IPC messages (both async) to propagate the change in
compositor options (of which APZ enablement is one) from the GPU process to
the parent process (via PCompositorBridge) and on to the content process
(via PBrowser).

The support is only partial, in that going from non-APZ to APZ is only
supported if APZ was enabled at the time the window was created.

Depends on D51467

Differential Revision: https://phabricator.services.mozilla.com/D51468

--HG--
extra : moz-landing-system : lando
2019-11-18 23:13:55 +00:00
Micah Tigley 72a0d2c330 Bug 1593708 - Part 2: Get inRDMPane value from BrowsingContext instead of Document. r=smaug
Depends on D52214

Differential Revision: https://phabricator.services.mozilla.com/D52216

--HG--
extra : moz-landing-system : lando
2019-11-14 20:32:02 +00:00
Ehsan Akhgari 659d5a38ee Bug 1596843 - Part 4: Remove some native only methods from nsIPermissionManager; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53240

--HG--
extra : moz-landing-system : lando
2019-11-17 22:22:34 +00:00
Noemi Erli 117375bafe Backed out 4 changesets (bug 1596843) for causing nsPermissionManager related failures
Backed out changeset 48577632f4b3 (bug 1596843)
Backed out changeset b9061f93d045 (bug 1596843)
Backed out changeset 691397c2fde6 (bug 1596843)
Backed out changeset 88e8383dc3e4 (bug 1596843)
2019-11-17 23:00:23 +02:00
Ehsan Akhgari ce669bf3af Bug 1596843 - Part 4: Remove some native only methods from nsIPermissionManager; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53240

--HG--
extra : moz-landing-system : lando
2019-11-17 20:06:11 +00:00
Gurzau Raul a6a14f9410 Backed out 2 changesets (bug 1575092) for causing Bug 1596556 and Bug 1596556.
Backed out changeset 8dc03b744500 (bug 1575092)
Backed out changeset e28e46ca4a17 (bug 1575092)
2019-11-17 13:58:56 +02:00
Gurzau Raul 9c990aad98 Backed out 4 changesets (bug 1596843) for XPCShellTestsTests build bustage ona CLOSED TREE.
Backed out changeset 69ee727d5b45 (bug 1596843)
Backed out changeset a9827fae8655 (bug 1596843)
Backed out changeset 8b2220bc47af (bug 1596843)
Backed out changeset b10aec041377 (bug 1596843)
2019-11-17 11:07:15 +02:00
Ehsan Akhgari 0ad4207862 Bug 1596843 - Part 4: Remove some native only methods from nsIPermissionManager; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53240

--HG--
extra : moz-landing-system : lando
2019-11-17 07:23:39 +00:00
Gijs Kruitbosch d88c8f4e26 Bug 1596090 - avoid sending plugin content to every content process whenever a content process is created, r=handyman
Depends on D52845

Differential Revision: https://phabricator.services.mozilla.com/D52846

--HG--
extra : moz-landing-system : lando
2019-11-16 00:21:49 +00:00
Brindusan Cristian a401c2e994 Backed out 2 changesets (bug 1594577) for build bustages at HangDetails.cpp. CLOSED TREE
Backed out changeset f7dae5e23628 (bug 1594577)
Backed out changeset bd42216f7b63 (bug 1594577)
2019-11-16 00:43:29 +02:00
Doug Thayer 6ca8fd27f5 Bug 1594577 - Record hangs which precede forced shutdowns r=froydnj
In short - if a user forcibly terminates the browser because it seems
to be permanently hung, we currently do not get a change to record the
hang. This is unfortunate, because these likely represent the most
egregious hangs in terms of user frustration. This patch seeks to
address that.

If a hang exceeds 8192ms (the current definition of a "permahang" in
existing BHR terms), then we decide to immediately persist it to disk,
in case we never get a chance to return to the main thread and
submit it. On the next start of the browser, we read the file from
disk on a background thread, and just submit it using the normal
mechanism.

Regarding the handling of the file itself, I tried to do the simplest
thing I could - as far as I can tell there is no standard simple
serialization mechanism available directly to C++ in Gecko, so I just
serialized it by hand. I didn't take any special care with endianness
or anything as I can't think of a situation in which we really care
at all about these files being transferable between architectures. I
directly used PR_Write / PR_Read instead of doing something fancy
like memory mapping the file, because I don't think performance is a
critical concern here and it offers a simple protection against
reading out of bounds.

Differential Revision: https://phabricator.services.mozilla.com/D52566

--HG--
extra : moz-landing-system : lando
2019-11-14 21:35:42 +00:00
Jonathan Kew 89f321af1e Bug 1487212 - When hyphenation resources are compressed in omnijar, load them into shared memory and share among all content processes. r=heycam,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52835

--HG--
extra : moz-landing-system : lando
2019-11-14 20:05:58 +00:00
Perry Jiang cee88a4060 Bug 1575092 - don't spawn Shared/Service Workers in "web COOP+COEP" processes r=asuth
Preventing RemoteWorkerService from existing in "web COOP+COEP" content
processes prevents Shared/ServiceWorkers from being spawned in them because there
won't be an associated RemoteWorkerServiceParent that registers with the parent
process RemoteWorkerManager.

Differential Revision: https://phabricator.services.mozilla.com/D50815

--HG--
extra : moz-landing-system : lando
2019-11-12 15:46:05 +00:00
Perry Jiang e0adb2d2a9 Bug 1575092 - add "web COOP+COEP" process type helpers r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D50814

--HG--
extra : moz-landing-system : lando
2019-11-14 16:08:36 +00:00
Hiroyuki Ikezoe f5f6f60da5 Bug 1586144 - Factor dynamic toolbar max height into layout metrics. r=emilio,botond
Now
* nsPresContext::mVisibleArea is excluding the toolbar max height so that
  ICB is now static regardless of the dynamic toolbar transition
* nsPresContext::mSizeForViewportUnits is introduced to resolve viewport units
  which is including the toolbar max height

That means that with the dynamic toolbar max height;

  mVisibleArea < mSizeForViewportUnits

See https://github.com/bokand/URLBarSizing for more detail backgrounds of this
change.

Depends on D50417

Differential Revision: https://phabricator.services.mozilla.com/D50418

--HG--
extra : moz-landing-system : lando
2019-11-14 06:00:05 +00:00
Hiroyuki Ikezoe 2a51338a5a Bug 1586144 - Introduce an API to set the dynamic toolbar maximum height in GeckoView. r=geckoview-reviewers,tnikkel,snorp
And deliver the value to the top content pres context, but it's not used in
this commit. The value will be used in the next commit.

One caveat is that areas covered by the dynamic toolbar will be outside
of the content area, which means implementers of GeckoView needs to call
setVerticalClipping with _negative_ values.

Depends on D50416

Differential Revision: https://phabricator.services.mozilla.com/D50417

--HG--
extra : moz-landing-system : lando
2019-11-14 05:59:47 +00:00
Sid Vishnoi bd713fe4ee Bug 1594306 - Rename nsGeo* files to match the WebIDL interfaces r=marcosc
Rename nsGeolocation to Geolocation.
Split nsGeoPostion to GeolocationPosition and GeolocationCoordinates.
Fix some include guards and comments referencing outdated interfaces.

Differential Revision: https://phabricator.services.mozilla.com/D52515

--HG--
rename : dom/geolocation/nsGeolocation.cpp => dom/geolocation/Geolocation.cpp
rename : dom/geolocation/nsGeolocation.h => dom/geolocation/Geolocation.h
rename : dom/geolocation/nsGeoPosition.cpp => dom/geolocation/GeolocationPosition.cpp
rename : dom/geolocation/nsGeoPosition.h => dom/geolocation/GeolocationPosition.h
extra : moz-landing-system : lando
2019-11-14 04:18:04 +00:00
Gijs Kruitbosch b5a7317ab9 Bug 1595831 - use StaticPrefs for dom.ipc prefs for ContentParent and the hang monitor code, r=kmag
This additionally turns on dom.ipc.processHangMonitor on non-m-c consumers of gecko, as well as turning off dom.ipc.reportProcessHangs on debug geckoview.

Differential Revision: https://phabricator.services.mozilla.com/D52699

--HG--
extra : moz-landing-system : lando
2019-11-12 21:30:11 +00:00
Andrew McCreight d7c4ea6425 Bug 1585114 - Don't return shutdown pending processes from ContentParent::GetNewOrUsedBrowserProcess. r=mattwoodrow
ContentParent::GetNewOrUsedBrowserProcess can end up returning a
content parent that is in the middle of shutting down if the
nsIContentProcessProvider implementation threw an error because we'd
fall back to MinTabSelect(), which didn't exclude content parents that
were being shutdown. This patch fixes that.

The reason that the existing implementations of
nsIContentProcessProviders fail is that the array that is passed to
them can contain null entries which the code does not expect. I'll fix
that in a separate bug.

Differential Revision: https://phabricator.services.mozilla.com/D52774

--HG--
extra : moz-landing-system : lando
2019-11-13 01:16:10 +00:00
Andreas Farre e18b00ac85 Bug 1590782 - Switch process when InternalLoad finds oop BrowsingContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D50945

--HG--
extra : moz-landing-system : lando
2019-11-12 21:52:18 +00:00
Matt Woodrow fea5e94ae8 Bug 1589270 - Part 3: Convert nsExternalHelperApp to use BrowsingContext instead of nsIInterfaceRequestor. r=bzbarsky
This also converts MaybeCloseWindowHelper, and results in the window close operations being always run in the parent (even without DocumentChannel).

Differential Revision: https://phabricator.services.mozilla.com/D49528

--HG--
extra : moz-landing-system : lando
2019-11-08 04:35:05 +00:00
Bogdan Tara 80377e90ee Backed out 6 changesets (bug 1552176) for causing Hazard bustages CLOSED TREE
Backed out changeset c79b90bae420 (bug 1552176)
Backed out changeset 4b970cc771ca (bug 1552176)
Backed out changeset de7aa0eaf4c8 (bug 1552176)
Backed out changeset c8e692a40cd3 (bug 1552176)
Backed out changeset 68882d1eccac (bug 1552176)
Backed out changeset 692e5e51e19e (bug 1552176)
2019-11-11 12:11:36 +02:00
Valentin Gosu 4fe6130ec3 Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363

--HG--
extra : moz-landing-system : lando
2019-11-10 17:11:41 +00:00
Gijs Kruitbosch 76124b05a3 Bug 1593725 - cache gfx information so we don't re-read prefs and re-search blocklists for each content process, r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D51644

--HG--
extra : moz-landing-system : lando
2019-11-09 02:21:18 +00:00
Haik Aftandilian 5c7403d2a1 Bug 1589809 - [macOS] Use OS_ACTIVITY_MODE=disable for child processes r=spohl
Set the environment variable OS_ACTIVITY_MODE=disable on sandboxed Mac child processes.

Differential Revision: https://phabricator.services.mozilla.com/D49972

--HG--
extra : moz-landing-system : lando
2019-11-09 00:27:48 +00:00
alwu 28a59c21ab Bug 1592461 - part2 : use 'MediaActionHandler' to handle 'MediaControlActions'. r=bzbarsky
Instead of letting the outer window to process `MediaControlActions`, it would be better to handle those actions all in `MediaActionHandler`.

Differential Revision: https://phabricator.services.mozilla.com/D51029

--HG--
extra : moz-landing-system : lando
2019-10-31 21:22:33 +00:00
Bogdan Tara 8f38f4a3fb Backed out 6 changesets (bug 1552176) for bustages complaining about ServiceWorkerManager.cpp CLOSED TREE
Backed out changeset bff9110e434e (bug 1552176)
Backed out changeset ac8f8a6dbd98 (bug 1552176)
Backed out changeset 8dd630e7534a (bug 1552176)
Backed out changeset 7ce9e220cdb9 (bug 1552176)
Backed out changeset ee9911acfcd4 (bug 1552176)
Backed out changeset 652b3bd6848d (bug 1552176)
2019-11-08 22:18:05 +02:00
Valentin Gosu adfeaf25f5 Bug 1552176 - Add nsIRequest.set/getTRRMode r=dragana
* Makes it possible to selectively enable TRR for pbmode/container/window/etc

Differential Revision: https://phabricator.services.mozilla.com/D48363

--HG--
extra : moz-landing-system : lando
2019-11-08 17:13:05 +00:00
Masayuki Nakano 0f9b3a05da Bug 1594215 - Make `PuppetWidget::GetEditCommands()` check `mBrowserChild` before using it r=smaug
The reason of the crash is, the window may have already been destroyed and
`PuppetWidget::mBrowserChild` was set to `nullptr` when synthesizing key event.

This patch makes `PuppetWidget::GetEditCommands()` check whether it's `nullptr`
and returns whether it's succeeded or not.  Therefore, `TextInputProcessor`
can throw exception in such case.

Differential Revision: https://phabricator.services.mozilla.com/D52308

--HG--
extra : moz-landing-system : lando
2019-11-08 11:32:51 +00:00
Gijs Kruitbosch e5ac0416bc Bug 1593487 - tighten up registerWindowActor's handling of nonsensical actor specifications and remove cruft, r=nika,mconley
Differential Revision: https://phabricator.services.mozilla.com/D52002

--HG--
extra : moz-landing-system : lando
2019-11-08 11:59:37 +00:00
joshua stein 0fce47207d Bug 1580271: enhance sandbox on OpenBSD with unveil() r=gcp
ExpandUnveilPath() takes care of expanding potentially
environment-specific XDG_DATA/CONFIG/CACHE_HOME dirs.

The unveil config files lists the allowed paths & modes.

'disable' in the files will disable the corresponding pledge/unveil
syscall.

Differential Revision: https://phabricator.services.mozilla.com/D51387

--HG--
extra : moz-landing-system : lando
2019-11-08 07:31:09 +00:00
joshua stein c931d974d2 Bug 1580268: Sandbox GPU process on OpenBSD with pledge() r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D51386

--HG--
extra : moz-landing-system : lando
2019-11-07 09:56:07 +00:00
joshua stein d2fd2a4478 Bug 1584839 - Move OpenBSD pledge promises to files r=gcp
this way, preferences cant be modified by an extension, and they're
locked down in root-owned files.

Pledge promises files consist of a promise by line, are read first from
/etc/MOZ_APP_NAME/pledge.${processtype} (allowing overriding by a local
root if needed), and if not found
/usr/local/lib/MOZ_APP_NAME/browser/defaults/preferences is used, which
is where the OpenBSD packaging system will install the defaults.

Differential Revision: https://phabricator.services.mozilla.com/D51385

--HG--
extra : moz-landing-system : lando
2019-11-07 09:52:18 +00:00
Jim Porter d30a0e636c Bug 1592470 - Don't cancel content JS when "navigating" to javascript: URLs; r=smaug
Prior to this patch, users entering javascript: URLs in the location bar
(e.g. via a bookmark) would trigger the cancel content JS path for the page
they were on, potentially breaking the site. Since javascript: URLs
(generally) don't navigate to a new page, we should avoid canceling the
current page's JS.

Differential Revision: https://phabricator.services.mozilla.com/D51951

--HG--
extra : moz-landing-system : lando
2019-11-08 02:43:00 +00:00
Matt Woodrow 8abd316194 Bug 1593560 - Support non-http channels in SendCrossProcessRedirect. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D51550

--HG--
extra : moz-landing-system : lando
2019-11-06 22:37:07 +00:00
James Teh 4a0ed4f097 Bug 1581040: handle late creation/re-creation of OuterDocAccessible for OOP iframe. r=yzen,nika
1. When creating a DocAccessibleParent for an embedded document in an OOP iframe, it's possible that the embedder accessible hasn't been set yet.
    This can occur if the iframe is initially hidden.
    Previously, we incorrectly set the document up as a top level document (e.g. tab document) in this case.
    Now, we set up the document as top level in its content process, set up the proxy, etc.
    The document will be added to its child document later when the embedder is set.

2. When setting the embedder accessible for an OOP iframe, check if the embedded DocAccessibleParent already exists.
    This can happen if an iframe is hidden and then shown or an iframe is reflowed by layout.
    If it already exists, add the embedded (child) document to its embedder.

3. Mac's implementation of ProxyCreated requires that AddChildDoc be called *before* ProxyCreated so it can invalidate the native children of the parent.
    Because it's possible for an OOP iframe document to be added to its embedder after the document is created, we can't satisfy this requirement for OOP iframe documents.
    Therefore, we now allow a null parent in Mac's ProxyCreated and use the reorder event fired later to invalidate the native children.

Differential Revision: https://phabricator.services.mozilla.com/D51357

--HG--
extra : moz-landing-system : lando
2019-11-07 00:38:59 +00:00
Andrew McCreight ec082e7046 Bug 1580212, part 2 - Make dom.ipc.keepProcessesAlive.webIsolated work for Fission content processes. r=kmag
Also, enable it for the extensions test directory. Without this pref,
it gets frequent intermittent leaks and shutdown hangs when Fission is
enabled.

Differential Revision: https://phabricator.services.mozilla.com/D51752

--HG--
extra : moz-landing-system : lando
2019-11-06 23:14:27 +00:00
Andrew McCreight b5dbc2b2e5 Bug 1580212, part 1 - Drop the equal sign from FISSION_WEB_REMOTE_TYPE_PREFIX and add it to ContentParent.h. r=kmag
Right now, this constant has an equal sign in it. I want to use it in
C++ without the equal sign in the next patch. So, for consistency,
move the equal sign to the places that use this constant. Also, add
the constant to C++.

Differential Revision: https://phabricator.services.mozilla.com/D51751

--HG--
extra : moz-landing-system : lando
2019-11-06 23:14:00 +00:00
Coroiu Cristina cbdbc8bc4b Backed out 7 changesets (bug 1593560) for crashtest failures at tests/layout/base/crashtests/446328.html on a CLOSED TREE
Backed out changeset 7dfae085a4cb (bug 1593560)
Backed out changeset 9842c80c98d8 (bug 1593560)
Backed out changeset d67a10437af7 (bug 1593560)
Backed out changeset 3e3948e9531c (bug 1593560)
Backed out changeset a7d04e276b44 (bug 1593560)
Backed out changeset 9f52c9f6dc54 (bug 1593560)
Backed out changeset 90572c49d464 (bug 1593560)
2019-11-07 00:32:53 +02:00
Anny Gakhokidze 0ba78d3380 Bug 1592829 - Remove hasContentOpener logic from C++ and check for content opener directly from JavaScript, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D51318

--HG--
extra : moz-landing-system : lando
2019-11-06 20:14:32 +00:00
Daniel Varga 8d89d86da9 Backed out 2 changesets (bug 1592829) for gecko build failure. On a CLOSED TREE
Backed out changeset 73013c2281fb (bug 1592829)
Backed out changeset 3257e8902653 (bug 1592829)
2019-11-06 22:09:41 +02:00
Anny Gakhokidze 1f167c323c Bug 1592829 - Remove hasContentOpener logic from C++ and check for content opener directly from JavaScript, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D51318

--HG--
extra : moz-landing-system : lando
2019-11-05 22:25:56 +00:00
Matt Woodrow 4d86f16bd1 Bug 1593560 - Support non-http channels in SendCrossProcessRedirect. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D51550

--HG--
extra : moz-landing-system : lando
2019-11-06 18:22:47 +00:00