Reinstate customUserAgent interface for nsIDocShell. This is so it can be used
as a choke-point to catch setting values on docshells which are in the process
of changing process. We don't want to send changes which will be rejected on the
parent side.
This code should be removed once callers setting customUserAgent are refactored
to only occur from parent process.
Differential Revision: https://phabricator.services.mozilla.com/D75006
When you type in a textarea, and zoom to position the caret, then click, we'll
scroll all the way to the top of the textarea, via:
IMEStateManager::OnClickInEditor -> SetIMEState -> SetInputContext -> mEditable->NotifyIME(EditableListener::NOTIFY_IME_OPEN_VKB);
Even if the keyboard was already displayed. In this case, we're not moving
focus, and panning to the start causes more issues than it fixes. Prevent
zooming to the start of the input in this case, but still do it if we get the
resize event (and thus toggle the keyboard).
Differential Revision: https://phabricator.services.mozilla.com/D67222
--HG--
extra : moz-landing-system : lando
That data is not the right one anyway, since it comes from the previous page
rather than the current one.
Note: this is also broken on desktop too. It will be fixed once we move to main
process history (hopefully?).
Differential Revision: https://phabricator.services.mozilla.com/D67392
--HG--
extra : moz-landing-system : lando
The extension background page should be loaded when either an event needs
to be sent to it or after the browser has started up. When an extension
is updated the special startup event listeners do not appear to be built
yet and GeckoView was not sending browser started notification, which meant the
background page never being loaded.
Differential Revision: https://phabricator.services.mozilla.com/D66717
--HG--
extra : moz-landing-system : lando
We won't need these suspend states anymore which were used for media control and audio focus on Fennec.
Differential Revision: https://phabricator.services.mozilla.com/D65265
--HG--
extra : moz-landing-system : lando
History is kept locally on the content process (or main process for main
process pages), so when going from one process to the other we need to restore
history. This will eventually be superseded by moving all history to the main
process, but we don't know when that's going to happen so we need to add this
workaround here. Desktop has the same workaround in place and this patch is
based on that code.
There are two places where we need to restore history:
- App navigates to page directly using `loadURI` or similar: in this case we
need to pass down the load details to the content process alongside the
history information so that we can restore and immediatelly navigate to the
new page. This also avoids an extra history reloading that ordinarely happens
when restoring history.
- App calls `goBack`, `goForward`, etc: in this case we don't need to reload a
page but just restore the history and adjust the `historyIndex`. I'm not
entirely sure why we need to add `1` to the `historyIndex` but that's what
Desktop does and it seems to work correctly so I just did it.
This patch changes `updateRemoteTypeForURI` to `updateRemoteAndNavigate` which
more closely matches what that method is doing now, this is similar to what
happens on desktop.
This patch also adds a `window.moduleManager` that can be used in Actors to
access the current `moduleManager`. I expect this to go away when we fully
migrate all modules to actors.
Differential Revision: https://phabricator.services.mozilla.com/D62970
--HG--
extra : moz-landing-system : lando
This patch is doing two things.
1. Make GeckoView directly gets the ContentBlockingLog in the parent
process when it gets the bundle event 'ContentBlocking:RequestLog'. It
will get the top-level browsingContext and get the log from the
WindowGlobal of this browsingContext.
2. Remove the GeckoViewContentBlockingChild. The child module of
ContentBlocking is no longer needed since it serves nothing after we move
the functionality of getting log to the parent process.
Differential Revision: https://phabricator.services.mozilla.com/D57464
--HG--
extra : moz-landing-system : lando
Private browsing data kept getting cleared each time a new tab was created
since gecko thought there were no more private windows. Also, fixes a typo
in the case of "windowtype".
Differential Revision: https://phabricator.services.mozilla.com/D60330
--HG--
extra : moz-landing-system : lando
Private browsing data kept getting cleared each time a new tab was created
since gecko thought there were no more private windows. Also, fixes a typo
in the case of "windowtype".
Differential Revision: https://phabricator.services.mozilla.com/D60330
--HG--
extra : moz-landing-system : lando
This patch is doing two things.
1. Make GeckoView directly gets the ContentBlockingLog in the parent
process when it gets the bundle event 'ContentBlocking:RequestLog'. It
will get the top-level browsingContext and get the log from the
WindowGlobal of this browsingContext.
2. Remove the GeckoViewContentBlockingChild. The child module of
ContentBlocking is no longer needed since it serves nothing after we move
the functionality of getting log to the parent process.
Differential Revision: https://phabricator.services.mozilla.com/D57464
--HG--
extra : moz-landing-system : lando
`viewport-fit` is hint that browser application can use cutout area. So we should expose it to GeckoView application to set `layoutInDisplayCutoutMode`.
When meta element is found or changed, `ContentDelegate.onMetaviewportFitChange` is called. Even if nothing, it will be called after DOMContentLoaded is fired.
Depends on D57398
Differential Revision: https://phabricator.services.mozilla.com/D55610
--HG--
extra : moz-landing-system : lando
The GeckoView is listening OnContentBlockingEvent in the content process.
As we move the event into the parent process, we have to change it to
listen the event in the parent process.
This patch also adds a workaround in the test
ContentBlockingControllerTest#getLog(). This workaround adds a 500ms
delays before we check the ContentBlockingLog. This is needed because there
is a delay between the notification of OnContentBlockingEven in the parent
process and the actual recording of the log in the content process. This
workaround will be no longer needed once we move the log entirely to the
parent process (Bug 1599046).
Differential Revision: https://phabricator.services.mozilla.com/D56749
--HG--
extra : moz-landing-system : lando
Since bug 1514429 window.inner{Width,Height} don't return the visual viewport
size so once after the content scale changed, i.e. the visual viewport size
doesn't match window inner size, GeckoView::ScrollBy and ScrollTo don't work
as expected. This commit has JUnit tests to generate the situation by calling
nsIDOMWindowUtils.setResolutionAndScaleTo.
Differential Revision: https://phabricator.services.mozilla.com/D56321
--HG--
extra : moz-landing-system : lando
The GeckoView is listening OnContentBlockingEvent in the content process.
As we move the event into the parent process, we have to change it to
listen the event in the parent process.
This patch also adds a workaround in the test
ContentBlockingControllerTest#getLog(). This workaround adds a 500ms
delays before we check the ContentBlockingLog. This is needed because there
is a delay between the notification of OnContentBlockingEven in the parent
process and the actual recording of the log in the content process. This
workaround will be no longer needed once we move the log entirely to the
parent process (Bug 1599046).
Differential Revision: https://phabricator.services.mozilla.com/D56749
--HG--
extra : moz-landing-system : lando
also freeze the presshell when setActive(false) is called to stop requestAnimationFrames
Differential Revision: https://phabricator.services.mozilla.com/D55343
--HG--
extra : moz-landing-system : lando
Do not dispatch SELECT_ALL selection action if the input is empty or all the text is already selected.
Differential Revision: https://phabricator.services.mozilla.com/D53828
--HG--
extra : moz-landing-system : lando
Do not dispatch SELECT_ALL selection action if the input is empty or all the text is already selected.
Differential Revision: https://phabricator.services.mozilla.com/D53828
--HG--
extra : moz-landing-system : lando