Commit Graph

66 Commits

Author SHA1 Message Date
Boris Zbarsky
bfe05cf811 Bug 1062418 part 2. Clean up the bits that got moved from nsWindowSH. r=mystor
MozReview-Commit-ID: HGy6CHx4sCP
2018-03-21 23:18:51 -04:00
Boris Zbarsky
bb32f68fba Bug 1442360 part 1. Change InstallTrigger to not use the JavaScript-global-property category. r=kmag
test_bug609794.html was testing a behavior that the method before the current
method of attaching InstallTrigger to windows depended on.  We don't really
need that behavior, which is good, because this change is not producing it.

MozReview-Commit-ID: GPzif89UYYl
2018-03-21 23:18:51 -04:00
Peter Van der Beken
a01d8c7c3b Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz. 2017-06-14 16:44:17 +02:00
Ben Kelly
573a9d0b89 Bug 1438211 P2 Implement nsGlobalWindowInner::GetOrCreateServiceWorkerRegistration(). r=asuth 2018-03-02 13:02:49 -08:00
Tom Ritter
6bfe6231aa Bug 1443252 - Make nsGlobalWindowInner/Outer final to reduce build times. r=mystor
In Bug 1332680 we got a list of classes and methods we could mark 'final',
as suggested by an LTO build of gcc. One of the items on that list was
nsGlobalWindowInner and nsGlobalWindowOuter, with quite a lot of virtual
calls:

> dom/base/nsGlobalWindowInner.h:206:7: warning: Declaring type 'struct nsGlobalWindowInner' final would enable devirtualization of 483 calls
> dom/base/nsGlobalWindowOuter.h:164:7: warning: Declaring type 'struct nsGlobalWindowOuter' final would enable devirtualization of 143 calls

After trying it out, we saw a modest improvement to a single Talos tes
(displaylist mutate got 4-8.5% better). That's not the interesting
thing though.

For Linux and OSX (and some flavors of Android) build times were reduced
by half across the board. They're a bit variable of course, but 30-70%
improvements are shown by Talos. Windows and other flavors of Android
show 10-15% improvements.

MozReview-Commit-ID: GlEGBt2JOTt
2018-03-02 09:30:03 -06:00
Tooru Fujisawa
57bd88fa59 Bug 1442218 - Defer MicroTask checkpoint to the outside of loop in nsGlobalWindowInner::CallDocumentFlushedResolvers and nsGlobalWindowInner::CancelDocumentFlushedResolvers, and add observer if Promise callbacks adds document flushed resolvers. r=bz 2018-03-03 20:37:59 +09:00
Boris Zbarsky
0f44b8ebbc Back out rev b89286a88588 (bug 1442344) for hitting the MOZ_CRASH on Android opt builds.
MozReview-Commit-ID: F7zCmO5zDUq
2018-03-02 12:27:48 -05:00
Boris Zbarsky
b1cf485217 Bug 1442344. Make it clearer that nsGlobalWindowInner::WrapObject is never called. r=qdot
MozReview-Commit-ID: Hq2xA1UetQu
2018-03-01 14:24:20 -05:00
Sebastian Hengst
cb6f80e7dd merge mozilla-central to autoland 2018-03-01 12:27:56 +02:00
Sebastian Hengst
500c4f7ad2 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)
2018-03-01 11:51:09 +02:00
Jonathan Kingston
a58ab2befc Bug 1359076: Disable all Device Sensor APIs except orientation by default r=bkelly
This patch disables device sensors except orientation by default.
It implements per-sensor prefs to disable orientation, motion, proximity and ambient light
selectively. The patch also makes the pref checks happen at runtime (versus on process
start) using Preferences::AddBoolVarCache.
The patch also removes the related Event constructors also.

MozReview-Commit-ID: EA8ARjjtlkF
2017-07-24 10:07:00 +02:00
Peter Van der Beken
2d21a2c039 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz. 2017-06-14 16:44:17 +02:00
Mike Conley
da3f1e9386 Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN
2018-02-11 20:14:49 -05:00
Andreea Pavel
f77494f37a Backed out 3 changesets (bug 1434376)for failing browser chrome at browser/base/content/test/performance/browser_urlbar_search_reflows.js on a CLOSED TREE
Backed out changeset b636251b75ab (bug 1434376)
Backed out changeset fccbba9cb959 (bug 1434376)
Backed out changeset b5128504011c (bug 1434376)
2018-02-25 12:44:28 +02:00
Mike Conley
6e072d9d0f Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN
2018-02-11 20:14:49 -05:00
Cosmin Sabou
b577c1c6c0 Backed out 3 changesets (bug 1434376) for build bustages on SystemTimeConverter.h(177)
Backed out changeset 2ed5aefc5bc2 (bug 1434376)
Backed out changeset 1b474fb6d798 (bug 1434376)
Backed out changeset 4e6a21e50be0 (bug 1434376)
2018-02-23 23:17:42 +02:00
Mike Conley
2002a64ddf Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN
2018-02-11 20:14:49 -05:00
Andrea Marchesini
c3783bdcce Bug 1439686 - Console API should print logs on stdout when used by chrome code and if browser.dom.window.dump.enabled is true, r=bgrins 2018-02-22 08:49:51 +01:00
Ben Kelly
da4d83130d Bug 1438541 P2 Make nsIGlobalObject::GetOrCreateServiceWorker() use the DOMEventTargetHelper list stored on the global. r=smaug 2018-02-21 10:53:52 -08:00
Ben Kelly
be724518d3 Bug 1438541 P1 Track DOMEventTargetHelper objects in the nsIGlobalObject base class and always call DisconnectFromOwner() on them. r=smaug 2018-02-21 10:53:22 -08:00
Jonathan Kingston
5efafe0118 Bug 1429732 - Use a pref to disable registerProtocolHandler in insecure contexts. r=baku,dao
MozReview-Commit-ID: 9NxFv57CyZO
2018-02-04 12:10:10 +00:00
Adrian Wielgosik
506b6d8a4b Bug 1437177 - Remove nsIDOMModalContentWindow. r=bz
The implementation was removed in bug 1374460.

MozReview-Commit-ID: 7RNmYHScVCA
2018-02-09 21:51:33 +01:00
Jonathan Kingston
b12757515a Bug 1354175 - Disable AppCache in insecure contexts. r=baku,bkelly,mayhemer
MozReview-Commit-ID: wYWHkGlV8h
2018-01-12 19:09:30 +00:00
Ben Kelly
5948b3aefc Bug 1434342 P5 Support caching the ServiceWorker DOM instance on the global. r=asuth 2018-01-31 09:10:26 -08:00
Kyle Machulis
0a53e994dd Bug 1432271 - Remove dom/time; r=baku
dom/time contained the TimeService and TimeManager classes, used for
setting time via Gecko on FirefoxOS. Since FirefoxOS is no longer in
the code base, the directory can be removed.

MozReview-Commit-ID: 8PEk3e6HA67
2018-01-29 13:54:42 -08:00
Noemi Erli
62cc21febf Backed out 2 changesets (bug 1432271) for bustage in /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/dom/Navigator.h:79:23 on a CLOSED TREE
Backed out changeset 7af7827525c8 (bug 1432271)
Backed out changeset 79b9d49e08db (bug 1432271)
2018-01-27 02:49:25 +02:00
Kyle Machulis
c46ce15107 Bug 1432271 - Remove dom/time; r=baku
dom/time contained the TimeService and TimeManager classes, used for
setting time via Gecko on FirefoxOS. Since FirefoxOS is no longer in
the code base, the directory can be removed.

MozReview-Commit-ID: 8PEk3e6HA67
2018-01-22 12:50:11 -08:00
Boris Zbarsky
dc317ba4de Bug 1431898. Simplify the UpdateCommands setup on windows. r=mystor
MozReview-Commit-ID: 3TqFifdyLTr
2018-01-22 12:59:15 -05:00
Boris Zbarsky
fd28401723 Bug 1431846 part 2. Rename nsPIDOMWindowInner::GetNavigator() to Navigator(), since it never returns null. r=mystor
Also have it return a dom::Navigator.

MozReview-Commit-ID: 5thGopGWIk9
2018-01-22 12:59:15 -05:00
Nika Layzell
e5cd184550 Bug 1383876 - Part 1: Remove GroupedSHistory and Prerendering logic from C++ code, r=freesamael, r=smaug
MozReview-Commit-ID: 2aHA6NcQPGk
2018-01-12 17:52:52 -05:00
Ben Kelly
978f2f7e45 Bug 1429486 Expose GetClientInfo() and GetController() on nsIGlobalObject. r=asuth 2018-01-11 20:46:08 -05:00
Cameron McCormack
6f67ab6348 Bug 1427512 - Part 29: Remove nsIDOMCSSDeclaration. r=xidorn,jryans,bz
This removes the .style attribute from nsIDOMSVGElement, but there
shouldn't be any users of that.

MozReview-Commit-ID: LOBSFo85Utn
2018-01-11 16:17:57 +08:00
Andrea Marchesini
dde1b27e95 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 3 - DOM Caches enabled, r=asuth 2018-01-08 14:05:03 +01:00
Andrea Marchesini
98b02a0bb8 Bug 1425463 - Expose Console API to JSM, r=smaug 2017-12-20 14:35:34 +01:00
Ben Kelly
f3253e898f Bug 1425316 P4 Note that a ClientSource has called register() for a SW scope and use it to match window console reports. r=asuth 2017-12-19 10:04:48 -05:00
Ben Kelly
51179207eb Bug 1425316 P3 Make nsGlobalWindowInner::ShouldReportForServiceWorkerScope() handle checks for controlled windows. r=asuth 2017-12-19 10:04:48 -05:00
Ben Kelly
753d5ad674 Bug 1425316 P2 Improve nsGlobalWindowInner::CallOnChildren() to take variable arguments and allow iteration to be aborted. r=asuth 2017-12-19 10:04:48 -05:00
Ben Kelly
f01ec2b5b5 Bug 1425316 P1 Expose a chrome-only Window.shouldReportForServiceWorkerScope() method that initially forwards to ServiceWorkerManager. r=asuth 2017-12-19 10:04:47 -05:00
Andreea Pavel
f83f963a34 Merge inbound to mozilla-central r=merge a=merge 2017-12-09 22:21:17 +02:00
Ben Kelly
6e1a3f429c Bug 1424338 P3 Add ClientManager::Navigate() method. r=baku 2017-12-08 14:46:42 -05:00
Gurzau Raul
08cab4f288 Merge mozilla-central to autoland. r=merge a=merge CLOSED TREE 2017-12-09 00:56:50 +02:00
Clément David
b607bf10f3 Bug 1419495 - Remove SelfSupport service r=dexter r=smaug 2017-12-02 21:52:30 +01:00
Andrew McCreight
4d6f3c65a3 Bug 1409115 - Fix leaks by adding promise window proxy. r=bkelly
The service worker job queue can get stuck sometimes, so we don't want
the per-process service worker data structure to hold strong
references to content. Instead, I add a proxy that is only a weak
reference. The wrinkle is that we need to keep the promise alive as
long as the job and the window are otherwise alive. I solve this by
putting a cycle collected reference to the promise on the window
itself.

MozReview-Commit-ID: GbmCY4ZIQWk
2017-12-06 16:48:18 -08:00
Ben Kelly
1928345b3c Bug 1423412 P1 Actually mark window/worker ClientSource objects controlled when loaded with a controlling service worker. r=baku r=jld 2017-12-05 20:45:22 -05:00
Cosmin Sabou
369f0175e7 Backed out 23 changesets (bug 1419771) for frequently failing service workers related devtools tests, e.g. devtools/client/aboutdebugging/test/browser_service_workers_push.js. r=backout on a CLOSED TREE
Backed out changeset 2242edc902a5 (bug 1419771)
Backed out changeset 9cc3c29a9e36 (bug 1419771)
Backed out changeset c39ee002c825 (bug 1419771)
Backed out changeset caf7428013f2 (bug 1419771)
Backed out changeset c03970363433 (bug 1419771)
Backed out changeset 7f9de012861e (bug 1419771)
Backed out changeset ed146ac42a7f (bug 1419771)
Backed out changeset a8154698f782 (bug 1419771)
Backed out changeset 8a54c1c8d45d (bug 1419771)
Backed out changeset e32cd55b4c96 (bug 1419771)
Backed out changeset b7f342f436ef (bug 1419771)
Backed out changeset 60464b3e468f (bug 1419771)
Backed out changeset 108806f14ad8 (bug 1419771)
Backed out changeset 65998b0740f3 (bug 1419771)
Backed out changeset 0d23880842d8 (bug 1419771)
Backed out changeset 862aeaa2fefd (bug 1419771)
Backed out changeset cbc192478bf5 (bug 1419771)
Backed out changeset c58ef2a91bad (bug 1419771)
Backed out changeset 2b0a4bfd654f (bug 1419771)
Backed out changeset f182eba574f9 (bug 1419771)
Backed out changeset d9999a624097 (bug 1419771)
Backed out changeset 4050a1b8db2b (bug 1419771)
Backed out changeset a1a68e6500d9 (bug 1419771)
2017-11-30 22:35:32 +02:00
Andrea Marchesini
9f66c67567 Bug 1419771 - Introduce DOMPreferences, a thread-safe access to preferences for DOM - part 3 - DOM Caches enabled, r=asuth 2017-11-30 18:16:44 +01:00
Kate McKinley
1bef155067 Bug 1410364 - Don't consider opener when calculating IsSecureContext. r=bz, r=dveditz
Per https://github.com/w3c/webappsec-secure-contexts/issues/42, the
section considering the window opener when calculating secure context is
to be dropped. Firefox already uses "isSecureContextIfOpenerIgnored" in
most places as this is the actual behavior we want. This patch aligns
with the upcoming spec changes by ignoring the window opener. We also no
longer have to keep information about whether our opener was secure as
that no longer factors in our calculations.
2017-11-29 10:40:00 -05:00
Andreas Farre
b327ddccf4 Bug 1415770 - Simplify handling of IdleRequest list. r=smaug, r=baku 2017-11-28 14:23:46 -05:00
Nika Layzell
20ee9a4927 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Nika Layzell
59206ea5e2 Bug 1419597 - Part 14: Clean up some out of date documentation, r=smaug
MozReview-Commit-ID: Jk6BDE3PzF
2017-11-23 13:12:06 -05:00