Commit Graph

9001 Commits

Author SHA1 Message Date
Daniel Holbert
3a4fa54329 Bug 1206996: Use range-based 'for' syntax to iterate across nsFrameLists in RestyleManager. r=tn 2015-09-22 11:21:44 -07:00
Markus Stange
e70a5890d0 Bug 1195400 - Check ancestor geometry roots when determining scrollability of a layer. r=mattwoodrow 2015-09-20 18:28:18 +02:00
Mason Chang
42c9c81cc8 Backout bug 1188075 for graphical artifacts. r=me 2015-09-21 08:14:05 -07:00
Markus Stange
fa6fe30996 Back out changeset 61baabe617c9 (bug 1191539) because of regressions like bug 1205863 and probably bug 1206209. 2015-09-20 01:14:15 +02:00
David Anderson
2cd37f854b Remove willFlushRetainedLayers, which is superceded by DLBI. (bug 1205970 part 2, r=mattwoodrow) 2015-09-18 18:45:24 -07:00
David Anderson
578a9a2262 Fix nsDisplayCanvasBackgroundColor to invalidate on color changes. (bug 1205970 part 1, r=mattwoodrow) 2015-09-18 18:45:05 -07:00
Mason Chang
226124a0f3 Bug 1188075 - Speed up inner box-shadow drawing by using a border-image style approach. r=mstange 2015-09-18 11:23:55 -07:00
Ting-Yu Lin
2325bddf48 Bug 1204872 - Add gtest for AccessibleCaretManager. r=roc
Add basic gtest to ensure AccessibleCaret and AccessibleCaretManager are
both testable. More tests to come.

Allow -Winconsistent-missing-override warning in gtest since MOCK_METHOD
does not have 'override' keyword. See bug 1169974.
2015-09-19 01:05:19 +08:00
Ting-Yu Lin
ea6bfb81cc Bug 1204872 - Prettify enum class printing. r=roc
Provide operator<< functions so that gtest can use them to print enum
classes.
2015-09-19 01:05:19 +08:00
Ting-Yu Lin
aa12c019be Bug 1204872 - Make AccessibleCaretManager testable. r=roc
We need to extract statements that touch PresShell, access frame trees,
or call other utility functions into functions so that we could mock or
stub them in gtest.

Inline GetFocusedContent since it's only used once.
2015-09-19 01:05:19 +08:00
Ting-Yu Lin
839b5738e2 Bug 1204872 - Make AccessibleCaret testable. r=roc
Remove the assert of the existence of PresShell in the constructor since
there's no PresShell in gtest. Also make AccessibleCaret inheritable.
2015-09-19 01:05:18 +08:00
Ting-Yu Lin
e78565aafb Bug 1204872 - Add documentation and rename mCaretMode. r=roc
Rename mCaretMode to mLastUpdateCaretsMode to make it clear that this
variable track the caret mode since last update. This also avoid the
confusion that GetCaretMode() returns mCaretMode.
2015-09-19 01:05:18 +08:00
Thinker K.F. Li
c4820d6fca Bug 1097464 - Part 6: Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.
2015-09-17 03:31:00 +02:00
Thinker K.F. Li
a78d5fffcb Bug 1097464 - Part 5: Fix preserve3d wording for nsIFrame. r=roc 2015-09-17 03:31:00 +02:00
Thinker K.F. Li
96df61630e Bug 1097464 - Part 4: Fix preserve3d wording for layer flags. r=roc 2015-09-17 03:31:00 +02:00
Phil Ringnalda
3a9573e728 Back out 2 changesets (bug 1205087) for mass bustage
CLOSED TREE

Backed out changeset 0573cd4aed27 (bug 1205087)
Backed out changeset 11a3cb42f729 (bug 1205087)
2015-09-17 19:30:42 -07:00
Matt Woodrow
398b1fd2de Bug 1205087 - Cache AnimatedGeometryRoot on nsDisplayItem. r=roc 2015-09-17 21:05:20 -04:00
Matt Woodrow
69fe1b8c9c Bug 1205087 - Remove LayerManager parameter for ShouldFixToViewport. r=roc 2015-09-17 21:03:42 -04:00
Wes Kocher
16a989a7b0 Merge m-c to inbound, a=merge CLOSED TREE 2015-09-17 15:27:39 -07:00
Wes Kocher
2a8cb56103 Merge b2ginbound to central, a=merge 2015-09-17 15:23:20 -07:00
Carsten "Tomcat" Book
8a49c1f50c Merge mozilla-central to b2g-inbound 2015-09-17 15:08:41 +02:00
Mike Conley
fd7e459a45 Bug 1199434 - Fire an event when the print engine encounters an error. r=smaug
The print engine used to directly cause a prompt to be displayed in the most
recent window in the event of an error. This patch causes the print engine to
fire an event instead so that the front-end can choose to display or ignore
the error.
2015-09-16 16:12:43 -04:00
Ting-Yu Lin
63240259a3 Bug 1199161 - Add selectedTextContent to CaretStateChangedEvent. r=kanru, sr=smaug
The old SelectionStateChangedEvent dispatched by SelectionChanged had
this field, but it has not being ported to CaretStateChangedEvent. We
should include selected text in the event so that Gaia could have a
chance to enhance user experience.
2015-09-16 17:58:14 +08:00
Nicholas Nethercote
6855b78fbf Bug 1201135 - Rename pldhash.{h,cpp} to PLDHashTable.{h,cpp}. r=mccr8. 2015-09-15 20:49:53 -07:00
Brian Birtles
74d91ed6ed Bug 1183461 part 7 - Add EventInfoComparator and sort events; r=heycam
This patch also reworks the dispatch of events in nsRefreshDriver. Previously
the refresh driver would dispatch the transition events for all subdocuments
then the animation events. This arrangement is complicated and not obviously
necessary. This patch simplifies this arrangement by dispatching transition
events and animation events for each document before proceeding to
subdocuments.
2015-09-15 14:05:49 +09:00
Nicholas Nethercote
09b4a9e997 Bug 1203427 (part 5) - Add logging of timer firings. r=froydnj. 2015-09-10 00:50:51 -07:00
Nicholas Nethercote
cae6e9971a Bug 1203427 (part 1) - Add nsExpirationTracker::mName. r=froydnj.
There are many sub-classes of nsExpirationTracker. In order to distinguish them
nicely in the logging of timer firings, it's necessary to manually name each
one. (This wouldn't be necessary if there was a way to stringify template
parameters, but there isn't.)
2015-09-09 21:07:07 -07:00
Cameron McCormack
0ddb48bec5 Bug 1203766 - Part 4: Add a "restyle generation" counter, which increments whenever we process pending restyles. r=bzbarsky 2015-09-17 12:08:20 +10:00
Cameron McCormack
871252c02c Bug 1203766 - Part 3: Add ArenaRefPtr support to nsStyleContext. r=bzbarsky 2015-09-17 12:08:20 +10:00
Cameron McCormack
b07b1ba584 Bug 1203766 - Part 2: Add an ArenaRefPtr class that can have its pointer cleared out when an object's owning nsPresArena goes away. r=bzbarsky 2015-09-17 12:08:19 +10:00
Cameron McCormack
ed8f4f2166 Bug 1203766 - Part 1: Generate nsPresArena::ObjectIDs with a preprocessor-included file. r=bzbarsky 2015-09-17 12:08:19 +10:00
Carsten "Tomcat" Book
42aa14ed8e Backed out 6 changesets (bug 1097464) for causing OS X 10.10 Reftest Errors
Backed out changeset fbf63ce1ba88 (bug 1097464)
Backed out changeset fdaf4cfa6707 (bug 1097464)
Backed out changeset 727ebd9f744a (bug 1097464)
Backed out changeset 03f03a776042 (bug 1097464)
Backed out changeset 5ec6364b87d7 (bug 1097464)
Backed out changeset 47d056b3af7f (bug 1097464)
2015-09-17 16:24:43 +02:00
Nicholas Nethercote
ac3ae5e6c1 Bug 1121760 (part 6) - Move all remaining PL_DHash*() functions into PLDHashTable. r=poiru. 2015-09-14 14:23:47 -07:00
Nicholas Nethercote
5c91fcd1e6 Bug 1121760 (part 3) - Remove PL_DHashTableRemove(). r=poiru. 2015-09-14 14:23:24 -07:00
Nicholas Nethercote
538c6626e9 Bug 1121760 (part 2) - Remove PL_DHashTableAdd(). r=poiru. 2015-09-14 14:23:12 -07:00
Benoit Girard
3484e1e3cb Bug 1191539 - Don't further increase the size of the displayport when rounding up. r=kats 2015-09-15 16:45:02 -04:00
Jamie Nicol
709cbe92db Bug 1200729 - Recompute FrameLayerBuilder item visibility if dirty region changes. r=mwoodrow
Make the FrameLayerBuilder remember for what region it has calculated
display item visibility, then recompute the visibility whenever the
dirty region it is passed to DrawPaintedLayer changes.

This means that the caller does not have to know the entire dirty region
that will be drawn for the transaction, but we can still optimise cases
where it knows some of the dirty region in advance.

This fixes a regression where MultiTiledContentClient's low-res display
port would not be painted if a smaller region of its high-res buffer had
already been painted that transaction, since the FrameLayerBuilder
had decided that most of the larger low-res region was invisible.
2015-09-15 14:41:42 +01:00
Thinker K.F. Li
0238a11403 Bug 1097464 - Part 6 - Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.
2015-09-17 03:31:00 +02:00
Thinker K.F. Li
495ba1957f Bug 1097464 - Part 5 - Fix preserve3d wording for nsIFrame. r=roc 2015-09-17 03:31:00 +02:00
Thinker K.F. Li
bc6f3228bb Bug 1097464 - Part 4 - Fix preserve3d wording for layer flags. r=roc 2015-09-17 03:31:00 +02:00
Olli Pettay
2c7e5f0653 Bug 1205466, make HasApzAwareListeners check faster, r=masayuki 2015-09-17 13:16:20 +03:00
Andreas Tolfsen
6da9e7d418 Bug 1203074: Move caret to end of textual input field before sending keys
When a TEXTAREA element is focused it returns the cursor to the last
position was at, or places it last.  INPUT @type="text" (or any other
textual input element) places the caret at the beginning.  Because of
this we move the caret to the end of the input field.  The next time
the element is focussed, the cursor should move to the end.

The layout touch caret tests relied on the caret being left in its
previous position.  This patch addresses that by using the advanced user
interaction API for these test cases.

r=jgriffin
2015-09-09 14:53:53 +01:00
Hiroyuki Ikezoe
73de8d1b18 Bug 1151694 - Part 3: Manage mIsRunningOnCompositor flags for each properties respectively. r=bbirtles 2015-09-16 16:05:00 +02:00
Nicholas Nethercote
ba83ffc5ec Bug 1121760 (part 1) - Remove PL_DHashTableSearch(). r=poiru. 2015-05-21 00:34:25 -07:00
Robert Longson
d9aa553a42 Bug 1175492 - unpref transform-origin percentage handling for SVG elements r=jwatt 2015-09-15 22:10:48 +01:00
Botond Ballo
a5a6088b91 Bug 1166301 - Store a flag on Layer to tell fixed background layers apart from fixed position layers. r=mattwoodrow 2015-09-04 17:26:33 -04:00
Botond Ballo
782460f01f Bug 1166301 - If APZ is enabled, clip fixed background images at the layer level rather than the display item level. r=mattwoodrow
This ensures that regions beyond the clip are painted, and async scrolling can reveal them by moving the layer-level clip.

This patch also ensures that we continue creating mask layers for fixed background layers correctly, where appropriate.
2015-09-11 20:00:22 -04:00
Botond Ballo
7aa74d4ad2 Bug 1166301 - If APZ is enabled, only clip fixed background images to the viewport area. r=mattwoodrow 2015-09-02 15:27:41 -04:00
Botond Ballo
f15d5e2cc6 Bug 1166301 - Annotate fixed background layers with scroll metadata for the animated geometry root of the frame they're the background of. r=mattwoodrow 2015-08-26 18:16:51 -04:00
Mason Chang
6fc0803c01 Bug 1160216 - Add a preference to force software vsync and set software vsync rate. r=kats 2015-09-15 08:13:57 -07:00