Commit Graph

12992 Commits

Author SHA1 Message Date
Ting-Yu Lin
9b3563ea90 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
d0e550df52 Bug 1096169 - Handle selection carets overlapping case. r=roc 2014-11-12 23:03:00 -05:00
Botond Ballo
1c1e4448a5 Bug 1055741 - Unify the 'local Screen' and 'ParentLayer' coordinate systems. r=kats 2014-11-10 14:35:11 -05:00
Botond Ballo
751e400ea4 Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
c854025367 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
8894f4319e 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
c247fdb775 Backed out changeset 71fe4233208a (bug 1076163) 2014-11-13 11:47:35 +01:00
Carsten "Tomcat" Book
4b4108a4a9 Backed out changeset a96930f1e26b (bug 1055741) 2014-11-13 11:47:31 +01:00
Jonathan Kew
5182bb2e02 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
34fea182cd 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
f97a6b6a7d 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
5fc1b3d275 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
0c5741e2ef 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
70fce093ea 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
d766d4ca14 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
98ceb86b05 Bug 1076163 - Clean up the resolution-related fields and methods in FrameMetrics. r=kats 2014-10-20 17:12:35 -04:00
Botond Ballo
57adf459d4 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
a323270a8b 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
9484467be5 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
2663f2a50d Bug 1094913 - Set pointerType to got/lostpointercapture events. r=smaug 2014-11-11 08:29:00 +01:00
Maksim Lebedev
a2f293b9fc Bug 1094913 - Test for detecting attribute 'pointerType' in got/lostpointercapture events. r=smaug 2014-11-10 06:22:00 +01:00
Morris Tseng
8733cb18e1 Bug 1094056 - Use nsCaret::GetGeometryForFrame to determine position of selection carets. r=roc 2014-11-11 22:54:00 +01:00
Ting-Yu Lin
892f540142 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
ed5d6b9e18 Backed out changeset 61fa2ff606b8 (bug 1083004) 2014-11-12 11:25:51 +01:00
Xidorn Quan
f06648f619 Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-12 17:31:37 +11:00
Xidorn Quan
07ac0c4e67 Bug 1088489 - Meet the specification for pseudo ruby box generation. r=bz 2014-11-12 14:44:36 +11:00
Karl Tomlinson
a3ba9b4cb5 backout bug 1096132 for Mac build failure
--HG--
extra : rebase_source : 6994fe50e8fb1a4f89298e1b9ad1c714acdfe39e
2014-11-12 16:02:34 +13:00
Karl Tomlinson
e74a26e05e 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
4b1c0e2e81 bug 1096132 rename nsDeviceContext PixelScale to FullZoom r=tn
--HG--
extra : rebase_source : 06d57772b2dc04d606b3d98517085aeb817ae0e8
2014-11-10 15:47:55 +13:00
Karl Tomlinson
4b187d31fa bug 1096132 rename UnscaledAppUnitsPerDevPixel() to AppUnitsPerDevPixelAtUnitFullZoom() r=tn
--HG--
extra : rebase_source : 113b249f2cb6f1619e0b1a495655726b5100038b
2014-11-08 17:48:14 +13:00
Ryan VanderMeulen
8d432fef90 Backed out changesets 857063c82323 and a19479860eb4 (bug 619521) for Valgrind failures.
CLOSED TREE
2014-11-11 13:10:56 -05:00
Jonathan Kew
fce2d16101 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
115ea30870 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
73921d7d11 Backed out changeset a263c8cfb04f (bug 1083004) for m5 test failures 2014-11-11 08:14:42 +01:00
Xidorn Quan
2d623e68f6 Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-11 16:41:58 +11:00
Wes Kocher
8417fca951 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
bcc32a1ccd 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
d1bbae134d 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
41fb52c7e0 Bug 1094607 - Move scroll observer logic to SelectionCarets. r=roc 2014-11-05 22:00:00 +01:00
Xidorn Quan
9a699374b5 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
ed7afa138f 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
0284071e77 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
5fe32432f6 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
f304504ca1 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
806bb3744a 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
c4cb4d7865 Backed out changeset f1989cb41965 (bug 1093686) for B2G Desktop Linux opt m1 test failures 2014-11-06 16:42:36 +01:00
Kartikaya Gupta
a1f6f203be 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
371ecd8746 Bug 1093686 - Add some debug logging code for PositionedEventTargeting.cpp. r=roc 2014-11-06 08:05:51 -05:00
Kartikaya Gupta
6afff5ec62 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
189652787e 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