Commit Graph

1300 Commits

Author SHA1 Message Date
Makoto Kato
66dc08631c Bug 1149300 - zoomToFocusedInput should make focused content visible. r=kats
ZoomToFocusedInput currently does not properly handle the
case where the input element is inside a nested scrollable subframe,
as it only asks APZ to pan/zoom the root content document, and
the root content document might not be zoomable or scrollable to
make the input element visible. To handle this case properly we need
to ask the main thread to scroll the element into view first.

Differential Revision: https://phabricator.services.mozilla.com/D20983
2019-04-01 15:46:24 +09:00
Masayuki Nakano
e56c690088 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25338
2019-03-29 15:12:47 +00:00
Masayuki Nakano
5b1ecc8b12 Bug 1540015 - part 1: Make Document.h stop including nsIPresShell.h r=smaug
If `Document::GetShell()` returns `PresShell*` rather than `nsIPresShell`, it's
a good step to deCOMTaminate `PresShell`.

This patch makes `Document.h` stop including `nsIPresShell.h` since
`nsIPresShell.h` includes `Document.h` indirectly and that causes bustage
when we make `Document::GetShell()` return `PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25332
2019-03-29 15:11:04 +00:00
Dorel Luca
6cd4166b18 Backed out 3 changesets (bug 1540015) for build bustage. CLOSED TREE
Backed out changeset 7b71c9da0214 (bug 1540015)
Backed out changeset 5723ddbc5c44 (bug 1540015)
Backed out changeset 9561d2c36fa5 (bug 1540015)
2019-03-29 16:14:26 +02:00
Masayuki Nakano
12ec0ad7f4 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25338
2019-03-29 13:09:26 +00:00
Masayuki Nakano
12b497174b Bug 1540015 - part 1: Make Document.h stop including nsIPresShell.h r=smaug
If `Document::GetShell()` returns `PresShell*` rather than `nsIPresShell`, it's
a good step to deCOMTaminate `PresShell`.

This patch makes `Document.h` stop including `nsIPresShell.h` since
`nsIPresShell.h` includes `Document.h` indirectly and that causes bustage
when we make `Document::GetShell()` return `PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25332
2019-03-29 12:12:20 +00:00
Boris Zbarsky
da3e3bf472 Bug 1533874. Make nsIDOMWindowUtils builtinclass. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D25282
2019-03-28 19:36:50 +00:00
Oana Pop Rus
6f77633292 Merge inbound to mozilla-central. a=merge 2019-03-28 12:11:35 +02:00
Alex Gaynor
05a5fc6732 Bug 1539521 - replace MaybeTransform IPDL union with native Maybe syntax; r=kats
Differential Revision: https://phabricator.services.mozilla.com/D25079
2019-03-27 17:56:31 +00:00
Botond Ballo
99f3269349 Bug 1538511 - Get rid of nsIPresShell::ScrollMode (use mozilla::ScrollMode instead). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D24797
2019-03-26 00:51:57 +00:00
Bas Schouten
4c4b9ee3e7 Bug 1536174 - Part 2: Add nsDOMWindowUtils API for enabling window recording. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D23914
2019-03-18 19:23:14 +01:00
Masayuki Nakano
7f6befb2f1 Bug 1536353 - part 3: Make nsIDOMWindowUtils.dispatchDOMEventViaPresShell() dispatch only trusted event r=smaug
In normal cases, `PresShell::EventHandler` won't receive untrusted event.
However, only `nsIDOMWindowUtils.dispatchDOMEventViaPresShell()` may send
untrusted event if its `aTrusted` is false.  Currently, this is not used by
chrome so that we don't need to keep supporting it for dispatching untrusted
events.

This patch removes `aTrusted` argument from it.

Differential Revision: https://phabricator.services.mozilla.com/D24870
2019-03-26 10:10:22 +00:00
Botond Ballo
a28a305622 Bug 1531535 - Expose the ability to do a visual smooth scroll in nsIDOMWindowUtils. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D24555
2019-03-23 20:23:54 +00:00
Botond Ballo
a76969f2b8 Bug 1531535 - Add visual smooth scroll support to nsIPresShell. r=kats
This patch renames nsIPresShell::SetPendingVisualScrollUpdate() to
ScrollToVisual(), and adds an instant vs. smooth option.

SetPendingVisualScrollUpdate() still exists, as a helper for the instant case.

Differential Revision: https://phabricator.services.mozilla.com/D24553
2019-03-23 20:23:35 +00:00
Alex Chronopoulos
52616cc2a0 Bug 1534313 - Remove direct calls to GetDeviceCollection method. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22988
2019-03-19 10:40:12 +00:00
Boris Chiou
5cc1382f40 Bug 1425837 - Part 8: Test that individual transforms run on the compositor thread. r=hiro,birtles
This also adds the missing preference in test_transition_per_property.html.

Depends on D22567

Differential Revision: https://phabricator.services.mozilla.com/D22568
2019-03-18 18:05:04 +00:00
shindli
826d0ad966 Backed out 4 changesets (bug 1534313) for causing a perfmafailing Gtest in /builds/worker/workspace/build/application/firefox/gmp-clearkey CLOSED TREE
Backed out changeset fe17244230e8 (bug 1534313)
Backed out changeset fc232edfe6e8 (bug 1534313)
Backed out changeset eae4a9ff0b9b (bug 1534313)
Backed out changeset f4252f238b68 (bug 1534313)
2019-03-18 18:53:33 +02:00
Alex Chronopoulos
1c714222dc Bug 1534313 - Remove direct calls to GetDeviceCollection method. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22988
2019-03-14 16:31:48 +00:00
Timothy Nikkel
c5934e160a Bug 1535862. Don't use a property after changing it in nsDOMWindowUtils::SetDisplayPortForElement. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D23801
2019-03-16 22:14:35 +00:00
Emilio Cobos Álvarez
cf0e6ff153 Bug 1533963 - Use a single RestyleHint representation. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D22828
2019-03-14 11:47:50 +00:00
Ryan Hunt
ad7b7dbb30 Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106
2019-02-25 16:05:29 -06:00
Boris Chiou
5d1b93e052 Bug 1529422 - Part 1: Add all transform-like properties into ActiveLayerTracker. r=hiro,mattwoodrow
Let ActiveLayerTracker track individual transforms. (Will add
motion-path in the future.)

Besides, using a property set for transform and opacity is more efficient,
so let's change it. For background position, we use a different code path,
so we can have more restrictions in IsStyleAnimated.

Differential Revision: https://phabricator.services.mozilla.com/D19631
2019-02-23 00:21:45 +00:00
Ting-Yu Lin
aedfc303f7 Bug 1526097 - Remove nsIFrame::eBlockFrame flag. r=dholbert
Only nsBlockFrame and its subclasses recognize the nsIFrame::eBlockFrame
flag, so we can replace the usage of the flag with either
nsIFrame::IsBlockFrameOrSubclass() or a do_QueryFrame().

Differential Revision: https://phabricator.services.mozilla.com/D20542
2019-02-20 21:18:14 +00:00
Emilio Cobos Álvarez
e9ff37af55 Bug 1525955 - Include anon boxes in CSSPseudoElementType, to remove ComputedStyle::mPseudoTag. r=heycam
This is more consistent with what the Rust bits of the style system do, and
removes a pointer from ComputedStyle which is always nice.

This also aligns the Rust bits with the C++ bits re. not treating xul pseudos as
anonymous boxes. See the comment in nsTreeStyleCache.cpp regarding those.

Can't wait for XUL trees to die.

Depends on D19001

Differential Revision: https://phabricator.services.mozilla.com/D19002
2019-02-19 13:44:33 +00:00
Hiroyuki Ikezoe
764f973a80 Bug 1522724 - Add scroll update type for nsIDOMWindowUtils.scrollToVisual(). r=botond
Depends on D17582

Differential Revision: https://phabricator.services.mozilla.com/D17583
2019-01-28 21:48:43 +00:00
Peter Van der Beken
a3fa6a450e Bug 1521848 - Replace nsTArrayToJSArray with ToJSValue. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D17263
2019-01-22 18:36:07 +00:00
Jon Coppeard
4caf6854b1 Bug 1512749 - Convert JS::gcreason::Reason to enum class JS:GCReason r=jonco r=mccr8 2019-01-21 13:09:12 +00:00
Cosmin Sabou
57bb107987 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Greg Tatum
7ced9eb1ec Bug 1520526 - Add categories to all profiler markers; r=mstange
This commit adds categories to all markers. This way the profiler's
marker categories and frame label categories agree. There are a few
duplicate category properties on some of the marker payloads, but
this could be cleaned up in a follow-up if needed.

Differential Revision: https://phabricator.services.mozilla.com/D16864
2019-01-18 15:40:15 +00:00
Botond Ballo
de57a984b6 Bug 1509575 - Extend the internal visual scroll API to allow specifying "restore" vs. regular priority. r=kats
The distinction is not exposed at the JS level which currently always uses
"restore", but it could be if necessary.

Differential Revision: https://phabricator.services.mozilla.com/D16346
2019-01-15 01:30:43 +00:00
Jan Henning
f209a15f98 Bug 1498812 - Part 1: Add helper method for directly retrieving the visual viewport's position. r=botond
Mainly required for testing.

Differential Revision: https://phabricator.services.mozilla.com/D15683
2019-01-11 19:49:39 +00:00
Masayuki Nakano
f2a04fe873 Bug 181137 - part 7: Get rid of nsIContentIterator interface r=smaug
Now, nobody requires nsIContentIterator interface.  So, we can get rid of it.

Unfortunately, there is no macro to keep the inherited class,
ContentSubtreeIterator, in the cycle collection to make it keep managing
ContentSubtreeIterator::mRange without nsISupports interface.  Therefore, this
patch moves it into ContentIteratorBase temporarily.  Anyway, the following
patch makes those classes not refcountable.  At that time, this issue will be
fixed.

Differential Revision: https://phabricator.services.mozilla.com/D15927
2019-01-11 01:51:42 +00:00
Botond Ballo
42b865718e Bug 1507279 - Expose the visual scrolling mechanism to internal JS users. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D16142
2019-01-10 20:59:21 +00:00
Csoregi Natalia
ec11d4a214 Backed out 8 changesets (bug 181137) for bustage on FragmentOrElement.cpp:1751. CLOSED TREE
Backed out changeset 99a977d519a0 (bug 181137)
Backed out changeset 65a4b245e851 (bug 181137)
Backed out changeset 5385d5fd9b8b (bug 181137)
Backed out changeset 83bec02c21d9 (bug 181137)
Backed out changeset b7ab59bf545e (bug 181137)
Backed out changeset b6fc7a332db7 (bug 181137)
Backed out changeset 654fdbad67db (bug 181137)
Backed out changeset 90a1ff49b6b1 (bug 181137)
2019-01-10 11:42:27 +02:00
Masayuki Nakano
58163408b9 Bug 181137 - part 7: Get rid of nsIContentIterator interface r=smaug
Now, nobody requires nsIContentIterator interface.  So, we can get rid of it.

Unfortunately, there is no macro to keep the inherited class,
ContentSubtreeIterator, in the cycle collection to make it keep managing
ContentSubtreeIterator::mRange without nsISupports interface.  Therefore, this
patch moves it into ContentIteratorBase temporarily.  Anyway, the following
patch makes those classes not refcountable.  At that time, this issue will be
fixed.

Differential Revision: https://phabricator.services.mozilla.com/D15927
2019-01-10 08:47:54 +00:00
Ehsan Akhgari
498e2df734 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset
2019-01-18 10:16:18 +01:00
alwu
73a47e2ed1 Bug 1513039 - part1 : remove caching temporary autoplay permission. r=smaug,florian
We're going to remove all autoplay temporary permission related codes, so we don't need to cache it anymore.

Differential Revision: https://phabricator.services.mozilla.com/D14325
2019-01-07 18:29:10 +00:00
Emilio Cobos Álvarez
dc336a73ba Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Emilio Cobos Álvarez
e461afa617 Bug 1516853 - Merge nsIDocument and nsDocument. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D15498
2018-12-31 14:10:19 +00:00
Cosmin Sabou
8611221cab Merge mozilla-inbound to mozilla-central. a=merge 2018-12-30 11:31:03 +02:00
Hiroyuki Ikezoe
e3b1d30335 Bug 1516368 - Unite ChangeOrigin::eRestore and eOther as ChangeOrigin::eMainThread. r=botond
Depends on D15340

Differential Revision: https://phabricator.services.mozilla.com/D15341
2018-12-30 02:45:47 +00:00
Hiroyuki Ikezoe
356d17d57d Bug 1516368 - Change SetResolutionAndScaleTo to take an enum instead of an nsAtoms*. r=botond
There is no reason to use nsAtoms*, it's error prone, i.e. the function
can take arbitrary nsAtoms*.

Depends on D15339

Differential Revision: https://phabricator.services.mozilla.com/D15340
2018-12-30 02:16:42 +00:00
Hiroyuki Ikezoe
2e8138ee10 Bug 1516368 - Drop nsIDOMWindowUtils.isResolutionSet. r=botond
It's been unused since bug 1337325.

Depends on D15338

Differential Revision: https://phabricator.services.mozilla.com/D15339
2018-12-30 02:16:30 +00:00
Emilio Cobos Álvarez
653779e555 Bug 1516366 - Move nsOnloadBlocker and nsDocumentOnStack to nsDocument.cpp, and shrink nsDocument.h to the minimmum. r=smaug
This needs to add a few of includes in other places which were relying on the
massive (now gone) list in nsDocument.h.

I also needed to move an AnimationTimeline destructor out of line because it
relied on dom::Animation being defined, yet Animation.h includes
AnimationTimeline.h, so include hell.

Differential Revision: https://phabricator.services.mozilla.com/D15366
2018-12-29 20:41:42 +01:00
Emilio Cobos Álvarez
f75fa1b240 Bug 1513749 - Rename and make nodesFromRect infallible. r=mats
This way it has a more WebIDL-like signature, which will be helpful in a second.

Differential Revision: https://phabricator.services.mozilla.com/D14357
2018-12-21 11:00:38 +00:00
Botond Ballo
438e8e9ff0 Bug 1512267 - If you set a pres shell resolution, you must scale to it. r=kats,JanH
Differential Revision: https://phabricator.services.mozilla.com/D13928
2018-12-10 19:32:59 +00:00
Botond Ballo
35c5a6a286 Bug 1511137 - Track more accurately when the main thread originates a resolution change. r=kats
The tracking is done using nsAtom origins, similarly to how updates to the
scroll offset are tracked.

Currently, APZ still uses some heuristics to deduce that the main thread
originated a resolution change in some cases, but the intention is to try
to remove those and rely only on this mechanism in the future.

Differential Revision: https://phabricator.services.mozilla.com/D13741
2018-12-05 16:29:18 +00:00
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Hiroyuki Ikezoe
aa4634b77b Bug 1504065 - Support background-color animations on the compositor for nsIDOMWindowUtils::GetOMTAValue. r=birtles
Depends on D13001

Differential Revision: https://phabricator.services.mozilla.com/D13002
2018-11-28 00:59:15 +00:00
Kartikaya Gupta
a339846a36 Bug 1510026 - Send a sync IPC round-trip to the compositor after every crashtest. r=mattwoodrow
This sends a sync IPC message to the compositor after each crashtest, to
ensure that any stuff inflight in the compositor settles down. In
particular this should round-trip through all of the relevant compositor
threads (i.e. for WebRender it should ensure the scene builder, render
backend, and renderer threads all get flushed).

Differential Revision: https://phabricator.services.mozilla.com/D13033
2018-11-27 19:46:23 +00:00