This brings our implementation closer to the verbage in the spec, which
changed user gesture start to last activation timestamp.
This also adds comments to various parts of WindowContext which interact
with mLastActivationTimestamp nee mUserGestureStart, pointing to the
various parts of the spec which describe this functionality, making it
easier to follow (and giving us SpecMonkey references).
Differential Revision: https://phabricator.services.mozilla.com/D245758
This diff was generated as follows:
List all toml files in the tree:
`find * -name '*.toml' > /tmp/toml`
Manually edited /tmp/toml to drop non-relevant entries (objdir).
Ran the toml linter for all files:
`cat /tmp/toml | xargs ./mach lint -l test-manifest-toml --fix`
Differential Revision: https://phabricator.services.mozilla.com/D240948
This involved moving the logic into ProcessIsolation.cpp, closer to the rest of
the process selection logic. The existing method is preserved, to be used as a
convenience for callers.
As the new logic is closer to the rest of the process selection logic, this
also simplifies the remote type parsing logic to perform direct string compares
against the remoteType's site-origin. If origin keying of processes is added in
the future, this will likely need to be updated to handle that case.
Differential Revision: https://phabricator.services.mozilla.com/D241879
Remove IsHttpsOnlyModeEnabled and IsHttpsFirstModeEnabled, and replace them with
GetUpgradeMode. With that, we are way more explicit about which mode is being
used right now, and have a clearer distinction between HTTPS-First and
schemeless HTTPS-First. We also eliminate the need to call
`loadInfo->GetOriginAttributes().IsPrivateBrowsing()` all the time.
Differential Revision: https://phabricator.services.mozilla.com/D233419
This will make it possible to add some utilitary javascript files
without cluttering the main directory toolkit/content.
This also moves the CSS file to a location that ships to Android.
Differential Revision: https://phabricator.services.mozilla.com/D243363
Remove IsHttpsOnlyModeEnabled and IsHttpsFirstModeEnabled, and replace them with
GetUpgradeMode. With that, we are way more explicit about which mode is being
used right now, and have a clearer distinction between HTTPS-First and
schemeless HTTPS-First. We also eliminate the need to call
`loadInfo->GetOriginAttributes().IsPrivateBrowsing()` all the time.
Differential Revision: https://phabricator.services.mozilla.com/D233419
This involved moving the logic into ProcessIsolation.cpp, closer to the rest of
the process selection logic. The existing method is preserved, to be used as a
convenience for callers.
As the new logic is closer to the rest of the process selection logic, this
also simplifies the remote type parsing logic to perform direct string compares
against the remoteType's site-origin. If origin keying of processes is added in
the future, this will likely need to be updated to handle that case.
Differential Revision: https://phabricator.services.mozilla.com/D241879
In D240984, an attempt was made to re-enable `about:config` on Android
because it was removed by mistake. That was done by reverting some
changes from D232785.
The intent was to keep `about:config` hidden in `about:about` on Android
but allow it to work unconditionally because GeckoView has a runtime
setting to control the presence/absence of this special page. I thought
not updating `components.conf` was precisely about that but that didn't
work in the end...
It is now clear to me that we should keep `'config'` in `components.conf`
and use a flag to hide the page in `about:about`. That's because this
config file is used at build time, therefore we always want `about:config`
available on Android, and it's up to the embedder to enable/disable it
with the runtime setting (that controls the `general.aboutConfig.enable`
pref under the hood).
Differential Revision: https://phabricator.services.mozilla.com/D242270
This includes:
* #fire-a-traverse-navigate-event
* #fire-a-push/replace/reload-navigate-event
* #fire-a-download-request-navigate-event
which are all implemented in terms of #inner-navigate-event-firing-algorithm.
Actually calling any of the above is only added for History.pushState and
History.replaceState using #fire-a-push/replace/reload-navigate-event.
Differential Revision: https://phabricator.services.mozilla.com/D238786
This includes:
* #fire-a-traverse-navigate-event
* #fire-a-push/replace/reload-navigate-event
* #fire-a-download-request-navigate-event
which are all implemented in terms of #inner-navigate-event-firing-algorithm.
Actually calling any of the above is only added for History.pushState and
History.replaceState using #fire-a-push/replace/reload-navigate-event.
Differential Revision: https://phabricator.services.mozilla.com/D238786
This includes:
* #fire-a-traverse-navigate-event
* #fire-a-push/replace/reload-navigate-event
* #fire-a-download-request-navigate-event
which are all implemented in terms of #inner-navigate-event-firing-algorithm.
Actually calling any of the above is only added for History.pushState and
History.replaceState using #fire-a-push/replace/reload-navigate-event.
Differential Revision: https://phabricator.services.mozilla.com/D238786
GeckoView has a runtime setting (controlled pref) to determine if we
should enable `about:config` or not. This patch reverts a change in
D232785 that caused this controlled pref to no longer be very useful
because the config resource was omitted at build time instead.
Differential Revision: https://phabricator.services.mozilla.com/D240984
This includes:
* #fire-a-traverse-navigate-event
* #fire-a-push/replace/reload-navigate-event
* #fire-a-download-request-navigate-event
which are all implemented in terms of #inner-navigate-event-firing-algorithm.
Actually calling any of the above is only added for History.pushState and
History.replaceState using #fire-a-push/replace/reload-navigate-event.
Differential Revision: https://phabricator.services.mozilla.com/D238786
This includes:
* #fire-a-traverse-navigate-event
* #fire-a-push/replace/reload-navigate-event
* #fire-a-download-request-navigate-event
which are all implemented in terms of #inner-navigate-event-firing-algorithm.
Actually calling any of the above is only added for History.pushState and
History.replaceState using #fire-a-push/replace/reload-navigate-event.
Differential Revision: https://phabricator.services.mozilla.com/D238786
This reverts commit 0687551d6244133d438df6acb6a39111e7ec3de9.
See the next commit that allows these tests to work with the unpartitioned BroadcastChannel and without the opener heuristic.
Differential Revision: https://phabricator.services.mozilla.com/D240661