Commit Graph

586 Commits

Author SHA1 Message Date
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
Robert O'Callahan
9d09bfe7c0 Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel 2012-05-04 17:00:57 +12: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
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
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
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
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
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
Andreas Gal
6ced71cf11 Do image scaling on the GPU (bug 650988, r=roc,cjones). 2012-05-03 07:05:55 -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
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
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
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
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
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
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
Chris Lord
dad1744a74 Bug 739604 - Split out dumping of paint buffers from paint lists. r=mattwoodrow
Split dumping of paint buffers into a separate environment variable, vs.
dumping of paint buffers to allow for dumping only of paint lists.
2012-03-28 19:10:28 +01:00
Jeff Gilbert
0c50aa229e Bug 696569 - Allow for non-premultiplied data for canvases - r=bjacob,joedrew 2012-03-23 15:10:50 -07:00
Jonathan Watt
ce86671d1b Bug 736890 - Speed up building of layout/svg/base/src by cleaning up #include directives in its header files. r=dholbert. 2012-03-20 12:15:55 +00:00
Wes Johnston
73b1812482 Bug 722965 - Remove MOZ_TOUCH ifdefs. r=smaug 2012-03-19 14:34:34 -07:00
Mounir Lamouri
573bc8fb91 Bug 720799 - Don't use mDocShell in nsScreen. r=jst,jlebar 2012-03-14 19:14:53 +01:00
Mark Finkle
c5c1e891ea Backout 7e28d1a2c648, 330b210f503d, 2421d39e0ab3, aa978ffa44bc, 38a71ae7e06d, b94319584a7a, 7e8278f5e814, 0b4e3c7608ab, 329c07609ca8, 0d61a0d8dba4, Due to Ts regression on Android 2012-03-17 21:51:39 -04:00
Mounir Lamouri
52ab7f4c5b Bug 720799 - Don't use mDocShell in nsScreen. r=jst,jlebar 2012-03-14 19:14:53 +01:00
Boris Zbarsky
cc7f7d488e Bug 696301 part 1. Refactor CORS attribute handling a bit. r=sicking 2012-03-10 10:13:51 -06:00
Timothy Nikkel
ba1ac6d353 Bug 664707. Followup. Use the right point for touch events. r=matspal 2012-03-06 09:58:36 -06:00
Timothy Nikkel
ff961d36b5 Bug 664707. Special case converting event coordinates when the frame is the root frame in the widget. r=matspal
This has the side benefit of making events work in transformed select dropdown popups and is the real reason for making the change.
2012-03-03 15:24:13 -06:00
Scott Johnson
f5f3585ff0 Bug 705446: Disable font inflation for preformatted text. [r=dbaron] 2012-03-02 11:25:33 -06:00
Nathan Froyd
72e8d1d540 Bug 731615 - Eliminate duplicate headers in layout. rs=smontagu 2012-02-29 10:57:47 -05:00
Matt Woodrow
bf3005c3f4 Bug 700240 - Print display lists to a file. r=roc,bjacob 2012-03-01 21:26:09 +13:00
Aryeh Gregor
fb8461f380 Bug 725426 - Incorrect getBoundingClientRect() for transform-style: flat. r=roc 2012-02-08 14:36:16 -05:00
Ed Morley
7307ed3da9 Backout 1ca8d5a931ac (bug 720799), e4781b684008 (bug 720795), 8a4e12d93a23 & 1fc8123a2ea4 (bug 720794) for bustage 2012-02-09 16:42:07 +00:00
Mounir Lamouri
62a283786d Bug 720799 - Don't use mDocShell in nsScreen. r=jst 2012-02-06 16:31:16 +01:00
Ed Morley
08ace01a8b Backout 79121553f728 (bug 720799), 4a763183482f (bug 720795), e965486f4b50 & 4a7c7c6b9b11 (bug 720794) for failing to build on any platform 2012-02-09 12:06:50 +00:00
Mounir Lamouri
c8c04772bd Bug 720799 - Don't use mDocShell in nsScreen. r=jst 2012-02-06 16:31:16 +01:00
Scott Johnson
f1c74e3e8a Bug 706198 - Disable font inflation on sites optimized for mobile to avoid strangely inflated text. [r=mbrubeck,dbaron]
--HG--
extra : rebase_source : 60d764b0a76ae87515a3e669ba76adc61926c862
2012-01-30 16:52:11 -06:00
Jon Buckley
53fcaffe40 Bug 682299 - Implement CORS support for the <video> tag. r=roc 2012-01-25 17:31:30 -05:00
L. David Baron
5eb8920348 Switch nsLayoutUtils inflation methods to the new setup with state on the pres context. (Bug 706609, patch 5) r=roc
This is the third of three patches to rework the way we handle getting
the font inflation container and width data during reflow, which are
needed so that we can sometimes honor inflation during intrinsic width
calculation (which we need to do to make some form controls inflate
correctly).
2012-01-24 17:21:29 -08:00
L. David Baron
185e4fa106 Set inflation container to null during parts of intrinsic sizing that should not have inflation applied. (Bug 706609, patch 4) r=roc
This is the first of two patches to honor inflation during intrinsic
width calculation (which we need to do to make some form controls
inflate correctly).
2012-01-24 17:21:29 -08:00
L. David Baron
06fe8e9788 Add a frame state bit for whether a frame is a container for font size inflation (Bug 706609, patch 1) r=roc
This moves the logic currently in
nsLayoutUtils::IsContainerForFontSizeInflation into frame initialization
so that we can (later, for bug 706193) make that logic more complicated.
2012-01-24 17:21:28 -08:00
Jonathan Watt
cb807222d1 Bug 416581, part 1 - Move mLanguage from nsStyleVisibility to nsStyleFont. r=dbaron. 2012-01-24 13:09:55 +00:00
Matt Woodrow
8147ee2909 Bug 718809 - Use TransformBounds in TransformGfxRectToAncestor. r=roc 2012-01-23 14:07:37 +13:00
Jeff Muizelaar
9c9e2eed37 Bug 718440. Add more sampler labels to various places. r=bgirard
This shows the problems described in bug 710068.
2012-01-17 15:33:04 -05:00
James Willcox
f2a22733cd Bug 707439 - Fix Flash plugin positioning
--HG--
extra : rebase_source : aaa41297d293ffde1aabe5632ade6c416b4d541f
2012-01-18 10:41:35 -05:00
Wes Johnston
43680b21b4 Bug 603008 - Platform support for multitouch events. r=smaug
* * *
Bug 603008 - Platform support for multitouch events.
* * *
ifdefandroid
2011-12-16 16:24:11 -08:00
Mats Palmgren
9d52d983fd Bug 524925 - Consolidate overflow clipping checks to nsFrame::ApplyOverflowClipping(); and fix some code style nits. part=5/6 r=roc 2012-01-18 21:04:51 +01:00
Benjamin Stover
0a52de4032 Bug 524925 - Recompute overflow without reflowing for transforms. part=1/6 r=dbaron
Add an extra change hint, UpdateOverflow, that can be used to specify that
a frame's overflow areas may have changed and that they need to be recalculated.
When a transform on a frame changes, instead of marking it for reflow, set this
hint instead.

There is an added virtual function on nsIFrame, UpdateOverflow, which is called
recursively on a frame when the corresponding hint is set, to allow it to
update its overflow areas.
2011-06-15 14:03:49 -07:00
Matt Brubeck
2e1e2ae3c5 Back out 88733ce1bef3 (bug 718440) because of Windows build failure 2012-01-17 15:15:47 -08:00
Jeff Muizelaar
581f54f157 Bug 718440. Add more sampler labels to various places. r=bgirard
This shows the problems described in bug 710068.
2012-01-17 15:33:04 -05:00
Mats Palmgren
cfe108300e Bug 665597 - Do not include margins in scrollable overflow for popup frames. part=3/5 r=roc 2012-01-17 00:38:10 +01:00
Robert O'Callahan
df7702a586 Bug 591718. Make nsLayoutUtils::GetAllInFlowRectsUnion support taking transforms into account when converting coordinates. r=mats 2011-12-28 16:24:29 +13:00
Robert O'Callahan
0fb0f8bbd4 Bug 591718. Part 1: rename some poorly-named methods, rework global-transform methods to avoid computing bounding-boxes more than once when there are are multiple transformed ancestors, make sure nsIFrame::GetTransformMatrix can stop at any desired ancestor. r=mats 2011-12-28 16:24:18 +13:00
L. David Baron
35456e0260 Fix font size inflation assertion when XUL is in native-anonymous content by making XUL always be a container for font size inflation. (Bug 708036) r=bzbarsky
--HG--
extra : transplant_source : %D9X%D4%25%01p%09%97%15%B6%83%B1%3A%F2H%C0P4.%19
2011-12-27 10:02:44 -05:00
Phil Ringnalda
bd7a9e74d3 Back out dc7c7734ec7c, f793f9cfa72c, 10ea92a6a850 (bug 591718) for Android b-c orange in mobile/chrome/tests/browser_scrollbar.js 2011-12-27 20:34:08 -08:00
Robert O'Callahan
1e7399c035 Bug 591718. Make nsLayoutUtils::GetAllInFlowRectsUnion support taking transforms into account when converting coordinates. r=mats 2011-12-28 16:24:29 +13:00
Robert O'Callahan
43c26f035d Bug 591718. Part 1: rename some poorly-named methods, rework global-transform methods to avoid computing bounding-boxes more than once when there are are multiple transformed ancestors, make sure nsIFrame::GetTransformMatrix can stop at any desired ancestor. r=mats 2011-12-28 16:24:18 +13:00
Nicholas Nethercote
56767a7167 Bug 711908 - Fix a bunch of GCC warnings in layout. r=dbaron. 2011-12-19 19:46:39 -08:00
Scott Johnson
94027f5e40 Bug 707855 - Clamp container size to device width to make font inflation less likely to cause problems on small screens. [r=dbaron] 2011-12-20 16:34:54 -06:00
Scott Johnson
17397f2991 Backout changeset 602d2761e409. 2011-12-20 00:02:01 -06:00
Scott Johnson
1e33d301f0 Bug 707855 - Clamp container size to device width to make font inflation less likely to cause problems on small screens. [r=dbaron] 2011-12-19 23:11:43 -06:00
Scott Johnson
604f9257d2 Backed out ab701cac6af8. 2011-12-19 23:11:09 -06:00
Scott Johnson
ae3ec51f9b Bug 707855 - Clamp container size to device width to make font inflation less likely to cause problems on small screens. [r=dbaron] 2011-12-19 22:25:16 -06:00
Robert O'Callahan
ce95ed0d7d Bug 672013. Drawing an SVG image to a canvas need not clear its origin-clean flag. r=dholbert,sr=bzbarsky 2011-12-19 10:57:41 +13:00
Matt Brubeck
7d451f6bac Back out bug 710521, bug 672013, bug 702739 because of Mac reftest failures 2011-12-18 08:15:09 -08:00
Robert O'Callahan
dfdcd3935b Bug 672013. Drawing an SVG image to a canvas need not clear its origin-clean flag. r=dholbert,sr=bzbarsky 2011-12-18 21:47:20 +13:00
Ms2ger
4879be0711 Bug 704088 - Pass dom::Element to nsLayoutUtils::SurfaceFromElement; r=bz 2011-12-03 22:50:16 +01:00
Nicholas Nethercote
f102556f32 Bug 698968 - Add mallocSizeOf functions and start using them. r=jlebar,bhackett,jfkthame, sr=bz. 2011-11-27 19:03:14 -08:00
L. David Baron
b4141b61eb Apply font size inflation to list bullets. (Bug 627842, patch 13) r=roc
Note that this doesn't do anything about the indentation of the list, so
for large inflation there may end up being overlap as a result.
2011-11-23 18:48:23 -08:00
L. David Baron
2ca5929d4e Apply font size inflation to text. (Bug 627842, patch 9) r=roc
This applies the font size inflation to reflow and painting of text
frames.  However, it does not (by design) apply to intrinsic width
computation, since the inflation is itself a function of the containers
width, which can depend on the intrinsic width.
2011-11-23 18:48:23 -08:00
L. David Baron
96482a27d1 Add inflation parameter to nsLayoutUtils::GetFontMetricsFor* methods. (Bug 627842, patch 6) r=roc 2011-11-23 18:48:23 -08:00
L. David Baron
3917f9c2e1 Implement computation of font size inflation for improved readibility of text on mobile devices. (Bug 627842, patch 4) r=roc
This implements computation of the font size inflation factor for a
given frame.  Since Fennec does layout using a fake viewport whose width
represents a typical viewport width on the desktop and then allows users
to pan and zoom, fonts are not always readable even when zoomed.  The
goal of this font size inflation is to ensure that when a block of text
is zoomed to fill the width of the device, the fonts are large enough to
read.  We do this by increasing the font sizes in the page.  Since this
increase is a function of the width of the text's container, the
inflation must be performed (in later patches in this series) after
style data computation and after intrinsic width computation.

The font size inflation factor does not vary *within* a block.

Since sync uses a whitelist (the services.sync.prefs.sync.* prefs) for
preferences (i.e., preferences are not synced by default), this patch
does not make any changes relating to sync, since we do not want the
inflation preferences synced across devices (since preferred settings
are likely to be device-specific).
2011-11-23 18:48:23 -08:00
Neil Deakin
e40bc148fb Bug 703260, part 1, remove view from eventstatemanager and presshell event handling, r=smaug,sr=roc 2011-11-21 12:53:20 -05:00
Matt Woodrow
353e3c17e7 Bug 700240 - Make display list debugging independent of DEBUG. r=khuey,roc 2011-11-17 16:44:16 +13:00
Phil Ringnalda
fb732c5149 Backout changesets c9abc8ef4626, d62512892555, 69f89ee5d08f, c511af7d8f58, 6a6a560a1492, ac0ec1183d19, 46669afabd15, 74f32abaa8c0, f197554cf989, 0a2405eb5b90, b48954598d7d, e0a82577259c, 0235d1541e58, 450f2557d3a2, e24d196602bf, 03c2ea0eeba3, 7aca4ef8e538, 11ec362e780b, 4b92a3b96446 (bug 627842) for Windows crashtest assertions and Android reftest failures
--HG--
extra : rebase_source : fc8946055314369bfba5038ded32afcb00bf134d
2011-11-14 22:12:31 -08:00
L. David Baron
e30b812b18 Apply font size inflation to list bullets. (Bug 627842, patch 13) r=roc
Note that this doesn't do anything about the indentation of the list, so
for large inflation there may end up being overlap as a result.
2011-11-15 17:02:01 +13:00
L. David Baron
db5c82697e Apply font size inflation to text. (Bug 627842, patch 9) r=roc
This applies the font size inflation to reflow and painting of text
frames.  However, it does not (by design) apply to intrinsic width
computation, since the inflation is itself a function of the containers
width, which can depend on the intrinsic width.
2011-11-15 17:02:01 +13:00
L. David Baron
b162417f65 Add inflation parameter to nsLayoutUtils::GetFontMetricsFor* methods. (Bug 627842, patch 6) r=roc 2011-11-15 17:02:00 +13:00
L. David Baron
4c284f9e07 Implement computation of font size inflation for improved readibility of text on mobile devices. (Bug 627842, patch 4) r=roc
This implements computation of the font size inflation factor for a
given frame.  Since Fennec does layout using a fake viewport whose width
represents a typical viewport width on the desktop and then allows users
to pan and zoom, fonts are not always readable even when zoomed.  The
goal of this font size inflation is to ensure that when a block of text
is zoomed to fill the width of the device, the fonts are large enough to
read.  We do this by increasing the font sizes in the page.  Since this
increase is a function of the width of the text's container, the
inflation must be performed (in later patches in this series) after
style data computation and after intrinsic width computation.

The font size inflation factor does not vary *within* a block.

Since sync uses a whitelist (the services.sync.prefs.sync.* prefs) for
preferences (i.e., preferences are not synced by default), this patch
does not make any changes relating to sync, since we do not want the
inflation preferences synced across devices (since preferred settings
are likely to be device-specific).
2011-11-15 17:02:00 +13:00
Scott Johnson
47400a66c0 Bug 666446, Part 3/10 - Create hook functions in nsLayoutUtils to coalesce some of the new code for frame-like objects and avoid code duplication. [r=roc] 2011-11-09 13:39:16 -08:00
Justin Lebar
86c0378be8 Back out bug 666446 due to Talos regression. 2011-11-02 20:11:01 -04:00
Scott Johnson
d01233b555 Bug 666446, Part 3/10 - Create hook functions in nsLayoutUtils to coalesce some of the new code for frame-like objects and avoid code duplication. [r=roc] 2011-11-01 11:06:53 -04:00
Jonathan Kew
6a8718c856 bug 695639 - use the proper iterator to convert offsets into the textrun in GetFontFacesForText. r=roc 2011-10-21 08:13:51 +01:00
Oleg Romashin
7e6ba97bfa Bug 693930 - Fennec keeps viewport ThebesLayers alive for background tabs. r=roc 2011-10-18 15:28:20 -04:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Jeff Walden
b7753477cf Bug 693469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. (Exceptions: assigning to static initializers, use in static assertions, as template parameters, etc. These will go away when the relevant compilers have C++11 constexpr support.) r=cjones
--HG--
extra : rebase_source : b4bae9a0f85abf2feb828609b50e756916b99a6f
2011-10-10 22:50:08 -07:00
Jonathan Kew
36c1dc9fbe bug 671297 - add memory reporting for textRuns. r=roc,jlebar 2011-10-14 08:06:35 +01:00
Jeff Walden
eb2cb918a4 Back out everything since 5435ee09cf7b. Tinderbox compilers hate me. r=epic-fail 2011-10-12 12:21:53 -07:00
Jeff Walden
77ebbde4ab Bug 639469 - Implement mozilla::ArrayLength and mozilla::ArrayEnd, and replace uses of NS_ARRAY_LENGTH whenever possible. r=cjones
--HG--
extra : rebase_source : 860a8271bf7e51cde358f2a4185c410de1fc2960
2011-10-10 22:50:08 -07:00
Scott Johnson
e31e6f4d78 Backout cset a476b7988f63 from bug 666446 while we sort out regressions 2011-10-07 00:25:48 -07:00
Scott Johnson
0dacbc6ccb Bug 666446, Part 3/18 - Create hook functions in nsLayoutUtils to coalesce some of the new code for frame-like objects and avoid code duplication. [r=roc] 2011-10-03 13:39:05 -07:00
Ehsan Akhgari
c15d8c0733 Bug 10209 - Part 6: Implement the CSS "containing block" concept correctly as a binary relation, as opposed to a unary relation; r=bzbarsky 2011-05-12 00:04:30 -04:00
Michael Wu
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Boris Zbarsky
bd01572fc8 Bug 444641 part 4. Remove the data: special-casing for images in canvas, since we now set the right principal for data: images. r=roc 2011-09-20 17:00:42 -04:00
Boris Zbarsky
f4ec90e1f0 Bug 685518 part 1. Look at the image CORS mode for drawImage into a canvas 2d context. r=roc 2011-09-09 17:58:35 -04:00
Robert O'Callahan
28b580015a Bug 685404. Make callers of nsDisplayList::HitTest use nsAutoTArrays to reduce allocations. r=tnikkel 2011-09-08 17:29:54 -04:00
Matt Woodrow
fd0bfbd9fd Bug 681858 - Improve performance of gfx3DMatrix multiplication by reverting to 2d operations where possible. r=derf 2011-08-27 12:07:05 +12:00
Mats Palmgren
6894179e71 Bug 653649 - New way of getting child lists from frames. (part 4/5) r=roc
Remove the nsIAtom* child list names and use child list ID enum instead.
2011-08-24 22:54:30 +02:00
Mats Palmgren
f06792a6ef Bug 653649 - New way of getting child lists from frames. (part 3/5) r=roc
Update GetAdditionalChildListName consumers to use the new
child list iterator instead.
2011-08-24 22:54:29 +02:00
L. David Baron
4deb9f1caa Fix nsLayoutUtils::ComputeSizeWithIntrinsicDimensions to produce correct results when one of the tentative height/width (i.e., the intrinsic height/width) is 0. (Bug 677091) r=roc
When either the intrinsic width or the intrinsic height is 0, the
element does not have an intrinsic ratio, and thus the table that
ComputeAutoSizeWithIntrinsicDimensions is implementing technically
doesn't apply.  However, it can quite straightforwardly produce the
correct results despite that, if we correctly apply the
min/max-width/height properties.
2011-08-17 17:54:59 -07:00
L. David Baron
0cd491390d Replace all uses of nsLayoutUtils::SetFontFromStyle with GetFontMetricsForFrame or GetFontMetricsForStyleContext and remove SetFontFromStyle. (Bug 678671, patch 2) r=roc
There was nothing wrong with SetFontFromStyle, except that it's just one
more API to think about (and one more API to audit and modify for font
inflation work to happen in bug 627842).
2011-08-14 10:08:04 -07:00
Mats Palmgren
66c48bce55 Bug 663375 - When text color is darkened, darken text-decoration color too. r=dbaron 2011-08-09 17:14:36 +02:00
Jeff Walden
e1690fa43c Bug 609714 - Properly compute background image size for vector background images lacking intrinsic sizes or an intrinsic aspect ratio. r=dholbert, r=dbaron
--HG--
extra : rebase_source : 9b018973a13a50f7616cac2a369bc3a61ccd5927
2011-01-13 04:40:12 -06:00
Neil Deakin
cac8593a48 Bug 585069, support ratio scaling for xul images, r=dbaron 2011-08-05 15:24:24 -04:00
Matt Woodrow
62d1425e0b Bug 505115 - Part 11b - Layout changes to use a z component for -moz-transform-origin. r=roc 2011-08-03 15:04:23 +12:00
Matt Woodrow
fd49690163 Bug 505115 - Part 8c - Use ray tracing to untransform 2d points on a 3d plane. r=roc 2011-08-03 15:04:21 +12:00
Matt Woodrow
ada52f1e13 Bug 505115 - Part 6 - Implement the 3d -moz-transform functions. r=dbaron 2011-08-03 15:04:19 +12:00
Chris Lord
0d59203155 Bug 669851 - Use bilinear image scaling on all ARM devices, even without NEON [r=mbrubeck,jmuizelaar] 2011-07-07 03:08:00 -07:00
Matt Woodrow
6366c7e2e7 Bug 505115 - Part 5 - Use gfx3DMatrix in layout. r=roc 2011-07-23 10:28:51 +12:00
Simon Montagu
672d772074 Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Mats Palmgren
cff2b748ef Bug 668919 - The ellipsis with text-overflow: ellipsis is sometimes one pixel too low. r=roc 2011-07-04 07:47:59 +02:00
Michael Ventnor
9210cc911a Previous checkin was for Bug 666689 2011-07-01 16:48:30 +10:00
Michael Ventnor
5b88cf2c15 Implement text-shadow for the text-overflow marker text (ellipsis) r=roc 2011-07-01 16:43:11 +10:00
Craig Topper
cfe91e4f31 Bug 654369 - Part 11: Remove OOM checks from layout/base r=bz
--HG--
extra : rebase_source : a725d78f3e128d6d4ca1eb48eec1cfc78f7762bf
2011-04-28 22:02:40 -07:00
Mats Palmgren
b19080bd1f Bug 312156 - Implement CSS3 text-overflow. r=roc 2011-06-22 20:11:48 +02:00
Robert O'Callahan
8a76eeceb9 Bug 637852. Part 12: Dump layer trees and display lists to stdout instead of stderr so that they stay in order with window.dump() and other output. r=tnikkel 2011-06-23 00:11:28 +12:00
Jonathan Kew
a1f20e4fc8 bug 467669 - pt 2 - find the @font-face rule (if any) responsible for the font entry. r=roc 2011-06-16 07:31:36 +01:00
Jonathan Kew
57533f6cff bug 467669 - pt 1 - get list of fonts actually used to render a document range. r=roc sr=bzbarsky 2011-06-16 07:31:36 +01:00
Ehsan Akhgari
13d84f740f Backout bug 467669 and bug 660088 2011-06-15 16:52:48 -04:00
Jonathan Kew
15913e950c bug 467669 - pt 2 - find the @font-face rule (if any) responsible for the font entry. r=roc
--HG--
extra : rebase_source : 97bab01d80e49e179e8f675ca1ec1e067d7b56ec
2011-06-15 20:17:51 +01:00
Jonathan Kew
e4e073884b bug 467669 - pt 1 - get list of fonts actually used to render a document range. r=roc sr=bzbarsky
--HG--
extra : rebase_source : 3d7699c4a201bafdfa1d97ba97117a497303c1b5
2011-06-15 20:17:50 +01:00
L. David Baron
21f6d8d9c6 Remove notion of percentage of intrinsic size: remove code that handles percentages (which are no longer set thanks to the previous patch) and make them invalid. (Bug 611099) r=dholbert
Needed to help CSS 2.1 meet Proposed Recommendation entrance criteria.
2011-06-12 18:52:32 -07:00
Ed Morley
9e71e5b9ac Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Matt Brubeck
d4397cc6d1 Bug 598736 - Use bilinear image scaling when NEON is available [r=jrmuizel] 2011-04-08 10:15:37 -07:00
Jim Mathies
4dc93bdb14 Bug 633282 - Accumulate exclude glass regions during painting and update the widget opaque region info. r=roc. 2011-05-13 11:40:46 -05:00
Tatiana Meshkova
52765d2b7e Bug 653133 - Fennec crashes when loading a page with huge background-attachment:fixed background r=roc 2011-05-09 11:40:09 +03:00
Simon Montagu
ece92e21ce Back out bug 263359 and bug 624798 because of performance regressions (bug 650189) 2011-04-27 11:47:18 +03:00
Zack Weinberg
dd67585463 Bug 651017, part 5: mechanical changes.
--HG--
extra : rebase_source : 8bbdf48488736b51d05e734e2e9316c1460cfed5
2011-04-16 18:22:44 -07:00
Robert O'Callahan
c9b3d6063b Bug 641426. Part 7: Create Rect template. r=joe,sr=cjones 2011-04-19 15:07:48 +12:00
Robert O'Callahan
307547d062 Bug 641426. Part 3: Convert gfxRect::pos/size to x/y/width/height. r=joe,sr=cjones 2011-04-19 15:07:21 +12:00
Robert O'Callahan
73b97e72c4 Bug 641426. Part 2: Remove a bunch of direct gfxRect::pos/size usage. r=joe 2011-04-19 15:07:21 +12:00
Zack Weinberg
52c99aabb7 Bug 174055, part 6: eliminate pointless nsresult return values. 2011-04-07 21:18:43 -07:00
Zack Weinberg
624a6e3ce5 Bug 174055, part 5: prune unused and unimplemented methods. 2011-04-07 20:07:27 -07:00
Zack Weinberg
42ead75834 Bug 174055, part 4: mechanical fixups outside gfx. 2011-04-07 18:05:49 -07:00
Zack Weinberg
299386f14c Bug 174055, part 1: minimize inclusion of nsI(Thebes)FontMetrics.h. 2011-04-07 18:04:41 -07:00
Zack Weinberg
d8db59d068 Bug 266236 part 8: Change nsRenderingContext::GetDeviceContext and ::GetFontMetrics to return bare pointers.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 36dd32d715cb75e99cd3a69e460c000c1777d6a6
2011-04-07 18:04:40 -07:00
Zack Weinberg
9d6cdac2b1 Bug 266236 part 6: Change out-parameters to return values and remove a bunch of default parameters that were never called with non-default values.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 0511852e51c2ad4d4833d6f8f2f61d46130a7151
2011-04-07 18:04:40 -07:00