Commit Graph

15998 Commits

Author SHA1 Message Date
Takeshi Kurosawa
76c800fd89 Bug 277178 - Move focus to a fragment identifier (#fragment) if it's focusable. r=smaug
This change improves HTML Standard compliance and browser compatibility.
https://html.spec.whatwg.org/multipage/browsers.html#scroll-to-the-fragment-identifier

MozReview-Commit-ID: BgOq9dPwdGF

--HG--
extra : transplant_source : %26%7D%7Fm%EES%C4%91%1F%CEI%25%8F%EDc%28%3C%DE%0F%CF
2016-08-23 11:06:32 +09:00
L. David Baron
611f172de6 Bug 1251075 - Optimize away nsChangeHint_UpdateContainingBlock in nsStyleContext::CalcStyleDifference when possible. r=bz
MozReview-Commit-ID: 4Owobm1vZLn
2016-08-29 11:43:29 -07:00
Ryan VanderMeulen
1c0c6ec5d4 Merge m-c to inbound. a=merge 2016-08-29 12:56:19 -04:00
Ryan VanderMeulen
416afe2f23 Merge inbound to m-c. a=merge 2016-08-29 12:48:10 -04:00
Yuri Kazuna
3a366477e0 Bug 1291481 - Represent direction enum as uint8_t in LayersMessages.ipdlh; r=birtles
MozReview-Commit-ID: 9RcyYqsdsaB
2016-08-27 16:50:29 +09:00
Wes Kocher
cbdf3625fa Merge m-c to inbound, a=merge 2016-08-26 16:32:56 -07:00
Wes Kocher
f09e8fef1a Merge inbound to central, a=merge 2016-08-26 16:20:50 -07:00
Timothy Nikkel
d4bf99143c Bug 1298100. Remove nsDisplayListBuilder::mHadToIgnoreSuppression because it is unused. r=cjku 2016-08-26 18:02:51 -05:00
Timothy Nikkel
ca29dc5318 Bug 1297934. Enforce the invariant that every display item class has a different display item type for nsDisplayFocusRing. r=mattwoodrow 2016-08-26 18:02:49 -05:00
Boris Zbarsky
f795d19994 Bug 1258911. Correctly reframe an absolutely positioned frame that goes from having a transform to not having one and has an abs pos kid with a fixed-pos descendant. r=dbaron
Instead of skipping the absolute and fixed child lists, we walk all kids of the
frame.  But before recursing down into things that are absolute containing
blocks we ensure that we're only looking for fixed-pos placeholders, so we don't
reframe if we have a relatively positioned descendant with absolutely positioned
kids, for example.  Note that this part is pure optimization attempt, and it
might be cheaper to not do it: IsAbsoluteContainingBlock is not that cheap and
the situations where we avoid reframing due to this optimization are likely
fairly rare.
2016-08-26 15:38:16 -04:00
Milan Sreckovic
5459132cb1 Bug 1296731: Add parameter to GetAlignedStride and check for overflow. r=bas
MozReview-Commit-ID: 5Ptm0bxwKdG

--HG--
extra : rebase_source : 535f2fa2447a1401b76acc0b82ce210b3c4d6dfc
2016-08-25 13:57:39 -04:00
Markus Stange
46d8f7daf1 Bug 1298844 - Add PrintDisplayItemToStdout and PrintDisplayListToStdout helper functions for debugging. r=jrmuizel
MozReview-Commit-ID: 3Uv0H9z2aLk

--HG--
extra : rebase_source : c15b2cce683fe5166588233aad7c7bb767e76412
2016-08-22 15:49:09 -04:00
Markus Stange
780f4f012a Bug 1298214 - Don't treat container items as forced-empty items if they have contents. r=tnikkel
MozReview-Commit-ID: LbZt3qBfoV8

--HG--
extra : rebase_source : 0cfdb45c2d2f65bda87ffadd72a4c8f30db1f294
2016-08-22 13:41:59 -04:00
Markus Stange
aa2a5d9598 Bug 1298209 - Remove unused mIsPerspectiveItem. r=mattwoodrow
MozReview-Commit-ID: 7KPw4wnihFZ

--HG--
extra : rebase_source : 6f80ba26b4bb40316e2f2f3612c8d93a7a3d3710
2016-08-23 01:17:22 -04:00
Markus Stange
98f9030a27 Bug 1298209 - Remove unused mIsCaret. r=mattwoodrow
MozReview-Commit-ID: 1AyqgYyGJX4

--HG--
extra : rebase_source : efd45b0d66b85b2a6e4eb99592356a78c6d8d18e
2016-08-23 01:17:03 -04:00
Markus Stange
a9e9533549 Bug 1298209 - Fix indent. r=mattwoodrow
MozReview-Commit-ID: LGmP20aD0Et

--HG--
extra : rebase_source : 0de3badfef08be3880e5b0896dad17b2092f917a
2016-08-22 13:34:41 -04:00
Markus Stange
c2477ce5ba Bug 1298209 - Use mFrame instead of Frame() because it's less confusing. r=mattwoodrow
MozReview-Commit-ID: 3UotUmhpEXR

--HG--
extra : rebase_source : 302de0216a86f99995b5a44b7473b1330629a0b6
2016-08-22 13:32:57 -04:00
Markus Stange
f2a777bbb5 Bug 1298205 - Fix ServoRestyleManager.cpp includes. r=heycam
MozReview-Commit-ID: IhXCuG7V7gL

--HG--
extra : rebase_source : 37a2401266ee6ae1942a2b5014a38cbfb3d6c9ab
2016-08-29 11:20:07 -04:00
Markus Stange
889823a65f Bug 1298205 - Fix includes of RestyleManagerBase.h. r=heycam
MozReview-Commit-ID: 3XIuudY7lVX

--HG--
extra : rebase_source : 1f5aa7dd1d7991f4e9bfc84dca98483ab8f57af1
2016-08-29 11:19:49 -04:00
Ryan VanderMeulen
628ab3deff Merge m-c to inbound. a=merge 2016-08-26 09:39:29 -04:00
Ryan VanderMeulen
e1fdfb3b73 Merge inbound to m-c. a=merge 2016-08-26 09:37:03 -04:00
Emilio Cobos Álvarez
ab791a332e Bug 1292281: Devirtualize nsPresContext::HasAuthorSpecifiedRules. r=bholley
MozReview-Commit-ID: 4UF4vNaOCHz
Signed-off-by: Emilio Cobos Álvarez <ecoal95@gmail.com>
2016-08-26 04:20:01 -07:00
Emilio Cobos Álvarez
9d37bfeecc Bug 1292281: Convert the error from nsPresContext::HasAuthorSpecifiedRules in a warning in nsRuleNode. r=bholley
MozReview-Commit-ID: 7ue0MYP3Jdb
Signed-off-by: Emilio Cobos Álvarez <ecoal95@gmail.com>
2016-08-26 04:19:58 -07:00
tlin@mozilla.com
6ac132dfe9 Bug 1295084 Part 4 - Rename Position::PositionCoord to Position::Coord. r=dholbert
--HG--
extra : rebase_source : 1b8b7019640f2db91167880899438cac7a2c49cd
2016-08-25 09:59:51 +00:00
tlin@mozilla.com
54d89b5a5c Bug 1295084 Part 3 - Move nsStyleImageLayers::Position to mozilla::Position. r=dholbert
--HG--
extra : rebase_source : 6684d08700f9d7fed9fc1572871a0250d43b74cf
2016-08-25 09:59:51 +00:00
Ryan VanderMeulen
4a76c08262 Merge m-c to autoland. a=merge 2016-08-26 09:38:49 -04:00
hironari
11d2b6bc5d Bug 1296123 - SetPerformanceWarning should be called against eCSSProperty_opacity! r=hiro
MozReview-Commit-ID: BCcXiRUui7Z

--HG--
extra : rebase_source : 2d11ce5720fd95a7c4f20ebb8b32f520bd49586a
2016-08-27 12:55:36 +09:00
Phil Ringnalda
1a7687c1c7 Backed out changeset e68b376d1191 (bug 1283302) for making a bunch of existing reftest failures nearly permaorange 2016-08-25 21:41:27 -07:00
Bobby Holley
0453dfa721 Bug 1292662 - Use accessors to unset stylo dirty bits. r=heycam
I often find myself wanting to hook them for logging etc, and this makes the
API symmetric with the setters.
2016-08-25 21:36:57 -07:00
Bobby Holley
95e95fe501 Bug 1292662 - Use StyleChildrenIterator in ServoRestyleManger and ServoStyleSet. r=heycam
Most importantly, this causes us to traverse NAC during style context fixup.
2016-08-25 21:36:51 -07:00
Bobby Holley
7681e4498e Bug 1292662 - Add an API for the Servo style system to traverse anonymous children. r=heycam 2016-08-25 21:36:43 -07:00
Bobby Holley
0ecda8e2e2 Bug 1292279 - Add a helper to get the real container and use it in nsPresShell::Content{Inserted,Removed}. r=heycam
The existing static_cast checks are totally wrong, by the way, since
nsIDocuments are never nsIContent. Looks like they were erroneously
added in bug 862763.
2016-08-25 21:36:41 -07:00
Bobby Holley
bfbb6b5feb Bug 1292279 - Explicitly style new children in Content{Appended/Inserted} rather than using restyle hints. r=heycam
This gives us more control over what gets restyled when.
2016-08-25 21:36:32 -07:00
Bobby Holley
263669837b Bug 1292279 - Clear up the semantics of our Servo traversal APIs. r=heycam 2016-08-25 21:34:31 -07:00
Bobby Holley
b61d7b5283 Bug 1292279 - Consult the dirty bits to determine whether we have pending restyles. r=heycam
The current mechanism assumes that everything can be expressed in terms of restyle
hints, which has several limitations (in particular, we can't specify that a
subtree is dirty without also claiming that the root is dirty, since eRestyleSubtree
implies eRestyleSelf).

We may eventually decide that restyles hints give us everything we need, but while
we're experimenting I'd like the flexibility to do things both ways.
2016-08-25 21:34:29 -07:00
Bobby Holley
fc72927c36 Bug 1292279 - Add an API on nsIContent to propagate the dirty bit up the tree, and use it in ServoRestyleManager. r=heycam
We don't need this API outside of its current consumers yet, but will probably
need it when we handle lazy frame construction.
2016-08-25 21:34:25 -07:00
Jet Villegas
1830cf4332 Bug 1283302: Sets the default value for nglayout.initialpaint.delay to 5ms on desktop (stays 250 ms on Android) per user research conclusions. r=tn 2016-08-25 18:57:56 -07:00
Wes Kocher
309fb2cc5f Merge m-c to inbound, a=merge 2016-08-25 17:14:17 -07:00
Wes Kocher
f78f2d693b Merge inbound to central, a=merge 2016-08-25 16:59:00 -07:00
Ryan VanderMeulen
074ba60dd0 Merge m-c to autoland. a=merge CLOSED TREE 2016-08-25 09:01:10 -04:00
Ryan VanderMeulen
9e5c46d9bc Backed out changeset 649c62d13b57 (bug 1297367) for causing talos regressions.
CLOSED TREE
2016-08-25 08:41:52 -04:00
Ryan VanderMeulen
e5adfbffe6 Merge m-c to autoland. a=merge
--HG--
rename : accessible/tests/browser/browser_caching_attributes.js => accessible/tests/browser/e10s/browser_caching_attributes.js
rename : accessible/tests/browser/browser_caching_description.js => accessible/tests/browser/e10s/browser_caching_description.js
rename : accessible/tests/browser/browser_caching_name.js => accessible/tests/browser/e10s/browser_caching_name.js
rename : accessible/tests/browser/browser_caching_relations.js => accessible/tests/browser/e10s/browser_caching_relations.js
rename : accessible/tests/browser/browser_caching_states.js => accessible/tests/browser/e10s/browser_caching_states.js
rename : accessible/tests/browser/browser_caching_value.js => accessible/tests/browser/e10s/browser_caching_value.js
rename : accessible/tests/browser/browser_events_caretmove.js => accessible/tests/browser/e10s/browser_events_caretmove.js
rename : accessible/tests/browser/browser_events_hide.js => accessible/tests/browser/e10s/browser_events_hide.js
rename : accessible/tests/browser/browser_events_show.js => accessible/tests/browser/e10s/browser_events_show.js
rename : accessible/tests/browser/browser_events_statechange.js => accessible/tests/browser/e10s/browser_events_statechange.js
rename : accessible/tests/browser/browser_events_textchange.js => accessible/tests/browser/e10s/browser_events_textchange.js
rename : accessible/tests/browser/browser_treeupdate_ariadialog.js => accessible/tests/browser/e10s/browser_treeupdate_ariadialog.js
rename : accessible/tests/browser/browser_treeupdate_ariaowns.js => accessible/tests/browser/e10s/browser_treeupdate_ariaowns.js
rename : accessible/tests/browser/browser_treeupdate_canvas.js => accessible/tests/browser/e10s/browser_treeupdate_canvas.js
rename : accessible/tests/browser/browser_treeupdate_cssoverflow.js => accessible/tests/browser/e10s/browser_treeupdate_cssoverflow.js
rename : accessible/tests/browser/browser_treeupdate_doc.js => accessible/tests/browser/e10s/browser_treeupdate_doc.js
rename : accessible/tests/browser/browser_treeupdate_gencontent.js => accessible/tests/browser/e10s/browser_treeupdate_gencontent.js
rename : accessible/tests/browser/browser_treeupdate_hidden.js => accessible/tests/browser/e10s/browser_treeupdate_hidden.js
rename : accessible/tests/browser/browser_treeupdate_imagemap.js => accessible/tests/browser/e10s/browser_treeupdate_imagemap.js
rename : accessible/tests/browser/browser_treeupdate_list.js => accessible/tests/browser/e10s/browser_treeupdate_list.js
rename : accessible/tests/browser/browser_treeupdate_list_editabledoc.js => accessible/tests/browser/e10s/browser_treeupdate_list_editabledoc.js
rename : accessible/tests/browser/browser_treeupdate_listener.js => accessible/tests/browser/e10s/browser_treeupdate_listener.js
rename : accessible/tests/browser/browser_treeupdate_optgroup.js => accessible/tests/browser/e10s/browser_treeupdate_optgroup.js
rename : accessible/tests/browser/browser_treeupdate_removal.js => accessible/tests/browser/e10s/browser_treeupdate_removal.js
rename : accessible/tests/browser/browser_treeupdate_table.js => accessible/tests/browser/e10s/browser_treeupdate_table.js
rename : accessible/tests/browser/browser_treeupdate_textleaf.js => accessible/tests/browser/e10s/browser_treeupdate_textleaf.js
rename : accessible/tests/browser/browser_treeupdate_visibility.js => accessible/tests/browser/e10s/browser_treeupdate_visibility.js
rename : accessible/tests/browser/browser_treeupdate_whitespace.js => accessible/tests/browser/e10s/browser_treeupdate_whitespace.js
rename : accessible/tests/browser/doc_treeupdate_ariadialog.html => accessible/tests/browser/e10s/doc_treeupdate_ariadialog.html
rename : accessible/tests/browser/doc_treeupdate_ariaowns.html => accessible/tests/browser/e10s/doc_treeupdate_ariaowns.html
rename : accessible/tests/browser/doc_treeupdate_imagemap.html => accessible/tests/browser/e10s/doc_treeupdate_imagemap.html
rename : accessible/tests/browser/doc_treeupdate_removal.xhtml => accessible/tests/browser/e10s/doc_treeupdate_removal.xhtml
rename : accessible/tests/browser/doc_treeupdate_visibility.html => accessible/tests/browser/e10s/doc_treeupdate_visibility.html
rename : accessible/tests/browser/doc_treeupdate_whitespace.html => accessible/tests/browser/e10s/doc_treeupdate_whitespace.html
rename : accessible/tests/browser/events.js => accessible/tests/browser/e10s/events.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/browser_ext_pageAction_title.js
rename : browser/components/extensions/test/browser/browser_ext_pageAction_context.js => browser/components/extensions/test/browser/head_pageAction.js
rename : dom/events/test/pointerevents/pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/pointerevent_element_haspointercapture-manual.html
rename : dom/events/test/pointerevents/test_pointerevent_element_haspointercapture.html => dom/events/test/pointerevents/test_pointerevent_element_haspointercapture-manual.html
rename : gfx/thebes/DeviceManagerD3D11.cpp => gfx/thebes/DeviceManagerDx.cpp
rename : gfx/thebes/DeviceManagerD3D11.h => gfx/thebes/DeviceManagerDx.h
rename : media/webrtc/trunk/tools/gyp/test/compiler-override/compiler.gyp => media/webrtc/trunk/tools/gyp/test/compiler-override/compiler-exe.gyp
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/ios/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings => media/webrtc/trunk/tools/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist-error.strings
rename : media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.gyp => media/webrtc/trunk/tools/gyp/test/mac/gyptest-postbuild-static-library.py
rename : media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.asm => media/webrtc/trunk/tools/gyp/test/rules/src/subdir4/asm-function.assem
rename : mfbt/unused.h => mfbt/Unused.h
rename : testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture.html => testing/web-platform/tests/pointerevents/pointerevent_element_haspointercapture-manual.html
extra : rebase_source : a3de7d91a61df9b14fe07a89f5b0184a067549cf
2016-08-25 08:14:36 -04:00
Sebastian Hengst
bf971ed4e5 Backed out changeset 9fa5ccaa8c6c (bug 1289650) 2016-08-24 23:15:49 +02:00
Ryan Hunt
a0f7b541a2 Bug 1289650 - Use PAPZCTreeManager in content process instead of PAPZ. r=kats
MozReview-Commit-ID: LRhvZlNqli
2016-07-31 12:39:00 -07:00
Jinank Jain
f2776091ea Bug 712936 - Convert users of PR_STATIC_ASSERT to C++11 static_assert(). r=Ms2ger
--HG--
extra : rebase_source : b3e4c3e7c81799f2b1f3ec62ba3ff3b5d3adba27
2016-08-23 11:24:54 -04:00
Kartikaya Gupta
c372a788a5 Bug 1292781 - Add a test. r=tnikkel
MozReview-Commit-ID: f0UvsKMwAL
2016-08-24 09:15:42 -04:00
Kartikaya Gupta
4600f9a2b5 Bug 1292781 - Send scroll-position-restore updates to APZ, but don't allow them to clobber user scrolls. r=tnikkel
Previously we weren't sending scroll position updates with origin nsGkAtoms::restore
over to the APZ at all, on the assumption that they should never clobber an APZ
scroll offset. However, there are scenarios where that is not true.

In particular, during a frame reconstruction, a layers update may be sent to the
compositor between the time a scrollframe has RestoreState() called on it, and
the time the scrollframe has ScrollToRestoredPosition() called on it. The layers
update that happens during this interval (correctly) sends a scroll position of
(0,0), and forces the APZ to scroll to that position. This is necessary to
prevent APZ from remaining at an invalid scroll offset while the frame is still
being rebuilt.

However, once ScrollToRestoredPosition() is called and the old scroll offset is
restored, that restored scroll position needs to get sent to the APZ in order to
have it properly restore to the original scroll position. In order to do this,
the main thread must flag the metrics with a scroll offset update. Since the user
may have scrolled concurrently in the compositor from the (0,0) position, we also
need to check for that case in the APZ code and avoid restoring the scroll
position. This is equivalent to the corresponding main-thread code in
ScrollToRestoredPosition().

MozReview-Commit-ID: LxRapVSrsJ3
2016-08-24 09:15:29 -04:00
Ryan VanderMeulen
69113163cf Merge m-c to inbound. a=merge 2016-08-24 09:09:05 -04:00
Olli Pettay
213b519c21 Bug 1297367 - Call iCC slice and forgetSkippable right after paint, r=mccr8
--HG--
extra : rebase_source : c0613da305fc8a2292a9dcb67a0d26a6c74fc69b
2016-08-24 02:50:50 +03:00
Xidorn Quan
611f544c5d Bug 1296173 part 2 - Rename the servo binding functions. r=bholley
MozReview-Commit-ID: Gxqx52v3sDQ

--HG--
extra : rebase_source : 98fdf4a1463680b629c4986df2b2b9c3b306c64e
2016-08-23 13:14:27 +10:00