Commit Graph

985 Commits

Author SHA1 Message Date
Matt Woodrow
6f5cac7650 Bug 1404181 - Part 9: Add code for detecting if display list building happened for a given frame, and use it to add some tests for retained display lists. r=mstange
MozReview-Commit-ID: AIb0AWU7iiS
2017-09-27 17:17:11 +13:00
Jeremy Chen
5225114a2c Bug 1403077 - add two test-only helper functions to access the stylo blocklist. r=heycam
In the current blocklist implementation, we read the stylo blocklist from the user
preferences very early and only once, even earlier than the test preferences
updating happens.

So, to be able to test the functionality of the stylo blocklist, we add these two
nsIDOMWindowUtils APIs to be able to add/remove a mock domain to the existing
blocklist.

MozReview-Commit-ID: K48ejLBcNbn
2017-10-09 12:07:04 +08:00
Sebastian Hengst
7d14f8623a merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EE6DcCgHufi
2017-10-09 11:19:20 +02:00
Nicholas Nethercote
a35e82f193 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Kyle Machulis
e579fad77f Bug 1403819 - Remove nsIDOMHTMLCanvasElement; r=bz
Removes the XPCOM interface for nsIDOMHTMLCanvasElement, replacing it
with binding class usage.

MozReview-Commit-ID: DQJhqGlY8U6
2017-10-06 10:49:26 -07:00
Nicholas Nethercote
9fda5528d2 Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ
2017-09-26 08:33:21 +10:00
Nicholas Nethercote
2b2601e107 Bug 1402743 - Remove nsIDOMWindowUtils::getCursorType(). r=bkelly.
It has no users in mozilla-central or comm-central. This also lets us remove
nsBaseWidget::GetCursor().
2017-09-25 11:46:07 +10:00
Olli Pettay
8cae9c47d0 Bug 1377131 - Try to trigger collector slices at times which disturb page js less (at least with iframes loaded after the top level page has been loaded), r=mccr8,bz
When triggering an iframe load or starting to parse a document for an iframe, the main thread may often have some time before the new page has been created. Try to trigger CC/GC slice at such point in order to avoid collector later when page is already executing its JS
2017-09-06 18:18:11 +01:00
Stone Shih
c3615a35b6 Bug 1389314 Part2: Support enabling and disabling the input priority events in runtime. r=smaug.
MozReview-Commit-ID: 3a2TNVqguVb
2017-07-28 15:14:54 +08:00
Chris Pearce
436ddb49d0 Bug 1389980 - Remove MP4Decoder::IsVideoAccelerated() as it is unused. r=mattwoodrow
MozReview-Commit-ID: Eg0ggufsqDt
2017-08-15 10:15:43 +12:00
Cameron McCormack
17745e5775 Bug 1388113 - Hold on to pseudo-element atoms longer. r=bholley
MozReview-Commit-ID: 98eW8VwVFPT
2017-08-17 14:37:32 -04:00
Milan Sreckovic
5e848ab767 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in dom/*. r=overholt
MozReview-Commit-ID: B9YWmM3C1oX
2017-08-14 08:30:10 -04:00
Stone Shih
cef54f76bd Bug 1351148 Part3: Synthesize native input events with priority. f=kats,smaug. r=smaug.
The test helper_touch_action_regions.html uses nsDOMWindowUtils to synthesize native input events and creates some runnables to trigger the test. It expects the runnables which synthesize native input events are processed first, then the runnables to continue the test, and finally the input events are forwarded from chrome process to content process. Enabling event prioritization may change the execution order.
Wraps those runnables to synthesize native input events as priority=input and dispatches those runnables to continue the test with priority=input to make sure the execution order is as expected.

MozReview-Commit-ID: 8hkaB1FRW9T
2017-05-19 15:41:24 +08:00
Wes Kocher
399a13fd39 Merge inbound to central, a=merge
MozReview-Commit-ID: GArkKmOFIVH
2017-08-11 13:15:33 -07:00
Masatoshi Kimura
5ef5e830e1 Bug 865664 - Remove deprecated nsIDOMWindowUtils.getOuterWindowWithId. r=bz
MozReview-Commit-ID: By0a88Gu4p4
2017-08-07 00:31:02 +09:00
Stone Shih
af7e3376a6 Backed out changeset 07b66fb75c71 (bug 1351148) 2017-08-11 15:19:37 +08:00
Stone Shih
84ebdbfab9 Bug 1351148 Part3: Synthesize native input events with priority. f=kats,smaug. r=smaug.
The test helper_touch_action_regions.html uses nsDOMWindowUtils to synthesize native input events and creates some runnables to trigger the test. It expects the runnables which synthesize native input events are processed first, then the runnables to continue the test, and finally the input events are forwarded from chrome process to content process. Enabling event prioritization may change the execution order.
Wraps those runnables to synthesize native input events as priority=input and dispatches those runnables to continue the test with priority=input to make sure the execution order is as expected.

MozReview-Commit-ID: 8hkaB1FRW9T
2017-05-19 15:41:24 +08:00
Kris Maglione
c2e5ed1444 Bug 1383367: Part 1 - Add JS helper to determine if a layout flush is required. r=mconley
This lets us decide whether to defer operations if they might trigger a
reflow.

MozReview-Commit-ID: 4M13HKAuZ7M
2017-07-24 20:07:39 -07:00
Sebastian Hengst
116dba0400 Backed out changeset 46d1fa12a082 (bug 1383367) for failing browser_windowopen_reflows.js after merge, especially on OS X. r=backout a=backout
MozReview-Commit-ID: B4wxvVgTP1Q
2017-07-30 14:08:38 +02:00
Kris Maglione
520ae989c5 Bug 1383367: Part 1 - Add JS helper to determine if a layout flush is required. r=mconley
This lets us decide whether to defer operations if they might trigger a
reflow.

MozReview-Commit-ID: 4M13HKAuZ7M
2017-07-24 20:07:39 -07:00
Carsten "Tomcat" Book
e8397cd735 Backed out changeset 1662b38e3107 (bug 1351148) 2017-07-28 09:20:23 +02:00
Chun-Min Chang
8d815f5575 Bug 1197045 - part2: Expose audio channels, layout, sample-rate, and native device information via DOMWindowUtils; r=padenot
MozReview-Commit-ID: 9Kh2w0MioUQ
2017-07-18 16:09:10 +08:00
Brad Werth
62b0e3b88d Bug 1374881 - Implement nsDOMWindowUtils::GetUnanimatedComputedStyle for servo. r=birtles,heycam
MozReview-Commit-ID: 7tXAAbvWvU8
2017-07-24 17:02:19 -05:00
Sebastian Hengst
fc6a665268 Backed out changeset cf756c62b0a6 (bug 1197045) 2017-07-24 13:23:48 +02:00
Chun-Min Chang
47635e643a Bug 1197045 - part2: Expose audio channels, layout, sample-rate, and native device information via DOMWindowUtils; r=padenot
MozReview-Commit-ID: 9Kh2w0MioUQ
2017-07-18 16:09:10 +08:00
Matt Woodrow
8370362323 Bug 1388162 - Add a Destroy function to nsDisplayItem to use instead of manually invoking the destructor, this will allow us to recycle them in the future. r=mstange
* * *
[mq]: fix

MozReview-Commit-ID: LUXZAIL73BJ
2017-08-07 16:07:43 +12:00
Sebastian Hengst
1e52933103 Backed out changeset e9985564e081 (bug 1388162) for failing chrome's test_animation_performance_warning.html | preserve-3d transform. r=backout 2017-08-10 14:40:20 +02:00
Matt Woodrow
b0bdae09c7 Bug 1388162 - Add a Destroy function to nsDisplayItem to use instead of manually invoking the destructor, this will allow us to recycle them in the future. r=mstange 2017-08-07 16:07:43 +12:00
Emilio Cobos Álvarez
4b6d7fc287 Bug 1381844: Be more explicit about the kind of style context we handle all the time. r=bholley
MozReview-Commit-ID: E0mdkhU3XBz
2017-07-22 18:02:57 +02:00
Wes Kocher
5b00ab80b8 Merge m-c to autoland, a=merge CLOSED TREE
MozReview-Commit-ID: 9pPsy8McMun
2017-07-21 18:18:35 -07:00
Mike Conley
8ded4bed2b Bug 1363361 - Add ability to dirty root frame from nsIDOMWindowUtils. r=dholbert
MozReview-Commit-ID: Jy6PICTkq4l
2017-06-28 21:38:53 -07:00
Stone Shih
4f5ae8bbd7 Bug 1351148 Part3: Synthesize native input events with priority. f=kats,smaug. r=smaug.
The test helper_touch_action_regions.html uses nsDOMWindowUtils to synthesize native input events and creates some runnables to trigger the test. It expects the runnables which synthesize native input events are processed first, then the runnables to continue the test, and finally the input events are forwarded from chrome process to content process. Enabling event prioritization may change the execution order.
Wraps those runnables to synthesize native input events as priority=input and dispatches those runnables to continue the test with priority=input to make sure the execution order is as expected.

MozReview-Commit-ID: 8hkaB1FRW9T
2017-05-19 15:41:24 +08:00
Sebastian Hengst
248ceb6b91 Backed out changeset b2f02ad2c82b (bug 1363361) for frequently failing browser_appmenu_reflows.js on OS X. r=backout a=backout
MozReview-Commit-ID: 5wPiUAKmDhi
2017-07-20 13:23:53 +02:00
Mike Conley
a6c153f01b Bug 1363361 - Add ability to dirty root frame from nsIDOMWindowUtils. r=dholbert
MozReview-Commit-ID: Jy6PICTkq4l
2017-06-28 21:38:53 -07:00
Wes Kocher
8af379020a Backed out 3 changesets (bug 1197045) for failures in browser_Troubleshoot.js a=backout CLOSED TREE
Backed out changeset 78b66a4c6b7c (bug 1197045)
Backed out changeset feea60a002a7 (bug 1197045)
Backed out changeset 57842092a282 (bug 1197045)

MozReview-Commit-ID: J0KZDSSw4XQ
2017-07-18 22:54:15 -07:00
Chun-Min Chang
0a993dbadf Bug 1197045 - part2: Expose audio channels, layout, sample-rate, and native device information via DOMWindowUtils; r=padenot
MozReview-Commit-ID: 9Kh2w0MioUQ
2017-07-18 16:09:10 +08:00
Sebastian Hengst
f19c44d03f Backed out changeset 5c974dcdddd7 (bug 1363361) for running and failing browser_windowopen_reflows.js on Windows 8 x64. r=backout 2017-07-18 13:44:44 +02:00
Mike Conley
caa3b85cc9 Bug 1363361 - Add ability to dirty root frame from nsIDOMWindowUtils. r=dholbert
MozReview-Commit-ID: Jy6PICTkq4l
2017-06-28 21:38:53 -07:00
David Anderson
839c7cbab4 Disable Advanced Layers when the sanity test fails. (bug 1377866 part 3, r=mchang) 2017-07-10 19:30:52 -07:00
Boris Zbarsky
7988d1ba67 Bug 1371259 part 3. Change UnwrapObject<> and the UNWRAP_OBJECT macro to allow passing in mutable object or value handles for the thing being unwrapped, and do so at various callsites. r=peterv
I did audit all UNWRAP_OBJECT callers to make sure that the lifetimes of all the
temporary Rooted or the RefPtrs they unwrap into are long enough.
2017-07-10 16:05:24 -04:00
Beekill95
d6972c29f0 Bug 1331932 - Suppress window animations while we're restoring window dimension. r=mikedeboer,jimm,mstange 2017-06-22 14:27:05 +07:00
Andrew McCreight
7c01f523e8 Bug 1018394 - Remove unused functionality to do extra forget skippable calls before a CC. r=smaug
We never actually use this, and it causes assertions with fuzzing, so
just delete it.

MozReview-Commit-ID: 595M09mD0K2
2017-07-03 12:53:54 -07:00
Carsten "Tomcat" Book
dff92b2a3c merge mozilla-inbound to mozilla-central a=merge 2017-06-29 15:47:04 +02:00
Kartikaya Gupta
d84efe729e Bug 1375497 - Hook up the testing APIs in DOMWindowUtils. r=pchang
DOMWindowUtils needs to handle both ClientLayerManager and WebRenderLayerManager
in order for these APIs to work with webrender. There's unfortunately a fair
amount of code duplication here but even using a common interface and polymorphism
there's a fair amount of boilerplate so I'm not sure that's any better.

MozReview-Commit-ID: Efggm9mBVNy
2017-06-27 20:29:06 -04:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Jan Keromnes
989e4f21e6 Bug 1376628 - Don't use 'else' after 'break' or 'return' in dom/base/ (clang-tidy: readability-else-after-return). r=ehsan 2017-06-27 17:23:00 -04:00
Carsten "Tomcat" Book
911b7bbf48 merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
David Anderson
be1ec99ec3 Add Advanced Layers to the compositor line in about:support. (bug 1365879 part 22, r=milan) 2017-06-23 14:23:13 -07:00
Kartikaya Gupta
d7ca5aaf91 Bug 1375897 - Report a success return from nsDOMWindowUtils::FlushApzRepaints in the WR-enabled codepath. r=botond
MozReview-Commit-ID: 5MaDaQjqu3p
2017-06-23 12:45:49 -04:00