Commit Graph

4057 Commits

Author SHA1 Message Date
Matt Woodrow
6750b1ce01 Bug 539356 - Part 3 - Make GetParentPresContext() succeed when the current PresContext has no frames. r=bz 2012-06-30 15:06:09 +12:00
Jonathan Watt
3c530c668a Bug 769242 - Rename nsDisplaySVG to nsDisplayOuterSVG in preparation for adding other SVG display list item types. r=dholbert. 2012-06-28 20:51:20 +01:00
Ehsan Akhgari
e9c88c4e63 Bug 766843 - Exempt inner table frames from optimized dynamic position change handling, as the required handling is performed for outer table frames; r=bzbarsky 2012-06-27 16:24:01 -04:00
Chris Lord
9fd49ed93f Bug 758620 - Force fixed-position frames to have their own layers. r=roc
Introduce a new display-list item 'nsDisplayFixedPosition' that represents
fixed-position elements. This item cannot be merged, which forces fixed
position elements to have their own layer, and has a BuildLayer implementation
that sets the necessary metadata on a Layer to be able to maintain its
position correctly during composition when asynchronously panning and zooming.
2012-06-27 16:43:57 +01:00
Chris Lord
1163c9e9c6 Bug 758620 - Layout fixed-position frames to the set scroll-port. r=roc
If a scroll position clamping scroll-port size has been set, layout fixed
position frames with respect to this instead of the calculated containing
block size.
2012-06-27 16:43:46 +01:00
Ehsan Akhgari
45fe6d3ae2 Bug 722872 - Part 1: Add nsITransferable::Init(nsILoadContext*), enforce that it's called in debug builds, and add nsIDOMDocument* arguments to nsIClipboardHelper methods; r=roc
This patch does the following:

* It adds nsITransferable::Init(nsILoadContext*).  The load context
  might be null, which means that the transferable is non-private, but
  if it's non-null, we extract the boolean value for the privacy mode
  and store it in the transferable.
* It adds checks in debug builds to make sure that Init is always
  called, in form of fatal assertions.
* It adds nsIDOMDocument* agruments to nsIClipboardHelper methods which
  represent the document that the string is coming from.
  nsIClipboardHelper implementation internally gets the nsILoadContext
  from that and passes it on to the transferable upon creation.  The
  reason that I did this was that nsIClipboardHelper is supposed to be a
  high-level helper, and in most of its call sites, we have easy access
  to a document object.
* It modifies all of the call sites of the above interfaces according to
  this change.
* It adds a GetLoadContext helper to nsIDocument to help with changing
  the call sites.
2012-04-16 22:14:01 -04:00
Daniel Holbert
d0c73eda8f Bug 666041 patch 3: Create boilerplate nsFlexContainerFrame class. r=bz 2012-06-26 15:12:13 -07:00
Daniel Holbert
a445dcdc59 Bug 666041 patch 2.5: Add nsCSSFrameConstructor code for detecting when a flex container needs to have its frames rebuilt. r=bz 2012-06-26 15:11:53 -07:00
Daniel Holbert
348d6c9a3d Bug 666041 patch 2: Add "-moz-flex" & "-moz-inline-flex" values for "display" property. r=bz 2012-06-26 15:11:38 -07:00
Ed Morley
ef4179d2d4 Backout de70e79ced32, ddd519d0767e, 9b952d924953 & 03efce585669 (bug 758620) for reftest failures 2012-06-26 16:13:33 +01:00
Chris Lord
1448e862c1 Bug 758620 - Force fixed-position frames to have their own layers. r=roc
Introduce a new display-list item 'nsDisplayFixedPosition' that represents
fixed-position elements. This item cannot be merged, which forces fixed
position elements to have their own layer, and has a BuildLayer implementation
that sets the necessary metadata on a Layer to be able to maintain its
position correctly during composition when asynchronously panning and zooming.
2012-06-26 14:43:11 +01:00
Chris Lord
0b81e47018 Bug 758620 - Layout fixed-position frames to the set scroll-port. r=roc
If a scroll position clamping scroll-port size has been set, layout fixed
position frames with respect to this instead of the calculated containing
block size.
2012-06-26 14:42:57 +01:00
Ed Morley
fb876e555d Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-06-26 09:52:55 +01:00
Nicholas Cameron
03e8305815 Bug 757346; mask image format stuff - use A8 textures (except DX10) and some small, misc fixes. r=roc 2012-06-26 14:43:31 +12:00
Nicholas Cameron
34289b5948 Bug 757347; Add a shutdown hook and remove MaskImageFormat(). r=roc 2012-06-26 14:43:30 +12:00
Nicholas Cameron
dde00bf60b Bug 757347; changes to FrameLayerBuilder. r=roc 2012-06-26 14:43:30 +12:00
Nicholas Cameron
4a220c27be Bug 757347; changes to mask layer user data. r=roc 2012-06-26 14:43:30 +12:00
Nicholas Cameron
9a71fb3f8c Bug 757347; Add a cache for image containers. r=roc 2012-06-26 14:43:30 +12:00
Nicholas Cameron
549b63d97d Back out bug 757346
--HG--
extra : rebase_source : 8a07c2c56ca9dbc165012b679d421435cc886c2c
2012-06-26 10:54:05 +12:00
Jonathan Watt
6380335603 Bug 767388 - Kill NS_DEBUG. r=bz.
--HG--
extra : rebase_source : d045208a26345712dbb4628c973c616cd9504f28
2012-06-25 20:59:42 +01:00
Nicholas Cameron
aae4ecb5d0 Bug 757346; mask image format stuff - use A8 textures (except DX10) and some small, misc fixes. r=roc 2012-06-26 09:44:41 +12:00
Nicholas Cameron
f7821afd6f Bug 757347; Add a shutdown hook and remove MaskImageFormat(). r=roc 2012-06-26 09:44:41 +12:00
Nicholas Cameron
6f0ff4bb34 Bug 757347; changes to FrameLayerBuilder. r=roc 2012-06-26 09:44:41 +12:00
Nicholas Cameron
005c5ef480 Bug 757347; changes to mask layer user data. r=roc 2012-06-26 09:44:41 +12:00
Nicholas Cameron
8c7a60de72 Bug 757347; Add a cache for image containers. r=roc 2012-06-26 09:44:41 +12:00
Jonathan Watt
bae43f45b9 Bug 767996 - Prevent DoApplyRenderingChangeToTree calling nsSVGUtils::InvalidateBounds() and passing in an nsSVGOuterSVGFrame. r=me. 2012-06-25 18:55:30 +01:00
Aryeh Gregor
868bf136db Bug 766795 - Fix asserts when placing cursor in editable detached content; r=roc,ehsan 2012-06-24 09:54:43 +03:00
Bas Schouten
59e189f351 Bug 764117 - Part 1: Prefer performance over avoiding seaming in border drawing. r=roc 2012-06-22 16:27:38 +02:00
Robert O'Callahan
052a9b7ec1 Bug 766007. Create scrollframes for frameset documents. r=tnikkel 2012-06-22 22:51:05 +12:00
Mounir Lamouri
744531ad99 Back out bug 766007, bug 703241 and bug 752796 due to perma-orange (419f0d1b848b to 8661c74deeb5). 2012-06-22 11:13:32 +02:00
Robert O'Callahan
9cedb951bc Bug 703241. Part 2: Stop the 'scroll top of line into view' behavior when ancestors in the line are transformed or positioned. Allow that behavior for any kind of line-participant ancestor. r=mats 2012-06-22 17:06:54 +12:00
Robert O'Callahan
d9153fe2d6 Bug 703241. PresShell::DoScrollContentIntoView and PresShell::ScrollFrameRectIntoView should take transforms into account. r=matspal 2012-06-22 17:06:49 +12:00
Robert O'Callahan
9c75a25b45 Bug 766007. Create scrollframes for frameset documents. r=tnikkel 2012-06-22 17:06:40 +12:00
L. David Baron
e1952224d8 Implement new values of animation-direction. (Bug 655920) r=bzbarsky 2012-06-21 11:44:34 -07:00
Kartikaya Gupta
7c2ab6a7f0 Bug 755971 - Add methods to nsLayoutUtils to calculate the padding boxes. r=bz 2012-06-21 09:35:17 -04:00
Mats Palmgren
730cb4085d Bug 764541. r=smontagu 2012-06-21 12:51:38 +02:00
Ryan VanderMeulen
7d0e71644b Backout b35294da2c4b (bug 764117) due to OSX reftest orange. 2012-06-20 22:56:36 -04:00
Bas Schouten
217961fb06 Bug 764117: Prefer performance over avoiding seaming. r=roc 2012-06-20 23:41:13 +02:00
Scott Johnson
be16a4b22f Bug 763702, Part 2/2: Crashtest for bug 763702. [r=dbaron]
--HG--
extra : rebase_source : 46de60b9ddc1dd6c0f80be39d4f5491aa1525e90
2012-06-20 11:09:37 -05:00
Ehsan Akhgari
ba82a5d757 Bug 765597 - Invalidate the thebes layer as well as the overflow area when moving frames; r=dbaron 2012-06-19 16:47:27 -04:00
Jonathan Watt
70c1310055 Bug 766120 - Stop conflating effects offset and continuation union size in nsSVGIntegrationUtils. r=longsonr. 2012-06-19 16:28:04 +01:00
Ehsan Akhgari
8a54f4db7a Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (layout parts); r=roc
--HG--
extra : rebase_source : 9f3da1b47dcb9d7cc950488b9b70aa682b6984de
2012-06-18 23:26:34 -04:00
Kartikaya Gupta
51a77b21ba Bug 763570 - Part 2 - Add a scrollframe from frameset documents on Fennec, so that they work with async pan/zoom and touch events. r=bz 2012-06-15 17:49:53 -04:00
Kartikaya Gupta
5ace9309ab Bug 763570 - Part 1 - Back out 18b206c111cd from bug 747493 as we have a better solution that also fixes other broken frameset behaviours. r=tnikkel 2012-06-15 17:49:46 -04:00
Matt Brubeck
cee86ebe22 Merge last green changeset from inbound to mozilla-central 2012-06-13 13:23:54 -07:00
Scott Johnson
2332c9b000 Bug 733614: Backout changes from bug 695222 for mozilla 16 branch [r=dbaron]. 2012-06-13 11:00:56 -05:00
Siddharth Agarwal [
7674716a66 Bug 764376 - Fix references to |class nsArenaMemoryStats|; r=ehsan 2012-06-13 10:43:38 -04:00
Ed Morley
11c73f1659 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-06-12 10:36:42 +01:00
L. David Baron
0e73af2214 Don't assume ordering of callers of nsPresContext::ScreenWidthInchesForFontInflation; instead, track changes only for the caller that cares about changes. (Bug 759755, patch 5) r=bzbarsky 2012-06-11 22:43:31 -07:00
L. David Baron
5c2604b010 Properly dirty intrinsic widths when doing things that change inflation. (Bug 759755, patch 3) r=roc 2012-06-11 13:57:35 -07:00
L. David Baron
d5f5088f98 Back out patches 2 and 3 of bug 759755 for causing intermittent failures of layout/reftests/font-inflation/container-with-clamping.html . 2012-06-10 17:36:18 -07:00
Ryan VanderMeulen
891e38e528 Revert c39d36167b99 due to a horribly munged backout. 2012-06-10 19:44:50 -04:00
Ryan VanderMeulen
f497d31a0a Backout the bug 754202 backout due to orange. 2012-06-10 19:37:47 -04:00
Ryan VanderMeulen
9c1d160da3 Merge the last PGO-green inbound changeset to m-c 2012-06-10 18:21:22 -04:00
Olli Pettay
331cfaf7ec Bug 763014 - crash in PresShell::HandleEventInternal, r=mats 2012-06-11 00:45:09 +03:00
L. David Baron
7cb71d7b6a Properly dirty intrinsic widths when doing things that change inflation. (Bug 759755, patch 3) r=roc 2012-06-10 13:02:23 -07:00
Olli Pettay
ac6b89bfdb Bug 761613 - Merge nsIPrivateDOMEvent to nsIDOMEvent, r=jst 2012-06-10 21:14:30 +03:00
Boris Zbarsky
39f6f39d17 Bug 763424. Dynamic changes to generated content don't work correctly on frames which pass a child content insertion frame to ProcessChildren (e.g. <td>). r=dbaron 2012-06-11 18:21:35 -04:00
Matt Brubeck
e8e3af840b Re-land backout of bug 754202 and fix other accidental changes from merge 75b67011b798 on a CLOSED TREE 2012-06-11 11:12:18 -07:00
Nathan Froyd
df08b6c5cc Bug 674922 - report on most common objects allocated in a PresShell's arena; r=roc,njn 2012-06-06 13:35:40 -04:00
Nathan Froyd
07dd9516f2 Bug 674922 - report per-frame-type numbers in about:memory; r=njn,roc 2012-06-06 13:29:16 -04:00
Nathan Froyd
8aa1a6dc0a Bug 674922 - account for all of nsPresArena::State's members; r=njn 2012-06-05 12:33:54 -04:00
Ed Morley
a73fc227f9 Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms 2012-06-11 10:08:32 +01:00
Oleg Romashin
4d14e84fec Bug 539356 - Part 20 - Simplify regions to avoid excessive region calculation. r=roc 2012-06-11 16:45:39 +12:00
Matt Woodrow
b10091e4bd Bug 539356 - Part 19 - Only repaint retained layers after the previous repainted has been drawn to the window. r=roc 2012-06-11 16:45:39 +12:00
Matt Woodrow
e1a184f70a Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc 2012-06-11 16:45:39 +12:00
Matt Woodrow
2e295df184 Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc 2012-06-11 16:45:38 +12:00
Matt Woodrow
e1af0db87a Bug 741682 - Disable component alpha layers with BasicLayers. r=roc 2012-06-11 16:45:38 +12:00
Matt Woodrow
13e6b795f1 Bug 739671 - Store optimized Color/ImageLayers on the ThebesLayers that they replace. r=roc 2012-06-11 16:45:38 +12:00
Matt Woodrow
e0d2c896b0 Bug 539356 - Part 11 - Reimplement empty transactions. r=roc 2012-06-11 16:45:38 +12:00
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
1b5d7c74d7 Bug 539356 - Part 8b - Move painting of retained layers to the view manager flush, and only composite on the paint event. r=roc 2012-06-11 16:44:09 +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
Matt Woodrow
e15259b14a Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc 2012-06-11 16:44:08 +12:00
Matt Woodrow
bf4a985e44 Bug 539356 - Part 3 - Make GetParentPresContext() succeed when the current PresContext has no frames. r=bz 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
David Zbarsky
6025f51339 Bug 758533: Check that nsImageRenderer has an image when getting the container r=gal 2012-06-10 17:31:42 -07: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
74d05f0dd8 Bug 731293. Add nsLayoutUtils::GetParentOrPlaceholderForCrossDoc. r=mats 2012-06-09 00:22:51 +12:00
Robert O'Callahan
453c373374 Bug 731293. Remove nsFrameManager parameter from nsLayoutUtils::GetParentOrPlaceholderFor. r=mats 2012-06-09 00:22:25 +12:00
Robert O'Callahan
c94736b8a6 Bug 753329. Share ThebesLayerInvalidRegion for a given ContainerLayer across all the frames that are sharing that layer as their ContainerLayer. r=mattwoodrow
* * *
Bug 753329. Followup: put ThebesLayerInvalidRegionProperty in display-list-builder coordinates so it can be shared by frames with different coordinate systems. r=mattwoodrow
2012-06-07 22:07:32 +12:00
Robert O'Callahan
fc2e9d6bd1 Bug 761572. Allow click and dblclick events to be sent to an element even if it's made display:none during the mouseup event. r=smaug 2012-06-07 22:06:39 +12:00
Mounir Lamouri
8c421a5c03 Bug 760848 - Make select.size reflection follow the specifications. r=smaug 2012-06-07 01:27:53 +02: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
Ms2ger
1a2d55bdac Bug 760047 - Don't handle a null aDocument in nsGlobalWindow::SetNewDocument; r=mounir 2012-06-06 09:36:58 +02:00
Ms2ger
19f060907a Bug 629882 - Support currentColor in the 2D canvas context; r=dbaron
This changes nsCSSParser::ParseColorString to fill in an nsCSSValue instead
of an nscolor, and exposes nsRuleNode::ComputeColor to turn this nsCSSValue
into an nscolor.

Because gradients can be used with different canvas elements in different
documents, these cannot pass useful values for nsRuleNode::ComputeColor's
aPresContext and aStyleContext arguments. This patch also changes SetColor
to deal with those parameters being null.
2012-06-06 09:36:38 +02: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
c1eb117478 Bug 749186, Followup 2: Crashtest for bug 749186 [r=dbaron].
--HG--
extra : rebase_source : 8fd8b01b46c9150f8ba14f87b8b34aa6fa9da11c
2012-06-05 22:47:38 -05: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
Geoff Lankow
bdc2b4bb58 Merge m-c to m-i 2012-06-06 15:13:51 +12:00
Geoff Lankow
00f3a215c9 Bug 749930 - Replace uses of nsILocalFile with nsIFile (compiled code only); r=bsmedberg 2012-06-06 14:08:30 +12:00
L. David Baron
c0710aeffc Restore application of font size inflation to radios and checkboxes. (Bug 757937) r=roc 2012-06-04 16:26:30 -07:00
Nathan Froyd
3d989e8956 Bug 760812 - correct bitflags for allocating objects by size in nsPresArena; r=roc 2012-06-05 10:14:58 -04:00
Kartikaya Gupta
0e001bb8d0 Bug 758361 - Move the before-first-paint event so it doesn't get improperly triggered on a plugin codepath. r=bz 2012-06-04 12:26:03 -04:00
Boris Zbarsky
0d03951986 Bug 759997. Break out the three branches of SurfaceFromElement into separate functions so that we can call the one that matches the kind of element we have directly. r=roc 2012-05-31 14:16:49 -04:00
Joel Maher
d63c5a0460 Bug 748088 - Native android reftest are not testing OMTC+OGL. r=ajuma 2012-06-01 08:42:38 -04:00
Jeff Muizelaar
90cf6fdec4 Bug 759457. Don't fast path shadows with negative scale. r=roc
We don't support this yet, so don't bother trying.
2012-05-31 18:22:28 -04:00
Boris Zbarsky
1e390de796 Backed out changeset 6a46906eb017 (bug 759997) because the bug it depends on got backed out. 2012-05-31 17:05:03 -04:00
Boris Zbarsky
2cf407dadc Bug 759997. Break out the three branches of SurfaceFromElement into separate functions so that we can call the one that matches the kind of element we have directly. r=roc 2012-05-31 14:16:49 -04:00
L. David Baron
ef7ec688e3 Unprefix the border-image-* properties and add a temporary alias for -moz-border-image (but not for its subproperties, which we haven't shipped prefixed). (Bug 713643, patch 5) 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
Shriram Kunchanapalli
52a4aa2063 Bug 743581: Removes nsCRT::strlen(const PRUnichar*). f=sgautherie r=dougt 2012-05-30 18:43:39 +01: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
c35029e3ba Bug 758179. Part 1: Flush layout before calling nsFrame::HandlePress/HandleRelease. r=mats 2012-05-30 01:13:36 +12:00
Boris Zbarsky
89e50f89ed Bug 758885. Don't apply the dynamic :hover reresolution skipping optimization to selectors which can match on mutable state other than :hover. r=dbaron 2012-05-29 00:17:45 -04:00
Nicholas Cameron
87a457843f Bug 758561 - Don't build a mask for an empty layer. r=roc 2012-05-28 21:10:08 -04:00
Nicholas Cameron
d2dd125d17 Bug 757346 - Change from clipping the mask to drawing it. r=roc 2012-05-27 16:55:22 -04:00
Takanori MATSUURA
4e1026d682 Bug 751521 - Separate pixman detection from cairo. r=glandium 2012-05-26 08:44:00 +02:00
Alexander Surkov
a644c2f36d Bug 757670 - make nsIPresShell::GetLinkLocation faster, r=bz, tbsaunde 2012-05-24 15:57:16 +09:00
Kartikaya Gupta
8a9a864a95 Bug 748384 - Propagate page bounds and CSS page bounds in via compositor. r=Cwiiis,ajuma,mats 2012-05-23 10:51:39 -04:00
Neil Deakin
b9d2d5f9e3 Bug 757485, remove nsIXBLService and use nsXBLService directly, r=bz 2012-05-23 14:46:04 -04:00
Kartikaya Gupta
0f2c633486 Bug 748384 - Back out 330e9c52f9ac, 9ba1078559fe, 2ed39c12d792, f53f05ecacd5 for build bustage. r=bustage 2012-05-23 11:08:19 -04:00
Kartikaya Gupta
6ab5f951cd Bug 748384 - Propagate page bounds and CSS page bounds in via compositor. r=Cwiiis,ajuma,mats 2012-05-23 10:51:39 -04:00
Robert O'Callahan
9d09bfe7c0 Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel 2012-05-04 17:00:57 +12:00
Nicholas Cameron
8e7e5c8a18 Bug 753784; force mask layers to have a single tile - misc bits and pieces. r=roc 2012-05-17 10:30:10 +12:00
Nicholas Cameron
ff3f144642 Bug 753784; add the ability to force a single tile. r=roc 2012-05-22 19:14:03 -04:00
Jeff Muizelaar
b2782e5074 Bug 757039. Handle non-uniform scales when doing device space blurs. r=roc
The Java screenshoting code draws pages at non-uniform scales. It's not much
work to handle these so let's do it.

--HG--
extra : rebase_source : 6b3a2a6db21f9cff4ce97a5a10c368d95f730387
2012-05-22 11:32:08 -04:00
David Zbarsky
74e0408fed Bug 756813: Prevent creation of ImageLayer if ImageContainer is null r=gal 2012-05-21 10:47:40 -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
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
4fa0c843c9 Use the same width basis for font inflation throughout a font inflation flow root. (Bug 747720, patch 3) r=roc
Font inflation flow roots are similar to block formatting contexts,
though I'm trying to make not all block formatting contexts be flow
roots in later patches on this bug, bug 707195, and related bugs.

This will lead to more consistent font size inflation in a flow of text
where the blocks vary in width (e.g., because some of the blocks have
horizontal margins) but we determine the text to comprise a single flow.
2012-05-20 22:18:27 -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
Phil Ringnalda
e5bd6b809a Bug 688128 - Don't run test_flush_on_paint.html on OS X, where it mostly fails, r=roc 2012-05-18 22:22:55 -07: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
Jeff Muizelaar
cf350bd099 Bug 754985. Draw shadows in device space when using a uniform scale. r=roc
--HG--
extra : rebase_source : 9d5bf7c1e6a2373718724ace6da1229b2213c1b6
2012-05-16 16:45:25 -04:00
David Zbarsky
dc658d2398 Bug 756229 - Fix some layout warnings. r=roc 2012-05-18 11:42:39 -04:00
Robert Longson
3ca6774243 Bug 528332 - Implement non-scaling-stroke vector-effect. Part 1 - style system changes r=dbaron 2012-05-18 09:33:40 +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
Robert Longson
3d82caf05b Bug 512525 - Implement SVG Fragment Identifier parsing and animation hyperlinking - Part 2 main implementation. r=jwatt 2012-05-17 11:02:41 +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
Nicholas Cameron
b9c7de3bfd Bug 755078 - Disable mask layers on Android. r=roc 2012-05-17 10:30:10 +12:00
Mats Palmgren
6e5d59a73f Bug 754480 - Remove PresShell members associated with mContentToScrollTo, put that data in a temporary content property instead. part=3/3 r=bz 2012-05-16 19:32:40 +02:00
Mats Palmgren
29312bf552 Bug 754480 - Sort members in size order. Use narrower types where possible. part=2/3 r=bz 2012-05-16 19:32:40 +02:00
Mats Palmgren
48c17889f4 Bug 754480 - Remove unused mDragService member. part=1/3 r=bz 2012-05-16 19:32:40 +02:00
Trevor Saunders
60316084b6 bug 693933 - make nsFrameSelection::GetSelection() return nsTypedSelection* r=smaug 2012-04-06 17:54:38 -04:00
Robert O'Callahan
2c785185e1 Bug 754196. If ScrollToShowRect has no need to scroll, don't call ScrollTo, so pending smooth scrolls won't be interrupted. r=matspal 2012-05-16 17:40:57 +12:00
Ed Morley
8fd6f302fe Merge mozilla-central to mozilla-inbound 2012-05-15 18:19:25 +01:00
Serge Gautherie
ac415c0597 Bug 632408. (Bv1) Improve newer test code some more. r=roc. 2012-05-15 15:33:55 +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
Matt Woodrow
46963a8632 bug 750334 - rotating image appears too big during transition, then snaps to correct size r=roc
--HG--
extra : rebase_source : a8064d474693838e68f7b865f76043e1192a07a5
2012-05-15 10:31:39 +12:00
Ehsan Akhgari
5634d262e2 Bug 696229 - Adjust the hint correctly while drawing the caret for drag/drop so that it gets attached to the beginning of the lines correctly; r=roc 2012-05-11 14:50:19 -04:00
Nicholas Cameron
946c3ed9e9 Bug 754488 - Fix warning in FrameLayerBuilder.cpp. r=dholbert 2012-05-14 19:01:05 -04: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
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
Robert O'Callahan
338537b43a Bug 681192. Part 17: Disable test_transformed_scrolling_repaints_2.html on Mac. r=matspal
--HG--
extra : rebase_source : 6af0be8370c0e07e55954245f6a6305d04eb2a2b
2012-05-10 17:24:21 +12:00
Robert O'Callahan
b4c51b5b14 Bug 681192. Part 10: Control rounding direction of scaledOffset to try to make the residual be close to mActiveScrolledRootPosition. r=tnikkel
--HG--
extra : rebase_source : f27fb737f8956ed117df0be3a71da847cc2048c0
2012-05-10 17:24:20 +12:00
Robert O'Callahan
1b94d7fe2c Bug 681192. Part 6: Test that various scrolling operations inside scaled transforms don't trigger unnecessary repainting. r=matspal
--HG--
extra : rebase_source : a72afaa7ebb5e9b59cf574cd973f966eee5c7f45
2012-05-10 17:24:19 +12:00
Oleg Romashin
1c3d441a1d Bug 681192. Part 4: Make ScrollFrameRectIntoView compute a generous allowed scroll destination range. r=roc,matspal
--HG--
extra : rebase_source : 524add7c1080994dd1bc2345cbd6f54c15653d27
2012-02-07 12:22:53 -08:00
Robert O'Callahan
43cffcf97d Bug 681192. Part 0.3: Add FrameLayerBuilder::GetThebesLayerResolutionForFrame. r=mattwoodrow
--HG--
extra : rebase_source : eea4dee6d081de5c288e295f3549fc88b10e6c39
2012-05-10 17:24:18 +12:00
Robert O'Callahan
a86b9ab41d Bug 681192. Part 0.2: Use FuzzyEqual to check whether we need to invalidate ThebesLayers when subpixel offsets have changed. r=mattwoodrow
--HG--
extra : rebase_source : d0f8464aea9a436214d394123b1399105ccd0f66
2012-05-10 17:24:18 +12:00
Boris Zbarsky
2e3a0eefe3 Bug 751012. When saving frame state, make sure to walk through placeholders so we save the state of out-of-flow descendants properly. Also make sure to walk the continuations and special siblings of the root frame that we're saving state for. r=roc 2012-05-09 21:27:47 -04:00
Mats Palmgren
cdd7c645a3 Bug 751356 - Make presshell arena allocation methods inline and non-virtual. r=bz 2012-05-09 21:53:15 +02:00
Mats Palmgren
20063bafbd Bug 752953 - Simplify IntersectRect calculations. r=roc 2012-05-09 21:53:15 +02:00
Mats Palmgren
8d873e3e77 Bug 752953 - Typo in calculation of 'allowExpansion' (result will always be an empty rect) in nsDisplayScrollLayer::ComputeVisibility. r=roc 2012-05-09 21:53:15 +02: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
Nathan Froyd
6ed0590635 Bug 747508 - Count PresContexts in about:memory; r=njn 2012-05-07 16:09:11 -04:00
Simon Montagu
2be0ebd6db Make unicode-bidi: [-moz-]plaintext apply to inline elements. Bug 746987, r=roc 2012-05-09 11:44:52 +03: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
Chris Pearce
b3d3b85810 Bug 716107 part 3 - Don't dispatch 'MozShowFullScreenWarning' event upon keypress in DOM fullscreen mode. r=smaug 2012-05-09 09:47:18 +12:00
Chris Pearce
1379e2c7dc Bug 716107 part 2 - Remove full-screen-api.key-input-restricted keys pref. r=smaug 2012-05-09 09:47:18 +12:00
Simon Montagu
2a08ff1378 Fix some cases where a bidi-isolated element was never going through bidi resolution. Bug 731594, r=roc 2012-05-08 09:22:38 -07: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
efa60346db Reflow for screen size change when font.size.inflation.minTwips is set. (Bug 747231, patch 4) r=roc
--HG--
extra : transplant_source : %B2c%F2%B9%E0%1DL%DD%AF%A2%842R%F3%BB%60R%1B%9EI
2012-05-05 15:28:06 +02:00
L. David Baron
e0f7819e29 Expose DocumentViewerImpl::CallChildren with an API that fills an array. (Bug 747231, patch 3) r=roc
--HG--
extra : transplant_source : %FFc%40%AE%D6%22%40%1D%7F%F7%A8%BC%1A%ECG%98G%DCFf
2012-05-05 15:25:45 +02:00
L. David Baron
55af249e28 Cache the last device width we used for font inflation on the pres context so that we can track when it changes. (Bug 747231, patch 2) r=roc
--HG--
extra : transplant_source : %19%A1%9B%BC%FD_H%5C%60%BB%88%1E%F6%D1%D5%85%24%F7%26%1B
2012-05-05 15:25:45 +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
Ed Morley
87c7ae65b6 Backout 5c35cd6f3ea4 & ba39b0822992 (bug 607417) for native Android R1 failures 2012-05-04 14:26:09 +01:00
Robert O'Callahan
02b9f4cdf5 Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel
--HG--
extra : rebase_source : f68d53736e65c21a30a6248abe6b2b9ec32cdb17
2012-05-04 17:00:57 +12:00
Robert O'Callahan
f1052e524a backing out patches for bug 607417 due to build bustage 2012-05-04 17:29:05 +12:00
Robert O'Callahan
2e766e37ce Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel 2012-05-04 17:00:57 +12:00
Phil Ringnalda
78732b79ad Bug 738803 - Annotate the Windows assertions in 736924-1.html now that compartment-per-global has made them permanent on Win7 2012-05-03 19:48:06 -07:00
Mats Palmgren
f86f27bb38 Bug 751227 - Remove nsPresShell::mStackArena, make it a separate stack class. r=roc 2012-05-04 02:14:02 +02: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
bdf3368941 Bug 750745 - Rename nsPresArena::AllocateByCode/FreeByCode to AllocateByFrameID/FreeByFrameID. part=1/3 r=roc 2012-05-04 02:14:02 +02:00
Andreas Gal
f02dd1247e Do background image scaling on the GPU. Part 2: Support turning simple background images into image layers (bug 750172, r=roc). 2012-05-03 13:13:12 -07:00
Andreas Gal
decc52b9a1 Do background image scaling on the GPU. Part 1: Refactor nsCSSRendering to expose helpers we need in nsDisplayBackground::GetLayerState (bug 750172, r=roc). 2012-05-03 13:11:57 -07:00
Andreas Gal
6ced71cf11 Do image scaling on the GPU (bug 650988, r=roc,cjones). 2012-05-03 07:05:55 -07:00
Nicholas Cameron
925f7ef466 Bug 716439; load a mask texture in the OGL backend. r=BenWa 2012-03-19 09:08:49 +13:00
Nicholas Cameron
06d16ddac0 Bug 716439; creating mask layers. r=roc 2012-02-08 11:27:44 +13:00
Nicholas Cameron
30a8eb0b61 Bug 716439; recycling mask layers. r=roc 2012-02-08 11:26:40 +13:00
Nicholas Cameron
32f2aad481 Bug 716439; User data for mask layers. r=roc 2012-02-08 11:26:33 +13:00
Robert O'Callahan
12e3b37b2f Bug 749075. Part 2: Skip the guts of Accumulate if we're adding a display item in an area of the layer that's already opaque and visible. r=mattwoodrow
This patch moves some stuff that needs to be done for every item up to the front of the function, then checks to
see if the item is being added in an area that's already opaque and visible. If so (and assuming the
color-layer optimization has already been disabled), none of the rest of the method would do anything so we
can exit early. In particular we avoid calling IsUniform and GetOpaqueRegion on the item, and we also avoid
some expensive region manipulation.
2012-05-03 16:29:05 +12: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
Timothy Nikkel
674735aa60 Bug 749816. When setting the display port for an element We only need to discard layer contents when we are hiding a document with a widget. r=roc 2012-05-01 01:43:59 -05:00
Thomas Powell
c9dde4a2f2 Bug 742736 - Change box shadows to match rounded or sharp corners of shadowed object when round/sharp alternate corners; r=dbaron 2012-04-29 22:37:04 -04:00
Andreas Gal
0c2b4c6934 Render active layers at full resolution and transform them on the GPU (bug 750006, r=roc). 2012-04-29 14:41:13 -07:00
Matt Woodrow
af34986dc9 Bug 747718 - Disable ColorLayer optimizations when we have rounded-rect clipping. r=roc 2012-04-27 12:24:53 +12:00
Matt Woodrow
3585a9ddba Bug 740072 - Make perspective-origin check the style parent instead of frame parent. r=roc 2012-04-27 12:24:53 +12:00
Wes Johnston
7a5cda5328 Bug 741247 - Dispatch touch events to the active tabs presShell. r=smaug 2012-04-26 14:40:05 -07:00
Chris Lord
8f9b90984f Bug 745177 - Retain and re-use uploaded GL tiles. r=ajuma
Rather than discarding uploaded tiles once they fall outside of the valid
region, shuffle them off into a separate tile-store with all the metadata they
need to render them, and render them in the areas that our current valid
region doesn't cover in TiledThebesLayerOGL::RenderLayer.
2012-04-24 22:48:33 -04:00
Matt Brubeck
68fdd39a98 Back out 4114c654f5d0 (bug 745177) because of Mac build errors 2012-04-24 20:18:50 -07: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
Masayuki Nakano
f7ded730f8 Bug 731878 part.1 Implement D3E initMouseEvent() and getModifierState() but they shouldn't be public r=smaug 2012-04-25 12:00:01 +09:00
Chris Lord
7f2c8c3737 Bug 745177 - Retain and re-use uploaded GL tiles. r=ajuma
Rather than discarding uploaded tiles once they fall outside of the valid
region, shuffle them off into a separate tile-store with all the metadata they
need to render them, and render them in the areas that our current valid
region doesn't cover in TiledThebesLayerOGL::RenderLayer.
2012-04-24 22:48:33 -04:00
Patrick Wong
30fd6e9e6a Bug 745659 - Removed the nsPrintfCString constructor which takes a length and all corresponding instances that call that particular constructor. This is accomplished by removing the length component from the instantiation. r=jlebar 2012-04-24 14:43:00 -04: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
Simon Montagu
9dcf8f9502 bug 738101 - Use the new mozilla::unicode::GetBidiCat instead of the old GetBidiCat. r=jfkthame 2012-04-18 21:54:54 -07: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
George Wright
12d88421d4 Bug 747274 - Add a pref (default to true on Android) to forcible use nearest pixel filtering for background drawing. r=jrmuizel,ajuma a=blassey 2012-04-24 10:28:46 -04:00
Ehsan Akhgari
bf39be2f45 Backout 190fc7cd65c6 (bug 747274) for breaking Android R1; a=bustage 2012-04-23 19:06:10 -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
George Wright
97e5839e99 Bug 747274 - Add a pref (default to true on Android) to forcibly use nearest pixel filtering for background drawing. r=jrmuizel,ajuma a=blassey 2012-04-23 11:50:29 -04:00
Jeff Muizelaar
78533845be Bug 744901 - Store the page size in FrameMetrics in CSS pixels in addition to device pixels. r=cjones
--HG--
extra : rebase_source : ac38e2ff9dda55bd5dc44d757b67cb1550da1eaa
2012-04-12 15:55:26 -04:00
Mike Conley
4e49af0a00 Bug 746993 - Fix editor caret behaviour when pressing RETURN after a BR node. r=ehsan, a=tracking-firefox 2012-04-20 12:57:17 -04: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
Ehsan Akhgari
46549e86dd Backout changeset 5f1b5ab7afb5 (bug 735898) for reftest failures 2012-04-18 23:52:23 -04:00
Robert O'Callahan
4043fb2b03 Bug 735898. Part 8: Speed up SortByZOrder. r=dbaron,a=blocking-fennec 2012-04-19 14:40:43 +12: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
Robert O'Callahan
e94e05578d Bug 735898. Part 5.9: Remove nsDisplaySVGEffects::mEffectsFrame since it's always the same as mFrame. r=mattwoodrow,a=blocking-fennec 2012-04-18 17:12:53 +12:00
Ali Juma
ee7a3a3249 Bug 733941 - Let callers of imgIContainer::draw choose to clamp instead of tile. r=roc a=blocking-fennec 2012-04-17 18:04:15 -04:00
Wes Johnston
a2af451322 Bug 732016 - Don't call GetFrameFromPoint for non touchstart touch events. r=smaug 2012-04-17 10:08:23 -07:00
Daniel Holbert
3643243851 Bug 745991: In nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval, add explicit parenthesis around '&&' within '||' to silence GCC warning. r=smontagu 2012-04-17 09:56:15 -07:00
Timothy Nikkel
4061c74e60 Bug 728284. Don't try to paint an opaque background for widgets that do it themselves. r=roc 2012-04-17 01:04:05 -05:00
Robert O'Callahan
7da215f576 Bug 728983. Part 2: When display items for multiple frames are merged, track the merged frames and mark them all as having an associated container layer. This ensures that invalidations are processed correctly. r=mattwoodrow 2012-04-17 17:45:04 +12:00
Robert O'Callahan
e7e04f4dc1 Bug 728983. Part 1: Add nsDisplayItem::GetMergedFrames. r=mattwoodrow 2012-04-17 17:44:32 +12:00
L. David Baron
c1ad19f6be Use the font inflation data to disable font inflation for small pieces of text. (Bug 706193, patch 4) r=roc
This merely hooks up the computation done in the previous patches for
this bug to the decision on whether to do font size inflation.
2012-04-16 15:32:12 -07:00
L. David Baron
fccc8b20a7 Add a preference for the threshold at which we have enough text within a BFC to use font size inflation. (Bug 706193, patch 1) r=roc
The basic principle behind this preference is that we don't want to use
font size inflation when all the text that we would have inflated would
fit within a line or two.  We're better off preserving the layout than
inflating a small amount of text.  However, we don't want the inflation
decision to vary between adjacent paragraphs, so this decision needs to
be made once for each block formatting context.

Once the later patches for this bug cause this preference to be honored,
this will be a change in behavior.  The old behavior can be obtained by
setting the preference to 0.
2012-04-16 15:32:11 -07:00
Mounir Lamouri
e980c7d0bd Bug 745495 - Fix crash when using screen object from removed iframe. r=smaug 2012-04-16 11:33:35 +02: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
Robert O'Callahan
ec5d3ef73c Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow 2012-04-13 23:44:06 +12:00
Robert O'Callahan
d722131e30 Bug 744607. Intersect a display item's layer-pixels draw-rect with the snapped clip rect. r=tnikkel 2012-04-13 23:44:05 +12:00
Scott Johnson
32cca91967 Bug 708175: Disable font inflation for fixed-width or fixed-height input controls. [r=dbaron]
--HG--
rename : layout/reftests/font-inflation/input-text-1-ref.html => layout/reftests/font-inflation/input-text-1-height-ref.html
rename : layout/reftests/font-inflation/input-text-1.html => layout/reftests/font-inflation/input-text-1-height.html
rename : layout/reftests/font-inflation/input-text-1-ref.html => layout/reftests/font-inflation/input-text-1-noheight-ref.html
rename : layout/reftests/font-inflation/input-text-1.html => layout/reftests/font-inflation/input-text-1-noheight.html
rename : layout/reftests/font-inflation/input-text-2-ref.html => layout/reftests/font-inflation/input-text-2-height-ref.html
rename : layout/reftests/font-inflation/input-text-2.html => layout/reftests/font-inflation/input-text-2-height.html
rename : layout/reftests/font-inflation/input-text-2-ref.html => layout/reftests/font-inflation/input-text-2-noheight-ref.html
rename : layout/reftests/font-inflation/input-text-2-ref.html => layout/reftests/font-inflation/input-text-2-noheight.html
rename : layout/reftests/font-inflation/input-text-3-ref.html => layout/reftests/font-inflation/input-text-3-height-ref.html
rename : layout/reftests/font-inflation/input-text-3.html => layout/reftests/font-inflation/input-text-3-height.html
rename : layout/reftests/font-inflation/input-text-3-ref.html => layout/reftests/font-inflation/input-text-3-noheight-ref.html
rename : layout/reftests/font-inflation/input-text-3.html => layout/reftests/font-inflation/input-text-3-noheight.html
2012-04-13 02:21:39 -05: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
Matt Brubeck
a900917304 Back out 6d41ddb6b9bc (bug 708175) because of Android test failures 2012-04-11 20:08:54 -07:00
Scott Johnson
de8896f75e Bug 708175: Disable font inflation for fixed-width or fixed-height input controls. [r=dbaron]
--HG--
rename : layout/reftests/font-inflation/input-text-1-ref.html => layout/reftests/font-inflation/input-text-1-height-ref.html
rename : layout/reftests/font-inflation/input-text-1.html => layout/reftests/font-inflation/input-text-1-height.html
rename : layout/reftests/font-inflation/input-text-1-ref.html => layout/reftests/font-inflation/input-text-1-noheight-ref.html
rename : layout/reftests/font-inflation/input-text-1.html => layout/reftests/font-inflation/input-text-1-noheight.html
rename : layout/reftests/font-inflation/input-text-2-ref.html => layout/reftests/font-inflation/input-text-2-height-ref.html
rename : layout/reftests/font-inflation/input-text-2.html => layout/reftests/font-inflation/input-text-2-height.html
rename : layout/reftests/font-inflation/input-text-2-ref.html => layout/reftests/font-inflation/input-text-2-noheight-ref.html
rename : layout/reftests/font-inflation/input-text-2-ref.html => layout/reftests/font-inflation/input-text-2-noheight.html
rename : layout/reftests/font-inflation/input-text-3-ref.html => layout/reftests/font-inflation/input-text-3-height-ref.html
rename : layout/reftests/font-inflation/input-text-3.html => layout/reftests/font-inflation/input-text-3-height.html
rename : layout/reftests/font-inflation/input-text-3-ref.html => layout/reftests/font-inflation/input-text-3-noheight-ref.html
rename : layout/reftests/font-inflation/input-text-3.html => layout/reftests/font-inflation/input-text-3-noheight.html
2012-04-11 18:12:19 -05:00
David Humphrey (:humph)
9534b79926 Bug 633602 - Implement Pointer Lock (Mouse Lock) API. r=roc,smaug 2012-04-11 17:55:21 -04: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
84a03695da Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow 2012-04-11 16:48:47 +12:00
Robert O'Callahan
04eb195d7e Bug 735898. Part 0: Fix comment. 2012-04-11 16:48:37 +12:00
L. David Baron
8b45fe3efa Run font inflation reftests with the reftest harness rather than inside of mochitest. (Bug 743817) r=sjohnson
--HG--
rename : layout/base/tests/font-inflation/bug707855-innerFrame-ref.html => layout/reftests/font-inflation/bug707855-innerFrame-ref.html
rename : layout/base/tests/font-inflation/bug707855-innerFrame.html => layout/reftests/font-inflation/bug707855-innerFrame.html
rename : layout/base/tests/font-inflation/bug707855-ref.html => layout/reftests/font-inflation/bug707855-ref.html
rename : layout/base/tests/font-inflation/bug707855.html => layout/reftests/font-inflation/bug707855.html
rename : layout/base/tests/font-inflation/bullet-1-ref.html => layout/reftests/font-inflation/bullet-1-ref.html
rename : layout/base/tests/font-inflation/bullet-1.html => layout/reftests/font-inflation/bullet-1.html
rename : layout/base/tests/font-inflation/bullet-2-ref.html => layout/reftests/font-inflation/bullet-2-ref.html
rename : layout/base/tests/font-inflation/bullet-2.html => layout/reftests/font-inflation/bullet-2.html
rename : layout/base/tests/font-inflation/consecutive-inline-ref.html => layout/reftests/font-inflation/consecutive-inline-ref.html
rename : layout/base/tests/font-inflation/consecutive-inline.html => layout/reftests/font-inflation/consecutive-inline.html
rename : layout/base/tests/font-inflation/container-with-clamping-innerFrame-ref.html => layout/reftests/font-inflation/container-with-clamping-innerFrame-ref.html
rename : layout/base/tests/font-inflation/container-with-clamping-innerFrame.html => layout/reftests/font-inflation/container-with-clamping-innerFrame.html
rename : layout/base/tests/font-inflation/container-with-clamping-ref.html => layout/reftests/font-inflation/container-with-clamping-ref.html
rename : layout/base/tests/font-inflation/container-with-clamping.html => layout/reftests/font-inflation/container-with-clamping.html
rename : layout/base/tests/font-inflation/css-transform-1-ref.html => layout/reftests/font-inflation/css-transform-1-ref.html
rename : layout/base/tests/font-inflation/css-transform-1.html => layout/reftests/font-inflation/css-transform-1.html
rename : layout/base/tests/font-inflation/css-transform-2-ref.html => layout/reftests/font-inflation/css-transform-2-ref.html
rename : layout/base/tests/font-inflation/css-transform-2.html => layout/reftests/font-inflation/css-transform-2.html
rename : layout/base/tests/font-inflation/decoration-1-ref.html => layout/reftests/font-inflation/decoration-1-ref.html
rename : layout/base/tests/font-inflation/decoration-1.html => layout/reftests/font-inflation/decoration-1.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile-2.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile-2.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile-3.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile-3.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile-4.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile-4.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile-ref.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile-ref.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile.html
rename : layout/base/tests/font-inflation/fixed-height-body-child-ref.html => layout/reftests/font-inflation/fixed-height-body-child-ref.html
rename : layout/base/tests/font-inflation/fixed-height-body-child.html => layout/reftests/font-inflation/fixed-height-body-child.html
rename : layout/base/tests/font-inflation/fixed-height-body-ref.html => layout/reftests/font-inflation/fixed-height-body-ref.html
rename : layout/base/tests/font-inflation/fixed-height-body.html => layout/reftests/font-inflation/fixed-height-body.html
rename : layout/base/tests/font-inflation/input-checkbox.html => layout/reftests/font-inflation/input-checkbox.html
rename : layout/base/tests/font-inflation/input-radio.html => layout/reftests/font-inflation/input-radio.html
rename : layout/base/tests/font-inflation/input-text-1-ref.html => layout/reftests/font-inflation/input-text-1-ref.html
rename : layout/base/tests/font-inflation/input-text-1.html => layout/reftests/font-inflation/input-text-1.html
rename : layout/base/tests/font-inflation/input-text-2-ref.html => layout/reftests/font-inflation/input-text-2-ref.html
rename : layout/base/tests/font-inflation/input-text-2.html => layout/reftests/font-inflation/input-text-2.html
rename : layout/base/tests/font-inflation/input-text-3-ref.html => layout/reftests/font-inflation/input-text-3-ref.html
rename : layout/base/tests/font-inflation/input-text-3.html => layout/reftests/font-inflation/input-text-3.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1a-ref.html => layout/reftests/font-inflation/intrinsic-fit-1a-ref.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1a.html => layout/reftests/font-inflation/intrinsic-fit-1a.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1b-ref.html => layout/reftests/font-inflation/intrinsic-fit-1b-ref.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1b.html => layout/reftests/font-inflation/intrinsic-fit-1b.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1c-ref.html => layout/reftests/font-inflation/intrinsic-fit-1c-ref.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1c.html => layout/reftests/font-inflation/intrinsic-fit-1c.html
rename : layout/base/tests/font-inflation/intrinsic-fit-2a.html => layout/reftests/font-inflation/intrinsic-fit-2a.html
rename : layout/base/tests/font-inflation/intrinsic-fit-2b.html => layout/reftests/font-inflation/intrinsic-fit-2b.html
rename : layout/base/tests/font-inflation/intrinsic-fit-2c.html => layout/reftests/font-inflation/intrinsic-fit-2c.html
rename : layout/base/tests/font-inflation/intrinsic-max-1-ref.html => layout/reftests/font-inflation/intrinsic-max-1-ref.html
rename : layout/base/tests/font-inflation/intrinsic-max-1.html => layout/reftests/font-inflation/intrinsic-max-1.html
rename : layout/base/tests/font-inflation/intrinsic-min-1-ref.html => layout/reftests/font-inflation/intrinsic-min-1-ref.html
rename : layout/base/tests/font-inflation/intrinsic-min-1.html => layout/reftests/font-inflation/intrinsic-min-1.html
rename : layout/base/tests/font-inflation/preformatted-text-ref.html => layout/reftests/font-inflation/preformatted-text-ref.html
rename : layout/base/tests/font-inflation/preformatted-text.html => layout/reftests/font-inflation/preformatted-text.html
rename : layout/base/tests/font-inflation/select-combobox-1-ref.html => layout/reftests/font-inflation/select-combobox-1-ref.html
rename : layout/base/tests/font-inflation/select-combobox-1.html => layout/reftests/font-inflation/select-combobox-1.html
rename : layout/base/tests/font-inflation/select-combobox-2-ref.html => layout/reftests/font-inflation/select-combobox-2-ref.html
rename : layout/base/tests/font-inflation/select-combobox-2.html => layout/reftests/font-inflation/select-combobox-2.html
rename : layout/base/tests/font-inflation/select-listbox-1-ref.html => layout/reftests/font-inflation/select-listbox-1-ref.html
rename : layout/base/tests/font-inflation/select-listbox-1.html => layout/reftests/font-inflation/select-listbox-1.html
rename : layout/base/tests/font-inflation/select-listbox-2-ref.html => layout/reftests/font-inflation/select-listbox-2-ref.html
rename : layout/base/tests/font-inflation/select-listbox-2.html => layout/reftests/font-inflation/select-listbox-2.html
rename : layout/base/tests/font-inflation/text-1-ref.html => layout/reftests/font-inflation/text-1-ref.html
rename : layout/base/tests/font-inflation/text-1.html => layout/reftests/font-inflation/text-1.html
rename : layout/base/tests/font-inflation/text-2-ref.html => layout/reftests/font-inflation/text-2-ref.html
rename : layout/base/tests/font-inflation/text-2.html => layout/reftests/font-inflation/text-2.html
rename : layout/base/tests/font-inflation/text-3-ref.html => layout/reftests/font-inflation/text-3-ref.html
rename : layout/base/tests/font-inflation/text-3.html => layout/reftests/font-inflation/text-3.html
rename : layout/base/tests/font-inflation/text-4-ref.html => layout/reftests/font-inflation/text-4-ref.html
rename : layout/base/tests/font-inflation/text-4.html => layout/reftests/font-inflation/text-4.html
rename : layout/base/tests/font-inflation/textarea-1-ref.html => layout/reftests/font-inflation/textarea-1-ref.html
rename : layout/base/tests/font-inflation/textarea-1.html => layout/reftests/font-inflation/textarea-1.html
rename : layout/base/tests/font-inflation/textarea-2-ref.html => layout/reftests/font-inflation/textarea-2-ref.html
rename : layout/base/tests/font-inflation/textarea-2.html => layout/reftests/font-inflation/textarea-2.html
rename : layout/base/tests/font-inflation/textarea-3-ref.html => layout/reftests/font-inflation/textarea-3-ref.html
rename : layout/base/tests/font-inflation/textarea-3.html => layout/reftests/font-inflation/textarea-3.html
rename : layout/base/tests/font-inflation/video-1.html => layout/reftests/font-inflation/video-1.html
2012-04-10 10:56:59 -07: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
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