Commit Graph

1794 Commits

Author SHA1 Message Date
Kartikaya Gupta
f7078e6ca5 Bug 918288 - Add code to TabChild to dispatch the SetTargetAPZC notification. r=roc,botond 2014-11-21 21:36:25 -05:00
David Anderson
9b52de759d Cache the current animated geometry root in nsDisplayListBuilder. (bug 1101260 part 1, r=roc) 2014-11-20 16:58:18 -08:00
Mats Palmgren
249ccee969 Bug 907396 - Make RestyleManager::RestyleElement and nsCSSFrameConstructor::MaybeRecreateFramesForElement deal with display:contents elements. r=bzbarsky 2014-11-20 18:24:10 +00:00
Mats Palmgren
f629d6318c Bug 907396 - Put display:contents support behind a pref - disabled by default. r=dholbert 2014-11-20 18:24:09 +00:00
Jonathan Kew
2512a00c24 Bug 1110181 - Move mTextOrientation to the nsStyleVisibility struct to avoid potential recursive dependency in nsStyleText. r=dbaron 2014-12-11 18:56:19 +00:00
Daniel Holbert
100c4f77be Bug 624647 part 1: Add utility method nsLayoutUtils::ComputeObjectDestRect() to handle object-fit/object-position. r=seth 2014-11-14 16:45:23 -08:00
Benoit Girard
de95949f46 Bug 1094442 - Part 1: Refactor how tile w/h is queried r=kats 2014-11-12 17:54:29 -05:00
Botond Ballo
8e10bf2d87 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
5ff0017ed7 Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
4eddb9ef90 Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Carsten "Tomcat" Book
5ab7b878a7 Backed out changeset fbb9dc943109 (bug 1076163) for Android 4.0 Crashes on a CLOSED TREE 2014-11-13 11:47:57 +01:00
Carsten "Tomcat" Book
4a50bc99ae Backed out changeset 71fe4233208a (bug 1076163) 2014-11-13 11:47:35 +01:00
Carsten "Tomcat" Book
52d5b03991 Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Jonathan Kew
e7e5f2df11 Bug 1093553 - Improve handling of line-height metrics, block ascent, etc., in vertical writing mode. r=smontagu 2014-11-13 08:58:06 +00:00
Jonathan Kew
4d2d4addf1 Bug 1093165 - Include the text-orientation value in WritingMode, and add the IsSideways flag for baseline decisions. r=smontagu 2014-11-13 08:58:04 +00:00
Botond Ballo
031c8b1c39 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
4bdb5115eb Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
9b6d326e37 Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Jim Mathies
9a39813c35 Bug 669200 - Various widget changes to support two new types of plugin widget. r=roc 2014-11-12 14:59:19 -06:00
Morris Tseng
5998dde150 Bug 1094056 - Use nsCaret::GetGeometryForFrame to determine position of selection carets. r=roc 2014-11-11 22:54:00 +01:00
James Kitchener
9163a228f3 Bug 1002526 - Part 5 - Force <math> element's font inflation in <mtd> descendants. b=1002526. r=roc 2014-11-06 14:01:00 +01:00
Timothy Nikkel
f75ecfa56a Bug 1086683. We need to take into account the resolution when comparing the size of a frame and it's associated widget. r=botond
The size of the frame is scaled by the local resolution of it's presshell. The widget contains the document, so it's size is scaled the parent presshell resolution, but not the local presshell resolution. So comparing the widget size and the frame size directly without taking into account resolution is wrong.
2014-11-06 00:42:17 -06:00
Robert O'Callahan
868df2abeb Bug 1083635. Part 4: Return LayerManager from nsDisplayList::PaintRoot, and dump its contents in nsLayoutUtils::PaintFrame. r=mattwoodrow 2014-10-21 10:32:10 +13:00
Robert O'Callahan
13169603c4 Bug 1083635. Part 3: Flush displaylist dump before calling PaintRoot. r=mattwoodrow 2014-10-21 10:32:10 +13:00
Kartikaya Gupta
34df777ecb Bug 1078029 - Add code to reposition input event coordinates into the target frame. r=roc
The PositionedEventTargeting code allows input events to be dispatched to a
target not directly under the input event point. However, the coordinates of the
input event can then end up outside the bounding rect of the event target. This
state is generally unexpected by web content and may cause compatibility issues.
Fennec's front-end code used to deal with this by repositioning the input event
coordinates to be inside the bounding rect; now that Fennec is using the shared
C++ code we need to have that code here. This behaviour is guarded by a pref and
disabled by default (but enabled on Fennec).
2014-11-04 09:52:16 -05:00
Jonathan Watt
eceb3099ee Bug 1091794 - Replace gfxCornerSizes with Moz2D's RectCornerRadii. r=mattwoodrow 2014-11-01 10:45:10 +00:00
Jonathan Watt
2ae60576c4 Bug 1091323 - Convert the nsLayoutUtils helpers that paint images and take an nsRenderingContext to take a gfxContext instead. r=seth 2014-11-01 10:45:09 +00:00
Jonathan Watt
b431664247 Bug 651021 - Make nsRenderingContext a stack class. r=jrmuizel 2014-10-31 20:08:49 +00:00
Chris Pearce
ba61cbee5b Bug 1071482 - Make content encrypted via EME inaccessible from JS APIs. r=roc 2014-10-28 13:21:12 +13:00
Ryan VanderMeulen
6e2135feef Backed out changesets 62a8be146b4b, d9a9008a1e93, e6761281d389, and 913e16c2877b (bug 1071482) for causing various intermittent failures. 2014-10-29 12:31:43 -04:00
Robert O'Callahan
dd6789b518 Bug 1088498. Treat anchor offsets just less than 0.5 as 0.5 when rounding. r=seth 2014-10-29 15:08:40 +13:00
Robert O'Callahan
e2a7560d05 Bug 1052900. Restore -moz-win-exclude-glass handling to the way it worked before. r=tn 2014-10-29 12:33:52 +13:00
Chris Pearce
e8c7d1c503 Bug 1071482 - Make content encrypted via EME inaccessible from JS APIs. r=roc 2014-10-28 13:21:12 +13:00
Jonathan Watt
38d8f2dd23 Bug 1088781 - Rename nsLayoutUtils::GetStringWidth to nsLayoutUtils::AppUnitWidthOfStringBidi. r=dholbert 2014-10-26 17:57:49 +00:00
Botond Ballo
44b608d976 Bug 1085569 - When calculating the composition bounds based on the frame size, use the cumulative resolution rather than the parent resolution everywhere. r=tn 2014-10-20 15:53:29 -04:00
Jonathan Watt
a459e03874 Bug 1088625, part 3 - Remove nsRenderingContext's SetFont, FontMetrics and SetTextRunRTL methods now that no one uses them any more. r=mstange 2014-10-24 16:28:15 +01:00
Jonathan Watt
3c69ad6faa Bug 1088625, part 2 - Pass nsFontMetrics objects through to code that needs it instead of storing it on the nsRenderingContext. r=mstange 2014-10-24 16:28:14 +01:00
Jonathan Watt
05b59bc989 Bug 1088625, part 1 - Add lots of missing nsFontMetrics.h and gfxTextRun.h includes 2014-10-24 16:28:14 +01:00
Jonathan Watt
abbc6ac8ac Bug 1088599 - Move nsRenderingContext::GetBoundingMetrics to nsLayoutUtils. r=mstange 2014-10-24 16:28:14 +01:00
Jonathan Watt
10b10a6bef Bug 1088550 - Move nsRenderingContext's remaining GetWidth methods to nsLayoutUtils. r=mstange 2014-10-24 16:28:13 +01:00
Jonathan Watt
3d7cc0843f Bug 1088071, part 2 - Move the nsRenderingContext::DrawString code to nsLayoutUtils::DrawUniDirString. r=jfkthame 2014-10-24 11:00:23 +01:00
Jonathan Watt
16e135bc53 Bug 1088071, part 1 - Wrap the callers of the final nsRenderingContext::DrawString method up in a new nsLayoutUtils::DrawUniDirString method. r=jfkthame 2014-10-24 11:00:23 +01:00
Matt Woodrow
8d847a7a2a Bug 1078337 - Correctly respect the source rect in DrawSingleImage. r=seth 2014-10-23 11:41:14 +13:00
Jonathan Watt
3b52cf43ad Bug 1086708 - Rename the snapping variant of NSRectToRect to NSRectToSnappedRect. r=mattwoodrow 2014-10-22 12:29:06 +01:00
Robert O'Callahan
8633487ab3 Bug 1073290. Don't render with displayports if we're not painting to the window. r=mattwoodrow 2014-10-21 10:32:11 +13:00
Benoit Girard
8ad6049025 Bug 961871 - Part 2: Refactor will-change scroll, pass through a nsDisplayListBuilder. r=mattwoodrow 2014-10-21 21:54:06 -04:00
Jonathan Watt
737ed37340 Bug 1085167, part 2 - Get rid of nsRenderingContext's DeviceContext and any need for it to know about app-units-per-device-pixel. r=mattwoodrow 2014-10-20 10:55:49 +01:00
Jonathan Watt
5d42f29aa8 Bug 1085159 - Port the code that uses nsRenderingContext::DrawLine() to Moz2D. r=mattwoodrow 2014-10-20 10:55:48 +01:00
Jonathan Watt
6a1953e045 Bug 1083597, part 2 - Add a variant of NSRectToRect that snaps to device pixels, and have nsTableCellFrame::DecorateForSelection use it to restore its snapping behavior. 2014-10-19 11:47:22 +01:00
Jonathan Watt
a85c726c1e Bug 1083557 - Port the code that uses nsRenderingContext::FillPolygon() to Moz2D. r=mattwoodrow 2014-10-17 15:06:34 +01:00