Commit Graph

3704 Commits

Author SHA1 Message Date
Matt Woodrow
d8b05307aa Bug 539356 - Part 10 - Test changes required for DLBI. r=roc 2012-06-11 16:45:38 +12:00
Matt Woodrow
147cab5783 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Matt Woodrow
7b18141336 Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc 2012-06-11 16:44:08 +12:00
Nicholas Cameron
a073280631 Bug 755078 - Backout previously-landed patch for bug 755078. r=roc 2012-06-09 14:22:40 -04:00
Ryan VanderMeulen
bf2b50270d Merge m-c to inbound 2012-06-10 17:59:00 -04:00
Aryeh Gregor
6865bb0c16 Bug 762862 - Rename nsTypedSelection to mozilla::Selection; r=ehsan
--HG--
rename : layout/generic/nsTypedSelection.h => layout/generic/Selection.h
2012-06-08 17:20:55 +03:00
Timothy Nikkel
7437c32e01 Bug 747493. Give frameset documents a basic scroll layer so we can communicate the document's metrics to the compositor and frontend. r=roc,mats 2012-06-09 19:26:57 -05:00
Kartikaya Gupta
084bf42619 Bug 705106 - Use the correct scroll port size when trying to scroll to an area. r=roc 2012-06-09 12:14:39 -04:00
Robert O'Callahan
453c373374 Bug 731293. Remove nsFrameManager parameter from nsLayoutUtils::GetParentOrPlaceholderFor. r=mats 2012-06-09 00:22:25 +12:00
Aryeh Gregor
43b3bdf8ac Bug 757771 part 3 - Include nsRange.h from nsTypedSelection.h 2012-06-07 18:00:58 +03:00
L. David Baron
311a0652e5 Make scroll frames (i.e., overflow != visible) be font size inflation flow roots again, to fix www.youtube.com. Except for the test changes, this reverts 9620f50be9fa8be44931decf1e57ce25f51da812 (Bug 747720, patch 7) which in turn reverted part of 9499f6b28addcbcd9c480eb80cfe6c4c63a4a3a1 (Bug 706193, patch 2). (Bug 760098) r=roc 2012-06-06 22:11:42 -07:00
Phil Ringnalda
88011f8d12 Back out 30e441f7ad9d (bug 759755) and 08286f4e696b (bug 760098) for orange 2012-06-06 22:51:58 -07:00
L. David Baron
f0aa0d13a0 Do the necessary reflow when our font inflation data changes. (Bug 759755) r=roc 2012-06-06 22:11:42 -07:00
L. David Baron
2918c27b5e Make scroll frames (i.e., overflow != visible) be font size inflation flow roots again, to fix www.youtube.com. Except for the test changes, this reverts 9620f50be9fa8be44931decf1e57ce25f51da812 (Bug 747720, patch 7) which in turn reverted part of 9499f6b28addcbcd9c480eb80cfe6c4c63a4a3a1 (Bug 706193, patch 2). (Bug 760098) r=roc 2012-06-06 22:11:42 -07:00
Ehsan Akhgari
c6218431ee Merge mozilla-central into mozilla-inbound 2012-06-06 12:46:50 -04:00
Ed Morley
7e31e8cfac Merge mozilla-central to mozilla-inbound 2012-06-06 10:24:28 +01:00
Ed Morley
22d9b9afc4 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-06-06 09:20:35 +01:00
Ehsan Akhgari
5682d40581 Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
This patch adds a change hint to signal that one of the offsets on a
frame has been changed.  When processing the hint, we do one of the
following things based on the position property of the frame.

* For static frames, we ignore the offset changes completely, as they
  will not change the layout.
* For relative positioned frames, this patch refactors the
  nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
  used from other callers, and it uses that to compute the new relative
  offsets, and uses the offsets computed previously to compute the new
  position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
  object, and then we create a new reflow state object for the frame in
  question.  This setup is similar to what nsFrame::BoxReflow does.
  Once we have the new reflow state object, we use it to compute the
  absolute offsets, and then we use the computed offsets to set the new
  position of the frame.  The offset computation is similar to what
  nsAbsoluteContainingBlock::ReflowAbsoluteFrame does.  In some cases
  where it is possible for the dimensions of the frame to change based
  on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
Scott Johnson
6c704020bd Bug 749186, Followup Patch 1: Cache font inflation settings in pres shell to prevent crash. [r=dbaron]
--HG--
extra : rebase_source : dc8b8f66bcd49c54ecefdf94793100b7901e6f3b
2012-06-05 22:47:33 -05:00
L. David Baron
27336e662d Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc
The first of these pieces of information is the intrinsic widths cached
on a block.

The second of them is the font inflation cached on a text frame (which
might be set to 1.0 at this point if a text frame has previously had
intrinsic width calculation done on it, but hasn't been reflowed).
2012-06-05 19:13:41 -07:00
L. David Baron
3a7a762826 Back out changeset 81f6b1cfbba5627425837ff993ca7012db22b23b (bug 748434) due to reftest failures. 2012-06-05 16:55:48 -07:00
L. David Baron
42b30ed346 Fix two pieces of cached information that were preventing font size inflation from applying correctly during intrinsic width calculation when intrinsic width calculation had already been done without font size inflation. (Bug 748434) r=roc
The first of these pieces of information is the intrinsic widths cached
on a block.

The second of them is the font inflation cached on a text frame (which
might be set to 1.0 at this point if a text frame has previously had
intrinsic width calculation done on it, but hasn't been reflowed).
2012-06-05 15:52:28 -07:00
L. David Baron
06fa5d4558 Rename nsStyleBorder::GetActualBorderWidth to GetComputedBorderWidth. (Bug 713643, patch 4) r=bzbarsky 2012-05-30 22:19:49 -07:00
L. David Baron
09d883079b Remove nsStyleBorder::GetActualBorder, since it now does the same thing as nsStyleBorder::GetComputedBorder. (Bug 713643, patch 3) r=bzbarsky 2012-05-30 22:19:49 -07:00
Mats Palmgren
200d6fe317 Bug 758589 - Make Selection.toString() return early (with empty result string) if the shell is destroyed. r=smaug 2012-05-30 15:03:19 +02:00
Bas Schouten
a234c6836a Bug 758432: Fix SetScaleToSize call for plugins. r=roc 2012-05-30 07:14:30 +02:00
Boris Zbarsky
6e136586b6 Bug 464758. Don't try to check for :before/:after pseudos for frames that can't have them. r=dbaron 2012-05-29 23:45:17 -04:00
Robert O'Callahan
a67cbf72d3 Bug 758179. Part 5: Test. r=mats 2012-05-30 01:13:37 +12:00
Robert O'Callahan
2abc3087ec Bug 758179. Part 4: Pass SKIP_HIDDEN flag in HandlePress/HandleRelease. r=mats 2012-05-30 01:13:36 +12:00
Robert O'Callahan
6b23199749 Bug 758179. Part 3: Support SKIP_HIDDEN flag. r=mats 2012-05-30 01:13:36 +12:00
Robert O'Callahan
05d68e6828 Bug 758179. Part 2: Add flags parameter to GetContentOffsetsFromPoint(External). r=mats 2012-05-30 01:13:36 +12:00
Phil Ringnalda
a99daa8529 Back out 6d605438199c (bug 758589) for bug 759243 2012-05-28 22:44:57 -07:00
Trevor Saunders
3b1f9183dc bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov
--HG--
rename : accessible/src/atk/nsAccessibleWrap.cpp => accessible/src/atk/AccessibleWrap.cpp
rename : accessible/src/atk/nsAccessibleWrap.h => accessible/src/atk/AccessibleWrap.h
rename : accessible/src/base/nsAccessible.cpp => accessible/src/generic/Accessible.cpp
rename : accessible/src/base/nsAccessible.h => accessible/src/generic/Accessible.h
rename : accessible/src/mac/nsAccessibleWrap.h => accessible/src/mac/AccessibleWrap.h
rename : accessible/src/mac/nsAccessibleWrap.mm => accessible/src/mac/AccessibleWrap.mm
rename : accessible/src/msaa/nsAccessibleWrap.cpp => accessible/src/msaa/AccessibleWrap.cpp
rename : accessible/src/msaa/nsAccessibleWrap.h => accessible/src/msaa/AccessibleWrap.h
rename : accessible/src/other/nsAccessibleWrap.cpp => accessible/src/other/AccessibleWrap.cpp
rename : accessible/src/other/nsAccessibleWrap.h => accessible/src/other/AccessibleWrap.h
2012-05-28 21:18:45 -04:00
Mats Palmgren
1b8ec5b694 Bug 758589 - Make Selection.toString() return early (with empty result string) if the shell is destroyed. r=smaug 2012-05-29 02:50:42 +02:00
Takanori MATSUURA
4e1026d682 Bug 751521 - Separate pixman detection from cairo. r=glandium 2012-05-26 08:44:00 +02:00
Vincent LAMOTTE
bcc3cf4e81 Bug 657953 (1/2) - Implement the layout part of the meter element. r=roc 2012-05-16 17:47:10 +02:00
Robert O'Callahan
15b612a12a Bug 757807. Don't store an nsMouseEvent in nsFrameSelection, it's unnecessary and leaky. r=smaug 2012-05-24 22:36:08 +12:00
Mark Capella
0c51655fe0 Bug 745428 - densify nsTextAccessible, r=surkov, f=tbsaunde
--HG--
rename : accessible/src/atk/nsTextAccessibleWrap.h => accessible/src/atk/TextLeafAccessibleWrap.h
rename : accessible/src/base/nsTextAccessible.cpp => accessible/src/generic/TextLeafAccessible.cpp
rename : accessible/src/base/nsTextAccessible.h => accessible/src/generic/TextLeafAccessible.h
rename : accessible/src/mac/nsTextAccessibleWrap.h => accessible/src/mac/TextLeafAccessibleWrap.h
rename : accessible/src/msaa/nsTextAccessibleWrap.cpp => accessible/src/msaa/TextLeafAccessibleWrap.cpp
rename : accessible/src/msaa/nsTextAccessibleWrap.h => accessible/src/msaa/TextLeafAccessibleWrap.h
rename : accessible/src/other/nsTextAccessibleWrap.h => accessible/src/other/TextLeafAccessibleWrap.h
2012-05-23 14:05:57 -04:00
Mats Palmgren
2276f14f49 Bug 756241. r=roc 2012-05-23 17:27:15 +02:00
Robert O'Callahan
414f19debc Bug 754556. Allow intermediate positions in smooth scrolling to go anywhere the final position can be. Also, round smooth-scrolling PositionAt coordinates to nearest appunits to avoid numerical errors giving us results outside [start, destination]! r=mats 2012-05-22 21:55:15 +12:00
Jesse Ruderman
c6d9ed34d0 Update bug number (no bug, DONTBUILD) 2012-05-21 18:24:50 -07:00
Ed Morley
c5acb642c1 Merge mozilla-central to mozilla-inbound 2012-05-21 13:19:38 +01:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
L. David Baron
45b0f7c9cd Make scroll frames (i.e., overflow != visible) no longer be font size inflation flow roots. This reverts part of 9499f6b28addcbcd9c480eb80cfe6c4c63a4a3a1. (Bug 747720, patch 7) r=roc
This means that font size inflation will be consistent into a container
with overflow!=visible, which fixes inflation bugs on phoronix.com (bug
747720) and reddit.com (bug 748446, but currently covered up by bug
756518).
2012-05-20 22:18:28 -07:00
L. David Baron
692b93095e Remove caching of current inflation container and its width from the pres context. (Bug 747720, patch 6) r=roc
This is no longer needed because we're getting the width from
nsFontInflationData and the null-ness of the container from
mInflationDisabledForShrinkWrap.
2012-05-20 22:18:28 -07:00
L. David Baron
54995e2a8e Remove width determination parameters from font inflation methods. (Bug 747720, patch 5) r=roc
These are no longer needed since we're getting the width from the
nsFontInflationData.
2012-05-20 22:18:28 -07:00
L. David Baron
88a762e752 Replace AutoMaybeNullInflationContainer with AutoMaybeDisableInflationForShrinkWrap since the concept of the pres context's current inflation container will be going away. (Bug 747720, patch 2) r=roc 2012-05-20 22:18:27 -07:00
L. David Baron
4fbe6f4e29 Save and expose on nsFontInflationData the width of the nearest common ancestor of the inflated descendants. (Bug 747720, patch 1) r=roc
This width will be used in patch 3.
2012-05-20 22:18:27 -07:00
Adam Dane [:hobophobe]
7f04cb4204 Bug 733553 - Allow multipart image streams to cope with stream changes. r=joe 2012-05-19 14:32:37 -05:00
Ryan VanderMeulen
bcfe82d03b Backout bug 733553 due to mochitest orange. 2012-05-19 12:10:26 -04:00
Adam Dane [:hobophobe]
2fb449e6aa Bug 733553 - Allow multipart image streams to cope with stream changes. r=joe 2012-05-08 21:35:32 -05:00
Benjamin Smedberg
4f91700da9 Bug 734847 part 2 - treewide changes resulting from the default-infallibility of hashtables; either remove useless result checks, or use the fallible version of APIs, depending on context, r=jlebar
--HG--
extra : rebase_source : 844b008c5167e6ca39a7ba9eeec8b30672938704
2012-05-18 13:30:49 -04:00
Ms2ger
cf59f6497e Merge m-c to m-i. 2012-05-18 13:32:20 +02:00
Ms2ger
f427fc956f Bug 755200 - Simplify SetSelectionAroundHeadChildren; r=ehsan 2012-05-18 10:29:39 +02:00
Ms2ger
4d045d4362 Bug 750053 - Part a: Add nsISelection::Collapsed(); r=smaug 2012-05-18 10:29:39 +02:00
Phil Ringnalda
d4d918533f Bug 753877 - drop a few minimum assertion counts to reflect reality 2012-05-17 22:00:04 -07:00
Simon Montagu
b7a516ae3e Start painting text shadow of selection from the left edge in RTL text. Bug 755994, r=roc 2012-05-17 13:34:06 +03:00
Chris Lord
76541685fe Bug 753742 - Force layer build on scroll frames with a displayport. r=tn
Force building layers for all scroll frames that have a displayport set.
This fixes gfx/layers/ipc/CompositorParent mistakenly using FrameMetrics from
incorrect frames, due to the root scroll frame not having a layer.
2012-05-17 19:19:07 +01:00
Jonathan Watt
75835eecfc Bug 734082 - Compute and store bounds and visual overflow bounds for both SVG leaf and container frames. r=roc. 2012-05-17 05:05:09 +01:00
Aryeh Gregor
81df634941 Bug 756045 - Turn "ASSERTION: anonymous nodes should not be in child lists" into an NS_WARNING; r=bz 2012-05-18 09:20:49 +03:00
Nicholas Cameron
b9c7de3bfd Bug 755078 - Disable mask layers on Android. r=roc 2012-05-17 10:30:10 +12:00
Mats Palmgren
d538a6f1db Bug 750293 - Don't include a block's margins in its scrollable overflow for now. r=roc 2012-05-17 01:04:38 +02:00
Ed Morley
226d66473d Bug 668716 - Disable test_bug632379.xul on Mac for now, for too many unexpected passes 2012-05-16 20:46:11 +01:00
Trevor Saunders
60316084b6 bug 693933 - make nsFrameSelection::GetSelection() return nsTypedSelection* r=smaug 2012-04-06 17:54:38 -04:00
Robert O'Callahan
91cae0fac8 Bug 754556. Ensure that setting scroll positions in CSS pixels doesn't unexpectedly move the scroll position, especially not in the wrong direction. r=matspal
If the current scroll position is fractional, e.g. y=N.4 CSS pixels, and something tries to read the
position in CSS pixels and scroll to that position (e.g. calling window.scrollTo(0, rootElem.scrollTop),
or equivalently window.scrollBy(0, 0)), it can actually end up scrolling backwards. So create a new
method nsIScrollableFrame::ScrollToCSSPixels which ensures that scrolling to a CSS pixel offset tries to
preserve the current fractional scroll position if that's possible, and if that's not possible at least does
not allow the scroll position to move in the wrong direction.
2012-05-15 17:58:09 +12:00
Mats Palmgren
c6512a9065 Bug 749935 - Make all nsRect Union methods saturating. If width/height overflows nscoord_MAX then clamp the x/y to nscoord_MIN / 2 and try again. r=roc 2012-05-14 22:11:39 +02:00
Alexander Surkov
08d70a910e Bug 754627 - GetBounds on bullet return wrong values, r=tbsaunde, roc 2012-05-14 13:51:45 +09:00
Christopher De Cairos
1d388d679e Bug 517363: Make poster frames scale to size of the display frame r=roc 2012-05-11 20:32:29 +12:00
Christopher De Cairos
a51913e89c Bug 726904: Make nsVideoFrame::GetVideoIntrinsicSize return the video size before the poster size. r=cpearce 2012-05-11 20:32:15 +12:00
Matt Woodrow
5939c267ea Bug 722603 - Improve dirty rect calculation with 3d transforms and preserve-3d. r=roc 2012-05-11 19:49:14 +12:00
Matt Woodrow
6e453c5d34 Bug 722603 - Add 3d transforms debugging code to nsBlockFrame. r=roc 2012-05-11 19:49:12 +12:00
Robert O'Callahan
b9dab8f854 Bug 681192. Part 16: Reduce assertion counts some more. r=matspal
--HG--
extra : rebase_source : 48cdef6c9792d6e35dcdfaecae3e3982c37171fd
2012-05-10 17:24:21 +12:00
Robert O'Callahan
cc4c60522a Bug 681192. Part 12: more fixes to remove unnecessary rounding to pixels. r=matspal
--HG--
extra : rebase_source : 39f2c0ef3220b3f0d4f6bc2564a86daa2112dc3b
2012-05-10 17:24:20 +12:00
Robert O'Callahan
28e494af4f Bug 681192. Part 11: Don't snap scrollrange endpoints to device pixels anymore. r=matspal
--HG--
extra : rebase_source : a4ad5072fbb1a9e1e8d0fcf31268fee8812be41e
2012-05-10 17:24:20 +12:00
Robert O'Callahan
d526469de5 Bug 681192. Part 9: Adjust assertion counts downward. r=mats
--HG--
extra : rebase_source : 5cb44d6572d19d462897b1b50037946d5d8edf67
2012-05-10 17:24:20 +12:00
Robert O'Callahan
41b38a3c31 Bug 681192. Part 8: Use a generous allowed range when scrolling in CurPosAttributeChanged. r=matspal
There was a subtle reftest failure on Mac in RTL text-overflow tests.
I tracked it down to RTL overflow:auto areas being automatically scrolled by a subpixel amount.
This was because we try to set scrollbar "curpos" attributes to an integer number of CSS pixels representing
the scroll amount, relative to the top-left of GetScrolledRect, which is a noninteger number of CSS pixels
in this case. Then in ReflowFinished() we scroll to the saved curpos values plus the top-left of GetScrolledRect.
This patch fixes the problem by making CurPosAttributeChanged pass an allowed scroll range to
ScrollToWithOrigin. We allow any scroll destination that, when rounded to CSS pixels, would give the same
value as "curpos".
This fixes the bug, ensuring that ReflowFinished's call to CurPosAttributeChanged will not normally need
to scroll because the current position will be in the acceptable range. Also, it means that code that
scrolls by setting the "curpos" attribute will be optimized to try to hit a layer pixel boundary.

--HG--
extra : rebase_source : 3a768883feee4ff2b88fe3c729ea1058e911f2ea
2012-05-10 17:24:19 +12:00
Robert O'Callahan
5c62ce11f2 Bug 681192. Part 7: nsTypedSelection should be scrolling a 0,0 size into view to get a particular coordinate into view, not 1,1. r=matspal
When asked to scroll a 1,1 appunit rectangle into view, ScrollFrameRectIntoView will now actually
succeed!
For example if the window is 6000 appunits high and we ask to scroll a 1x1 rect at 0,6000 into view,
before bug 681192 was fixed we'd actually fail to do so. We'd compute a desired scroll destination of 0,1,
and ScrollTo would round that to 0,0 and we wouldn't scroll at all.
Now, we compute a desired scroll destination of 0,1 but also an allowed scroll range for y of
"1 to <someting large>", so ScrollFrameRectIntoView will scroll down by a full pixel to 0,60. This is correct ---
it gets the subpixel area into view, which the previous code didn't --- but it's not really what DoAutoScroll
wants, at least the way test_mousecapture.xul is written. test_mousecapture.xul expects DoAutoScroll to scroll
windowheight+N into view by scrolling down by exactly N pixels, so the desired point is exactly at the bottom
edge of the window rect. Using a zero-sized rect achieves this.

--HG--
extra : rebase_source : 5d3d8cc4417c35dc88ad296a4f13e01d2c1c9233
2012-05-10 17:24:19 +12:00
Oleg Romashin
5120270d4b Bug 681192. Part 2: Make nsIScrollableFrame::ScrollBy automatically set a generous allowed destination range. r=roc
--HG--
extra : rebase_source : 392359b325ca0435031e8f31a47154a82943c2b4
2012-02-07 12:20:57 -08:00
Oleg Romashin
14a398fcf0 Bug 681192. Part 1: Add "allowed scroll destination range" to nsIScrollableFrame::ScrollTo and nsGfxScrollFrame implementation. r=roc,matspal
--HG--
extra : rebase_source : 51d04f7e7db35c02de3401a3481d4cc3827c19ec
2012-02-07 16:53:18 -08:00
Ehsan Akhgari
d50878a182 Bug 612128 - Prevent the editor from modifying nodes which are not under an editing host; r=roc,bzbarsky
This patch ensures that the NODE_IS_EDITABLE flag is only set on nodes living
under an editing host.  Things like text controls which used to have that flag
previously will not have it any more.  The flag would be set on their anonymous
div node instead.  Note that if text controls actually fall under an editing
host, they will get the NODE_IS_EDITABLE flag.

This patch also makes nsHTMLEditor::IsEditable return sane results (text nodes
are always considered to be editable).
2010-11-16 15:45:49 -05:00
Ed Morley
d68bf1a175 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-05-09 10:15:40 +01:00
Joe Drew
756646f15d Back out changeset 501d38d3892c (Bug 733553) for causing crashes in xpcshell tests. 2012-05-08 21:59:30 -04:00
Adam Dane [:hobophobe]
e1da62aa08 Bug 733553 - Allow multipart image streams to cope with stream changes. r=joe
--HG--
extra : rebase_source : 21ebc85f26fcbc4a4a27387d1ec5007c0886c386
2012-05-08 16:19:01 -05:00
Timothy Nikkel
6ffee527c4 Bug 749425. Push the scroll frame clip inside the scroll layer so it gets transformed by the shadow transform. r=roc 2012-05-08 23:15:00 -04:00
Jeff Muizelaar
b86c4d522e Bug 753058. Add SAMPLE_LABELS for shadows. r=ehsan
This will make this things more obvious on the profile.
2012-05-08 18:10:02 -04:00
Makoto Kato
ae4279cc0e Bug 249159 - Part 2 Implement CSS3 Text word-break property. r=dbaron, smontagu 2012-05-07 12:18:23 -07:00
L. David Baron
f4ce7f74f9 Add missing GetFirstInFlow() call that was causing a crash in ComputeDescendantWidth when printing with font inflation enabled (or a debug build). (Bug 751797) r=roc
--HG--
extra : transplant_source : %ED%23%02%AFR%24tw%FE%96%D7%D3p%D8%87%F7gV%28L
2012-05-07 07:17:00 +02:00
Jonathan Kew
ce78dd76d0 bug 752176 - only read the style array for valid offsets within the textrun. r=smontagu 2012-05-06 15:55:12 +01:00
L. David Baron
b61149484a Make effect of form controls on font size inflation text threshold not depend on user changes to their value. (Bug 747857) r=roc
--HG--
extra : transplant_source : %82%DCX%81%B2%AAM%A3%A1%A1-%87%10%B3%B6%10kw%F4%FB
2012-05-05 15:24:45 +02:00
Ms2ger
de7c676373 Bug 716439 - Followup: remove unused variable 'sf'; r=roc 2012-05-05 11:00:06 +02:00
Scott Johnson
9d44d76b7d Bug 749186: Make the root frame always be an inflation container to prevent a crash during font inflation. [r=dbaron] 2012-05-04 12:08:23 -05:00
Scott Johnson
adac9ae3ae Bug 746966: Conditionally set NS_FRAME_IN_CONSTRAINED_HEIGHT for font inflation on percentage-based height so fonts with room to inflate can do so. [r=dbaron] 2012-05-04 12:07:37 -05:00
Ed Morley
3c9ca1882b Backout f8125b89352d (bug 747857) for frequent test failures 2012-05-04 15:24:42 +01:00
L. David Baron
6619db8bda Add missing GetFirstInFlow() call that was causing a crash in ComputeDescendantWidth when printing with font inflation enabled (or a debug build). (Bug 751797) r=roc
--HG--
extra : transplant_source : %B5%FE%E5%DFaH%06%0F%3B%26%C0%E2%8B%3E4%F37%BFi-
2012-05-03 22:55:33 -04:00
L. David Baron
39891d906d Make effect of form controls on font size inflation text threshold not depend on user changes to their value. (Bug 747857) r=roc
--HG--
extra : transplant_source : %1F%7B%3Fk%A6%F1%2C%EAZ%920%FB%FD%FB%3D%8E%9C%C9y%19
2012-05-03 20:04:30 -04:00
Mats Palmgren
3a8a0731b4 Bug 750745 - Allocate nsLineBoxes from their own presshell arena list. part=3/3 r=roc 2012-05-04 02:14:02 +02:00
Mats Palmgren
59250ec053 Bug 750745 - Introduce AllocateByObjectID/FreeByObjectID for allocating non-frame objects from per-type lists in the PresArena. part=2/3 r=roc 2012-05-04 02:14:02 +02:00
Mats Palmgren
1ce63ca0d8 Bug 735641 - No way to deselect image of image document after select all (Ctrl+A). r=bz 2012-05-04 02:14:01 +02:00
Mats Palmgren
ff736d775f Bug 747688. r=roc 2012-05-04 02:14:01 +02:00
Mats Palmgren
07fa8272f6 Bug 750066. r=roc 2012-05-04 02:14:01 +02:00
Mats Palmgren
18a32fcc02 Bug 748961 - Flush styles to ensure frames are created. r=smaug,Ms2ger 2012-05-04 02:14:01 +02:00
Andreas Gal
6ced71cf11 Do image scaling on the GPU (bug 650988, r=roc,cjones). 2012-05-03 07:05:55 -07:00
Ed Morley
8266a4291c Merge mozilla-central to mozilla-inbound 2012-05-03 20:13:41 +01:00
Ali Juma
d068bda688 Bug 748048 - Part 1: Remove SetInvalidationDimensions and GetInvalidationDimensions. r=roc 2012-05-03 12:33:51 -04:00
Jared Wein
1504e6e3d5 Bug 702463 - Increasing the timeout of the tests due to the presence of multiple refresh drivers. r=ehsan 2012-04-30 13:44:55 -04:00
Avi Halachmi
968bd575ff Bug 702463 - Smooth scrolling should use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Masatoshi Kimura
95f8a3cace Bug 745498 - Add testcases for DOM4 exception types. r=sicking 2012-04-26 09:42:26 -07:00
Jonathan Kew
13d8ee2427 bug 307039 - implement Greek-specific uppercasing for text-transform & small-caps. r=past 2012-05-03 08:57:18 +01:00
Nicholas Cameron
a387d019ba Bug 716439; remove a check for rounded rects to enable the use of mask layers. r=roc 2012-02-08 11:26:46 +13:00
Aryeh Gregor
7b0c6d74e3 Bug 702948 - Make Range.detach() a no-op; r=smaug 2012-04-25 15:03:48 +03:00
Masayuki Nakano
ba56663cd3 Bug 630811 part.2 Replace nsInputEvent::isShift, nsInputEvent::isControl, nsInputEvent::isAlt and nsInputEvent::isMeta r=smaug 2012-04-25 12:00:02 +09:00
Timothy Nikkel
5fce132cd1 Bug 732016 Allow override of the scroll port size used for clamping scroll positions. r=roc 2012-04-24 13:52:35 -05:00
Jonathan Kew
15627b7207 bug 744357 - implement mappings from Unicode's SpecialCasing.txt for text-transform. r=smontagu 2012-04-24 18:53:39 +01:00
Robert O'Callahan
3e30bf4a46 Bug 749075. Part 1: Refactor the nsDisplayItem API for testing whether the item needs to be rendered to a transparent surface. r=mattwoodrow
Currently we return an extra out parameter on GetOpaqueRegion. This is ugly and it's also going to be inefficient
because in a followup patch I'm going to avoid calls to GetOpaqueRegion, but we still need to know whether the item
needs a transparent surface. So this patch removes that out parameter. Instead, we rely on the fact that only
Windows' glass-window-background display item needs to force a transparent surface, and there can only be one
of those per window. So we store a reference to it in the nsDisplayListBuilder if there is one, and then we can
efficiently tell if any leaf display item is the one that forces a transparent surface. For display items that
wrap a list, we continue to store whether they need to force a transparent surface in a boolean in the list.
2012-05-03 16:29:05 +12:00
Jeff Muizelaar
de2c1757b4 Bug 745864. Add SAMPLE_LABELs to layout code. r=roc, a=joe
--HG--
extra : rebase_source : d826780c34692d333442b6bf563791b53bf3aa3d
2012-04-16 14:37:59 -04:00
Joe Drew
59b12ae642 Backout 492d12fa8b65 (bug 732016) for regressions. a=regression
--HG--
extra : rebase_source : cda0401baa2c3e5f6192f76c1cd25eca8187a9a0
2012-04-23 11:13:33 -07:00
Timothy Nikkel
be2da87d6f Bug 732016 Allow override of the scroll port size used for clamping scroll positions. r=roc 2012-04-19 20:54:54 -05:00
Robert O'Callahan
8a99107167 Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec 2012-04-19 14:40:43 +12:00
Ehsan Akhgari
c609eff858 Backout changeset 0b25ccd32a49 (bug 745934) for reftest failures; a=bustage 2012-04-18 23:52:59 -04:00
Robert O'Callahan
c47ff166e8 Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec 2012-04-19 14:40:43 +12:00
Robert O'Callahan
dcc4fc6d0f Bug 735898. Part 7: Remove expensive nsIFrame::HasBorder checks, just check style instead. r=dbaron,a=blocking-fennec 2012-04-18 17:14:31 +12:00
Robert O'Callahan
08d74c5ace Bug 735898. Part 6: Avoid nsIFrame::GetOffsetTo calls by caching a frame/offset pair in nsDisplayListBuilder, using the cache from nsDisplayListBuilder::ToReferenceFrame, and having BuildDisplayListForChild efficiently update the cached frame from parent to child when possible. Also, use display items' precalculated ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame where possible. r=mattwoodrow,a=blocking-fennec 2012-04-18 17:14:14 +12:00
Wes Johnston
41d4502cda Bug 745936 - Display port should not override dirtyRect during hit detection r=roc 2012-04-17 08:08:29 -04:00
L. David Baron
be1535321a Build font data structure by walking the necessary text. (Bug 706193, patch 3) r=roc
Compute the amount of text in the scope of an nsFontInflationData
object.  This walks the text that's inside of the block formatting
context at which this object is rooted, excluding the text that's inside
any nested BFC.  Using the amount of text, the font sizes of the text,
and the line threshold preference, we compute whether to enable font
size inflation within that block formatting context.
2012-04-16 15:32:12 -07:00
L. David Baron
8c67e2ae8b Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text.  Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous.  Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Robert O'Callahan
659fb75915 Bug 735898. Part 5: Simple tweaks to avoid wrapping empty lists and to reorder boolean tests. r=mattwoodrow 2012-04-16 17:43:47 +12:00
Robert O'Callahan
99b4ec2a83 Bug 735898. Part 4: Create Inner/Outer box-shadow items only if we actually have inset/outset shadows. r=mattwoodrow 2012-04-16 17:43:33 +12:00
Jonathan Kew
99d4be6815 bug 740120 - implement context-sensitive mapping for Greek sigma in text-transform:lowercase. r=smontagu 2012-04-15 15:52:47 +01:00
Jonathan Kew
f0540aec21 bug 745454 - don't lose line-break flag when merging case-transformed characters in text run. r=smontagu 2012-04-15 15:52:47 +01:00
Mats Palmgren
d473f3d2f0 Bug 740743 - Implement CSS overflow for <legend>. r=bz 2012-04-13 17:52:13 +02:00
Robert O'Callahan
3d0a865462 Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-13 23:44:06 +12:00
Mark Capella
1a44f1208f Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Robert O'Callahan
c1fcb8ec46 Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures. 2012-04-12 00:34:23 +12:00
Robert O'Callahan
09dac64814 Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-11 16:49:34 +12:00
Robert O'Callahan
acf4b34036 Bug 735898. Part 2: When nsOverflowClipWrapper is asked to clip a display item that is entirely inside the clip rect, don't bother wrapping the item. r=mattwoodrow 2012-04-11 16:48:56 +12:00
Robert O'Callahan
d0dd680745 Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.

With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).

FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Steven Michaud
da18206624 Bug 730066 - Crash at mozilla::layers::ImageContainer::GetCurrentSize on printing http://www.mozilla.org/projects/firefox/prerelease.html. r=roc 2012-04-09 14:17:19 -05:00
Wes Johnston
2ba46f571f Backed out changeset f5d6cc2e4726 2012-04-09 10:44:32 -07:00
Wes Johnston
e196e635a6 Bug 740218 - Support transactions in sqlitebridge and use them. r=gcp,rnewman,lucasr 2012-04-09 10:08:37 -07:00
Kyle Huey
50f43dd111 Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
Kyle Huey
7a78607b88 Bug 697230: Part 1 - Centralize style image observers. r=bz 2012-04-07 08:58:41 -07:00
Mats Palmgren
1fc5ba05d5 Bug 724352 - Decrement assertion counts for some layout crashtests. r=roc 2012-04-05 16:30:21 +02:00
Mats Palmgren
8948c2c199 Bug 724352 - Don't add vertical margin to scrollable overflow here, it's already done during reflow and we don't need it for UpdateOverflow yet (and we need to account for margin-collapsing when we do). r=roc 2012-04-05 16:30:21 +02:00
Nicholas Nethercote
85b9728d6c Bug 711895 - Tweak the warning options used for GCC builds (3rd attempt). r=waldo,derf,khuey,mhommey.
--HG--
extra : rebase_source : 20540c9b838ee3be6cb0847c1b90fdc3bd44059d
2012-03-21 22:21:16 -07:00
Jared Wein
777fbc3a41 Backed out changeset 3b8a666e351e (bug 702463) 2012-04-03 16:50:25 -07:00
Avi Halachmi (:avih)
03341a5710 Bug 702463: Smooth scroll - Use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Jared Wein
9ea5fa75f8 Backed out changeset 4e515b6a5a41 (bug 702463) 2012-04-03 16:22:49 -07:00
Avi Halachmi (:avih)
ae12e0480f Bug 702463: Part 1 v8 - Smooth scroll - Use refresh observer instead of a timer 2012-03-31 16:08:00 +03:00
Ms2ger
9f1fbf3676 Bug 741048: Remove gfxAtoms. r=roc 2012-03-30 23:08:46 -07:00
Dave Townsend
f5853d4d7a Backing out changeset 432c4be058b5 which landed with no bug. 2012-03-30 22:23:24 -07:00