Commit Graph

7571 Commits

Author SHA1 Message Date
Ting-Yu Lin
4e6fe284fc Bug 1097094 - Keep a WeakPtr to nsDocShell in SectionCarets. r=roc
When SelectionCarets::Terminate() is called, it's not guaranteed that we
can get nsDocShell from PresContext. It causes that SelectionCarets
cannot remove itself as an observer.

To fix this, we keep a member WeakPtr<nsDocShell> so that we can always
have nsDocShell in SelectionCarets::Terminate().
2014-11-13 08:32:00 -05:00
Morris Tseng
ca0f216c74 Bug 1096169 - Handle selection carets overlapping case. r=roc 2014-11-12 23:03:00 -05:00
Botond Ballo
27647aabec Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
2124b8b94c Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
08963b106d 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
f8a9a0cf8d 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
b4345a9bb4 Backed out changeset 71fe4233208a (bug 1076163) 2014-11-13 11:47:35 +01:00
Carsten "Tomcat" Book
5b163a6b8b Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Jonathan Kew
4d8e08f61a Bug 1093553 - Followup to fix positioning of the caret with writing-mode:vertical-lr and text-orientation:sideways-right. r=smontagu 2014-11-13 08:58:06 +00:00
Jonathan Kew
05381c64c7 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
ecfeb14da7 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
L. David Baron
771a066d41 Bug 1086937 patch 2 - Use eRestyle_ChangeAnimationPhaseDescendants to get the right style data in RestyleManager::RebuildAllStyleData. r=birtles
Until we get rid of animation phases in bug 960465, we need to ensure
we're producing style data for the correct animation phase.  This makes
this optimization slightly less beneficial until then.
2014-11-12 23:28:52 -08:00
L. David Baron
a8e8f8637b Bug 1086937 patch 1 - Add eRestyle_ChangeAnimationPhaseDescendants restyle hint that is like eRestyle_ChangeAnimationPhase, but for a whole subtree. r=birtles 2014-11-12 23:28:52 -08:00
L. David Baron
387d8bbbf3 Bug 1086937 patch 0 - Add missing null check of root element so this patch series doesn't expose a crash in layout/style/crashtests/472237-1.html . r=birtles 2014-11-12 23:28:52 -08:00
Botond Ballo
c54c9d42eb Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats
--HG--
extra : rebase_source : af7323668fb54079e121755660da2121bec3d76b
2014-11-10 14:35:11 -05:00
Botond Ballo
2105a1529d Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
df8b0f8a7a 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
16fae775ad Bug 669200 - Various widget changes to support two new types of plugin widget. r=roc 2014-11-12 14:59:19 -06:00
Robert O'Callahan
8dda40ff1a Bug 1092842. When setting cliprects on background color display items, don't shrink them to exclude opaque borders (unless there's nonzero border-radius). r=mattwoodrow
By not excluding opaque borders from the display item cliprects, we produce
a larger opaque area for opaque background items.

--HG--
extra : rebase_source : 4e27157c2b60d1a0386a4db681dd8f1e741b61fd
2014-11-12 20:53:03 +13:00
Maksim Lebedev
37e32248e2 Bug 1094913 - Set pointerType to got/lostpointercapture events. r=smaug 2014-11-11 08:29:00 +01:00
Maksim Lebedev
09fa9beb22 Bug 1094913 - Test for detecting attribute 'pointerType' in got/lostpointercapture events. r=smaug 2014-11-10 06:22:00 +01:00
Morris Tseng
4020b5f61e Bug 1094056 - Use nsCaret::GetGeometryForFrame to determine position of selection carets. r=roc 2014-11-11 22:54:00 +01:00
Ting-Yu Lin
a6797853d9 Bug 1073457 - Launch long tap detector when APZ isn't enabled. f=mtseng, r=roc
LaunchLongTapDetector() is used to fire long tap to select word when
async pan zoom is not enabled. We should check if async pan zoom is
enabled rather than check whether it's on main process.

This can also fix selection carets not working on e10s.
2014-11-10 00:29:00 +01:00
Carsten "Tomcat" Book
1c2a463484 Backed out changeset 61fa2ff606b8 (bug 1083004) 2014-11-12 11:25:51 +01:00
Xidorn Quan
05c9cf167b Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-12 17:31:37 +11:00
Xidorn Quan
ba90088e5a Bug 1088489 - Meet the specification for pseudo ruby box generation. r=bz 2014-11-12 14:44:36 +11:00
Karl Tomlinson
e04362ca98 backout bug 1096132 for Mac build failure
--HG--
extra : rebase_source : 6994fe50e8fb1a4f89298e1b9ad1c714acdfe39e
2014-11-12 16:02:34 +13:00
Karl Tomlinson
8395221632 bug 1096131 clarify docs for LayoutDevicePixels and LayerPixels r=kats f=tn
--HG--
extra : rebase_source : c2e854a7af06abbfcd9bb95fef3ac241472b88b5
2014-11-08 12:39:42 +13:00
Karl Tomlinson
b61db0deda bug 1096132 rename nsDeviceContext PixelScale to FullZoom r=tn
--HG--
extra : rebase_source : 06d57772b2dc04d606b3d98517085aeb817ae0e8
2014-11-10 15:47:55 +13:00
Karl Tomlinson
1085e66407 bug 1096132 rename UnscaledAppUnitsPerDevPixel() to AppUnitsPerDevPixelAtUnitFullZoom() r=tn
--HG--
extra : rebase_source : 113b249f2cb6f1619e0b1a495655726b5100038b
2014-11-08 17:48:14 +13:00
Ryan VanderMeulen
3b01e527e7 Backed out changesets 857063c82323 and a19479860eb4 (bug 619521) for Valgrind failures.
CLOSED TREE
2014-11-11 13:10:56 -05:00
Jonathan Kew
f99a9f0726 Bug 619521 - Part 1: Send a notification of any scripts for which font coverage is lacking. r=jdaggett 2014-11-07 06:32:00 -05:00
Olli Pettay
161ed19bd4 Bug 1096076 - [E10s] When resizing a window, all the tabs are resized, r=roc 2014-11-11 00:38:28 +02:00
Carsten "Tomcat" Book
ef05c06bd3 Backed out changeset a263c8cfb04f (bug 1083004) for m5 test failures 2014-11-11 08:14:42 +01:00
Xidorn Quan
59930567cd Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-11 16:41:58 +11:00
Wes Kocher
7cb16d8094 Backed out 3 changesets (bug 1092888) for marionette bustage on a CLOSED TREE
Backed out changeset eeff2ff03d39 (bug 1092888)
Backed out changeset c25a6fd7903f (bug 1092888)
Backed out changeset e4e735cdd665 (bug 1092888)
2014-11-10 14:47:52 -08:00
Morris Tseng
b7bd9a936c Bug 1092888 - Part 2: Check pointer of FrameSelection and Selection is valid. r=roc
--HG--
extra : rebase_source : 9e343626d67f6d9d4435535e3d10535ca1006cf0
2014-11-10 02:04:00 -05:00
Morris Tseng
2f2f7fc544 Bug 1092888 - Part 1: Remove preference for selection carets with non-editable fields support. r=roc
--HG--
extra : rebase_source : 23e1c11c1a89a5e5fa4d80af6abace7d1c7e2012
2014-11-10 02:03:00 -05:00
Ting-Yu Lin
de2e32e0d8 Bug 1094607 - Move scroll observer logic to SelectionCarets. r=roc 2014-11-05 22:00:00 +01:00
Xidorn Quan
9799359f36 Bug 1063857 - Fix reftests for new justification algorithm.
--HG--
rename : layout/reftests/bugs/503399-ref.html => layout/base/tests/bug503399-ref.html
rename : layout/reftests/bugs/503399.html => layout/base/tests/bug503399.html
2014-11-10 12:24:51 +11:00
Kartikaya Gupta
404d8a0fd5 Bug 1093686 - Add a test to ensure event listeners on the body don't affect event retargeting. r=roc 2014-11-06 08:05:51 -05:00
Robert O'Callahan
520d67c9ca Bug 1083635. Part 7: Fix UpdateLayerTree to sync-decode images and flush pending notifications. r=mattwoodrow
--HG--
extra : rebase_source : d13f993c4dd1b868f47b6c79b39172bb40b3871c
2014-11-07 13:20:27 +13:00
James Kitchener
ab38070c5d 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
Jonathan Watt
e13922053c Bug 1094063, part 1 - Stop nsCSSBorderRenderer::DrawBorders from sometimes drawing the border twice. r=mattwoodrow
--HG--
extra : rebase_source : 091c0cbbe0cf6f7bf0dcfa4fcabe9c4c31e23c42
2014-11-06 22:07:36 +00:00
Jonathan Watt
fc1b004739 Bug 1094480 - Fix rendering of CSS borders when only some of the corners have a border-radius and the border-radius is greater than the sum of the border width and the element's content area width/height. r=mattwoodrow
--HG--
extra : rebase_source : eb5023f83ec846dbdbf2ae19eb7e24bd01ce1c8a
2014-11-06 22:07:36 +00:00
Carsten "Tomcat" Book
ea9a16d713 Backed out changeset f1989cb41965 (bug 1093686) for B2G Desktop Linux opt m1 test failures 2014-11-06 16:42:36 +01:00
Kartikaya Gupta
7b39bcb7b0 Bug 1093686 - Add a test to ensure event listeners on the body don't affect event retargeting. r=roc 2014-11-06 08:05:51 -05:00
Kartikaya Gupta
0d8a3614cc Bug 1093686 - Add some debug logging code for PositionedEventTargeting.cpp. r=roc 2014-11-06 08:05:51 -05:00
Kartikaya Gupta
27a08bcfcb Bug 1093686 - Ignore body-level touch/mouse listeners when assessing element clickability. r=roc
When walking up the content tree to assess if an element is contained inside a
clickable element, we should stop before hitting the body element. This is a
heuristic based on pages in the wild, because a lot of pages have mouse/touch
listeners on the body. Without this patch all elements end up getting treated
as clickable which makes the event retargeting code useless.
2014-11-06 08:05:51 -05:00
Ting-Yu Lin
a2df3aacb9 Bug 1094072 - Update selection carets after reflow. r=roc
Let SelectionCarets inherits from nsIReflowObserver so it could refresh
its position after reflow. This fixes the incorrect position of
selection carets after we rotate the device to change the screen from
portrait mode to landscape mode and vice versa.
2014-11-05 21:18:00 +01:00