Commit Graph

857 Commits

Author SHA1 Message Date
Simon Giesecke
d45525793f Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980
2020-02-12 17:24:41 +00:00
Gerald Squelart
a2b4601a7b Bug 1614013 - Fix RAII Profiler object scopes - r=gregtatum
In bug 1578329 I introduced two scoping mistakes:
- A marker was made to have a shorter duration.
- A label was scoped too short and so would most likely be missed during
  sampling.
This patch reverts to the original wider scope.

Differential Revision: https://phabricator.services.mozilla.com/D62274
2020-02-10 20:44:33 +00:00
Andrea Marchesini
1c7a47cd74 Bug 1611855 - Worklet must be part of the same parent's agentCluster - part 13 - No assertion in nsGlobalWindowInner::CrossOriginIsolated, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D61595
2020-02-06 13:53:42 +00:00
Narcis Beleuzu
f00579517d Backed out 13 changesets (bug 1611855) for wpt failures on /audioworklet-postmessage-sharedarraybuffer.https.html . CLOSED TREE
Backed out changeset 2b661d588f96 (bug 1611855)
Backed out changeset 16094fc92bc9 (bug 1611855)
Backed out changeset 3f89bbcaff92 (bug 1611855)
Backed out changeset a906501b6d92 (bug 1611855)
Backed out changeset 54738b88425d (bug 1611855)
Backed out changeset d27de910a6c0 (bug 1611855)
Backed out changeset 261902f6336d (bug 1611855)
Backed out changeset 380d83b61e62 (bug 1611855)
Backed out changeset 39aac60ebf5e (bug 1611855)
Backed out changeset 5ea099787376 (bug 1611855)
Backed out changeset d0f58871f838 (bug 1611855)
Backed out changeset e1be102310a9 (bug 1611855)
Backed out changeset 633357835540 (bug 1611855)
2020-02-06 12:31:36 +02:00
Andrea Marchesini
00083d35f1 Bug 1611855 - Worklet must be part of the same parent's agentCluster - part 13 - No assertion in nsGlobalWindowInner::CrossOriginIsolated, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D61595
2020-02-05 22:16:21 +00:00
Boris Zbarsky
078e0a31af Bug 1412856 part 1. Change ClientOpPromise to use a CopyableErrorResult for its rejection type. r=dom-workers-and-storage-reviewers,sg?
Differential Revision: https://phabricator.services.mozilla.com/D61196
2020-01-30 09:01:26 +00:00
Kousuke Takaki
0aadd29347 Bug 1602088 - Move nsIScrollableFrame::ScrollUnit to namespace scope. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D61140
2020-01-30 09:13:19 +00:00
Cosmin Sabou
6294b7eab1 Backed out changeset 69fded25adc2 (bug 1602088) for causing several box-shadow reftest failures.
CLOSED TREE
2020-01-30 13:23:10 +02:00
Kousuke Takaki
6c93165901 Bug 1602088 - Move nsIScrollableFrame::ScrollUnit to namespace scope. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D61140
2020-01-30 09:13:19 +00:00
Andrew McCreight
fd57f3665f Bug 1611767 - Add MaybeTabGroup methods. r=farre
The ghost window checker examines windows in all sorts of weird states,
apparently including when the docshell on the outer is null. Add some
fallible variants of the tab group methods on inner and outer windows
so it can call one of those instead.

Differential Revision: https://phabricator.services.mozilla.com/D61203
2020-01-29 09:09:46 +00:00
Jon Coppeard
3a36fae5d7 Bug 1609956 - Discourage atoms zone collection during page load r=sfink,smaug
This adds a JS API to set a performance hint which tells the engine whether a global is in pageload or not.  The engine keeps a count so it knows whether any global for that runtime is in pageload, and adjusts GC thresholds appropriately. Currently this strongly discourages atoms GC by doubleing the trigger threshold. This does not disallow it entirely, but with this change it should almost never happen.

This is meant to be a temporary fix. When the stencil project lands we will not have this annoying dependency between parsing and atoms zone GC and can remove this change.

Differential Revision: https://phabricator.services.mozilla.com/D60972
2020-01-28 13:06:40 +00:00
Emilio Cobos Álvarez
a4a384fffd Bug 1611711 - Remove kCursorKTable. r=jwatt
(And while at it, format the end of the other keyword tables so that
cleanup_ktables.py works).

It seems `Window.setCursor` is only used once in our code, maybe
we should remove it...

Differential Revision: https://phabricator.services.mozilla.com/D61090
2020-01-26 20:17:41 +00:00
longsonr
075b6ace27 Bug 984461 - Remove nsIDOMSVGLength from the Components shim. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D58352
2020-01-20 21:21:52 +00:00
Nazım Can Altınova
104b4cb9f9 Bug 1609674 - Add innerWindowID param to AUTO_PROFILER_TEXT_MARKER_CAUSE and use that macro for setTimeout callback marker. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D60270
2020-01-20 18:53:09 +00:00
Eugen Sawin
15250deb02 Bug 1609701 - [1.1] Ignore resuming of non-suspended windows. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D60274
2020-01-20 18:52:28 +00:00
pbz
9ca53ea171 Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55811
2020-01-16 14:38:40 +00:00
Olli Pettay
3e2dc6a047 Bug 1608867 - Consider to remove nsGlobalWindow* objects from id hashtable when unlinking and also clear weak references r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D59747
2020-01-14 16:38:58 +00:00
Nika Layzell
626cb3329b Bug 1607573 - Part 4: Drop the 'Outer' from GetFrameElementOuter, r=bzbarsky
No longer necessary since the nsGlobalWindow{Inner,Outer}-split.

Differential Revision: https://phabricator.services.mozilla.com/D59551
2020-01-10 19:39:31 +00:00
Nika Layzell
10760d19c0 Bug 1607573 - Part 3: Remove GetRealFrameElementOuter in favor of GetFrameElement, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D59550
2020-01-10 19:39:01 +00:00
Nika Layzell
6af2b9f1fd Bug 1607573 - Part 2: Remove nsPIDOMWindowInner::GetFrameElement, r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D59549
2020-01-10 19:32:49 +00:00
Boris Zbarsky
5989e28920 Bug 1601175. Make sure the mDoc of an inner window is set before we call SetScriptGlobalObject on the document. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D56218
2020-01-06 14:53:00 +00:00
Kearwood "Kip" Gilbert
d62653b2a7 Bug 1603825 - Suppress the VR permission UI when no VR runtimes are detected r=daoshengmu,bzbarsky
This patch suppresses VR device access permission prompts for users that do not have any VR runtimes installed.

We could not depend on the existing VR device enumeration functions to suppress the permission prompts, as the
act of enumerating VR devices will result in some hardware physically powering on and software starting up (and staying running)
in the background.

This patch includes logic to spawn the VR process with an additional flag indicating that it should attempt only to detect the
runtimes, without proceeding to enumerate and activate hardware and software.

VRManager now includes an enum to more clearly organize it's state machine model, which now must ensure that the runtime detection
happens on-demand when the VR session support capabilities are first determined.

There is a new pref to disable the suppression of permission prompts for use within permission UI tests on machines without VR runtimes.
Renamed some variables and added comments to make code in nsGlobalWindowInner and Navigator clearer and better represent the updated logic -- to allow the separate detection of VR runtimes and VR session activation. Both the runtime detection and VR
session activity uses VREventObserver to send events to nsGlobalWindowInner.

Differential Revision: https://phabricator.services.mozilla.com/D57568
2020-01-03 22:47:26 +00:00
Tetsuharu OHZEKI
ea4772831d Bug 1597433 - part 2: Rename nsGlobalWindowInner::CallOnChildren -> nsGlobalWindowInner::CallOnInProcessChildren. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D57750
2019-12-20 10:06:08 +00:00
Tetsuharu OHZEKI
eb7e2f3798 Bug 1597433 - part 1: Fix uses of nsIDocShellTreeItem in nsGlobalWindowInner::CallOnChildren. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D57749
2019-12-21 03:42:25 +00:00
Andreas Farre
f6a5621897 Bug 1561715 - Part 3: Remove SchedulerGroup::IsBackground. r=smaug
Depends on D56745

Differential Revision: https://phabricator.services.mozilla.com/D56879
2019-12-12 15:20:52 +00:00
Hiroyuki Ikezoe
a9ce691b53 Bug 1596317 - Split out CallState from nsGlobalWindowInner. r=smaug
We do want to use it for nsContentUtils::CallOnAllRemoteChildren and
SubDocEnumFunc since `boolean` is quite confusing whether we still need to
enumerate further children or not, actually
nsContentUtils::CallOnAllRemoteChildren stops in case of `true`, whereas
SubDocEnumFunc stops on `false`

Differential Revision: https://phabricator.services.mozilla.com/D57435
2019-12-19 07:58:09 +00:00
Bogdan Tara
e59c8c65fb Backed out 7 changesets (bug 1596317) for causing build bustages CLOSED TREE
Backed out changeset 0d3208fcb948 (bug 1596317)
Backed out changeset fe5554dc4115 (bug 1596317)
Backed out changeset 019de59cbc93 (bug 1596317)
Backed out changeset f4851472b087 (bug 1596317)
Backed out changeset a984cf515db8 (bug 1596317)
Backed out changeset d0da5bf9b4d4 (bug 1596317)
Backed out changeset abe5f2030dd9 (bug 1596317)
2019-12-19 06:49:39 +02:00
Hiroyuki Ikezoe
6a079d0664 Bug 1596317 - Split out CallState from nsGlobalWindowInner. r=smaug
We do want to use it for nsContentUtils::CallOnAllRemoteChildren and
SubDocEnumFunc since `boolean` is quite confusing whether we still need to
enumerate further children or not, actually
nsContentUtils::CallOnAllRemoteChildren stops in case of `true`, whereas
SubDocEnumFunc stops on `false`

Differential Revision: https://phabricator.services.mozilla.com/D57435
2019-12-19 03:36:17 +00:00
Oana Pop Rus
2fa2ebf69d Backed out 7 changesets (bug 1432856) for build bustages failures in nsWindow.h on a CLOSED TREE
Backed out changeset 3d08c3cce533 (bug 1432856)
Backed out changeset 49d03dd89b17 (bug 1432856)
Backed out changeset 62fc84c8ce99 (bug 1432856)
Backed out changeset a8a4fa63f5b2 (bug 1432856)
Backed out changeset c81f3d5b9bf3 (bug 1432856)
Backed out changeset 8351a8b1d96a (bug 1432856)
Backed out changeset a303b775a51b (bug 1432856)
2019-12-16 23:53:35 +02:00
pbz
29a2e0c4e4 Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55811
2019-12-16 21:06:11 +00:00
Randell Jesup
f2dea5f17a Bug 1596784: Support SetTimeout deferral during load under Fission r=smaug
Fission puts subdocuments (potentially) in separate processes, so we can't
just EnumerateSubDocuments and poke the TimeoutManagers for each one.

Differential Revision: https://phabricator.services.mozilla.com/D56547
2019-12-13 17:09:33 +00:00
Kris Maglione
41a5f0e588 Bug 1588220: Keep track of last active inner window when BrowsingContext is discarded. r=bzbarsky
Any number of outer windows may be attached to a BrowsingContext over its
lifetime. While the BrowsingContext is alive, it's easy to keep track of which
of these is active, and therefore which of its inner windows is active. After
it has been discarded, though, it discards its docShell reference, so all we
can tell about an inner window is whether it is active for its own outer
window, but not whether it should be considered active for its
BrowsingContext.

This patch updates the BrowsingContext detach logic to store a flag on the
current inner window recording that it was active when its BrowsingContext was
detached, and then later checks that flag to determine if it is the current
window for a detached BrowsingContext.

Differential Revision: https://phabricator.services.mozilla.com/D49032
2019-12-12 23:11:01 +00:00
Kearwood Kip Gilbert
021b366f7b Bug 1580567 - Implement XR device access permission UI r=fluent-reviewers,bzbarsky,pbz,daoshengmu,imanol
Added @rbarker as a reviewer to check if this will work well within GeckoView for FxR / Android.
Added @bzbarsky for test_interfaces.html.  -- I'd like to re-land the secure origin requirement for WebVR as part of this patch, as it doesn't help to have UI that can't guarantee the identity of the origin.  (This was backed out due to test failures originally, and since been fixed)

Differential Revision: https://phabricator.services.mozilla.com/D45951
2019-12-12 03:10:51 +00:00
Brindusan Cristian
e7431bbb62 Backed out 2 changesets (bug 1580567, bug 1599927) for mochitest failures at test_interfaces.html. CLOSED TREE
Backed out changeset 0e0d88942d33 (bug 1599927)
Backed out changeset 522c8d183bd5 (bug 1580567)
2019-12-11 05:31:08 +02:00
Kearwood Kip Gilbert
154b6a294c Bug 1580567 - Implement XR device access permission UI r=fluent-reviewers,bzbarsky,pbz,daoshengmu,imanol
Added @rbarker as a reviewer to check if this will work well within GeckoView for FxR / Android.
Added @bzbarsky for test_interfaces.html.  -- I'd like to re-land the secure origin requirement for WebVR as part of this patch, as it doesn't help to have UI that can't guarantee the identity of the origin.  (This was backed out due to test failures originally, and since been fixed)

Differential Revision: https://phabricator.services.mozilla.com/D45951
2019-12-11 01:38:17 +00:00
shindli
9d142fdc1b Backed out 2 changesets (bug 1580567, bug 1599927) for causing permafailures in dom/tests/mochitest/general/test_interfaces.html CLOSED TREE
Backed out changeset aeceec922866 (bug 1599927)
Backed out changeset 29809135f18e (bug 1580567)
2019-12-11 03:32:44 +02:00
Kearwood Kip Gilbert
dd45c5a705 Bug 1580567 - Implement XR device access permission UI r=fluent-reviewers,bzbarsky,pbz,daoshengmu,imanol
Added @rbarker as a reviewer to check if this will work well within GeckoView for FxR / Android.
Added @bzbarsky for test_interfaces.html.  -- I'd like to re-land the secure origin requirement for WebVR as part of this patch, as it doesn't help to have UI that can't guarantee the identity of the origin.  (This was backed out due to test failures originally, and since been fixed)

Differential Revision: https://phabricator.services.mozilla.com/D45951
2019-12-10 23:55:05 +00:00
Yaron Tausky
d902a7d422 Bug 1593246 - Part 1: Move SessionStorageManager to BrowsingContext r=dom-workers-and-storage-reviewers,sg,smaug
With Fission enabled we do not necessarily have access to the
nsDocShell that holds the top-level browsing context, so the
BrowsingContext is a better place to store information that needs
to be accessible to nested browsing contexts.

Differential Revision: https://phabricator.services.mozilla.com/D55276
2019-12-10 12:12:25 +00:00
Razvan Maries
3aec015044 Backed out 3 changesets (bug 1593246) for build bustages on BrowsingContext.h. CLOSED TREE
Backed out changeset fd389138a684 (bug 1593246)
Backed out changeset 2663311a1b62 (bug 1593246)
Backed out changeset d9f0d827e28d (bug 1593246)
2019-12-09 20:32:18 +02:00
Yaron Tausky
af3113e2f9 Bug 1593246 - Part 1: Move SessionStorageManager to BrowsingContext r=dom-workers-and-storage-reviewers,sg,smaug
With Fission enabled we do not necessarily have access to the
nsDocShell that holds the top-level browsing context, so the
BrowsingContext is a better place to store information that needs
to be accessible to nested browsing contexts.

Differential Revision: https://phabricator.services.mozilla.com/D55276
2019-12-09 13:04:51 +00:00
Gabriele Svelto
eb403b8785 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55442
2019-12-06 09:24:56 +00:00
Boris Zbarsky
2df1df0176 Bug 1517588. Use nsIPrincipal::IsSystemPrincipal instead of nsContentUtils::IsSystemPrincipal r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D53067
2019-12-05 04:44:32 +00:00
Razvan Maries
4734b4cc1d Backed out changeset 15f8fa34d2f4 (bug 1580567) for perma fails on browser_temporary_permissions_expiry.js and browser_privatebrowsing_rememberprompt.js. CLOSED TREE 2019-12-05 01:05:34 +02:00
Kearwood Kip Gilbert
b9aeb10c7e Bug 1580567 - Implement XR device access permission UI r=fluent-reviewers,bzbarsky,pbz,daoshengmu,imanol
Added @rbarker as a reviewer to check if this will work well within GeckoView for FxR / Android.
Added @bzbarsky for test_interfaces.html.  -- I'd like to re-land the secure origin requirement for WebVR as part of this patch, as it doesn't help to have UI that can't guarantee the identity of the origin.  (This was backed out due to test failures originally, and since been fixed)

Differential Revision: https://phabricator.services.mozilla.com/D45951
2019-12-04 21:10:56 +00:00
Dorel Luca
67889e1013 Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
dc6fa2e86c Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55442
2019-12-04 15:01:19 +00:00
Tom Ritter
8acb67af33 Bug 1592297 - Remove MOZ_QUIET and disable this output by default. r=mccr8,jdescottes
Instead of setting MOZ_QUIET to hide the DOMWINDOW and DOCSHELL log messages, you
now must set a regular logging module to enable them. They are automatically enabled
on tests that rely on these messages are leak checking.

That module is DocShellAndDOMWindowLeak:3

One disadvantage of this change is that you cannot set MOZ_QUIET to hide these
messages when running those tests (primarily browser-chrome).

Differential Revision: https://phabricator.services.mozilla.com/D52413
2019-12-02 15:41:35 +00:00
Olli Pettay
1870f57250 Bug 1598775 - Ensure postMessage related optimizations during page load work also in Fission, r=farre
Bug 1534012 added a test for postMessage during load and that revealed that mLoading flag isn't always updated
soon enough, so add BrowsingContext::IsLoading which checks also possible local loading status.

Depends on D54754

Differential Revision: https://phabricator.services.mozilla.com/D54836
2019-11-30 21:13:54 +00:00
Olli Pettay
c26c2348f4 Bug 1599467 - Make XHR and Fetch to use deprioritized loading while the top level page is loading in Fission, r=farre
The patch moves DeprioritizedLoadRunner handling from top level inner window to top level browsing context.

Differential Revision: https://phabricator.services.mozilla.com/D54754
2019-11-30 21:13:24 +00:00
alwu
f259160a0c Bug 1593843 - part5 : reset request status when insert a new document to the window in the top-level browsing context. r=farre
When we insert the new document to the window in the top-level browsing context, we should reset the status of the request which is used for the previous document.

Differential Revision: https://phabricator.services.mozilla.com/D52435
2019-11-25 11:00:13 +00:00