Commit Graph

448 Commits

Author SHA1 Message Date
L. David Baron
bd4f0da6db 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
6b02f59bf3 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
aa9ba3f977 Add inflation parameter to nsLayoutUtils::GetFontMetricsFor* methods. (Bug 627842, patch 6) r=roc 2011-11-15 17:02:00 +13:00
L. David Baron
ccea090ef4 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
41ea8f0bf1 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
0f63342314 Back out bug 666446 due to Talos regression. 2011-11-02 20:11:01 -04:00
Scott Johnson
a7ba67f09b 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
13cf262aa6 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
47fd110469 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
Jan Küchler
5ef6bf26cf Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Jan Küchler
0e92a9d34a Bug 266236 part 1: Preliminary API cleanup on nsIRenderingContext.
--HG--
extra : rebase_source : a21ffad484f47103e403b8316eae5fdfd815c2cb
2011-04-07 18:04:39 -07:00
Simon Montagu
8ade1e195e Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Doug Turner
bb9cf72cbb Backing out Bug 598736 - Use bilinear image scaling on mobile. Perf regression caused. r=me 2011-04-11 09:25:59 -07:00
Tatiana Meshkova
29ab414108 Bug 607417 - Part 3: Visibility tricks for fixed items r=roc
--HG--
extra : rebase_source : 7545070d6af5ef10dd4d1504f0d456ece4fd8edb
2011-04-08 09:35:16 -07:00
Oleg Romashin
631800dfd2 Bug 607417 - Part1: position:fixed frames mark layers r=roc
--HG--
extra : rebase_source : dbbff8810bafd165a48c34924d98f5c87702ef3f
2011-04-05 23:00:25 -06:00
Matt Brubeck
170c710ac7 Bug 598736 - Use bilinear image scaling on mobile. r=jrmuizel 2011-04-08 10:15:37 -07:00
Ms2ger
cbadb28698 Bug 637178 - Unused variable warning in GetContentMap; r=ben 2011-02-27 10:46:00 -05:00
Benjamin Smedberg
4f1ecb131c Bug 617539 - remove nsIWidget_MOZILLA_2_0_BRANCH, r=jimm 2011-03-25 11:03:35 -04:00
Robert O'Callahan
4bccc6ddf8 Bug 639689. Part 2: Some trivial cleanup and microoptimizations. r=joe 2011-03-24 16:13:58 +13:00
Robert O'Callahan
0788ccd0dd Bug 638241. Use a cache to avoid redoing SurfaceForElement and DoDrawImageSecurityCheck. r=bzbarsky 2011-03-24 16:13:56 +13:00
Benjamin Stover
e9b77710b0 Bug 618975 Pan overflow elements in parent process r=cjones r=tn sr=roc a=blocking-fennec 2011-03-15 16:20:19 -07:00
Doug Turner
eff01baa10 Backing out 99f6b3acc464 (bug 618975). Bug This caused a reftest crash. a=bustage 2011-03-08 22:02:50 -08:00
Benjamin Stover
6fd6388bc0 Bug 618975 Pan overflow elements in parent process r=cjones r=tn sr=roc a=blocking-fennec 2011-03-08 21:28:18 -08:00
Matt Woodrow
5a9d39c5e9 Bug 629857 - When invalidating transformed items, round the original area out to the nearest pixel. r=roc a=roc 2011-02-25 11:55:23 +13:00
Daniel Holbert
e110c6b795 Bug 596765, patch 3: Skip chunk of nsLayoutUtils::PaintFrame that's intended for root frames but gets triggered for foreignObjects in SVG-as-an-image. r+a=roc 2011-02-17 16:33:31 -08:00
Matt Woodrow
4b549c1faf Backed out changeset 0d91127645a1 - Pushed wrong patch 2011-02-18 12:18:53 +13:00
Matt Woodrow
6fbaf9974d Bug 634366 - Remove broken CreateForNativePixmapSurface usage from CairoImageOGL. r=joe a=blocking2.0 2011-02-18 11:49:50 +13:00
Jim Mathies
d03eff2194 Bug 628949 - Update visible region / glass regions after we paint. r=roc a=2.0. 2011-02-17 15:42:39 -06:00
Robert O'Callahan
01fd6c923d Bug 626962. Part 0: Don't do empty transactions when painting to a widget's non-retaining layer manager. r=tnikkel,a=blocker 2011-02-03 21:45:23 +13:00
Johnny Stenback
7ed31a41cb Fixing bug 604262. Fix crash in nsImageLoadingContent::OnStartDecode(). r=jonas@sicking.cc, a=blocker 2011-01-31 20:50:01 -08:00
Jim Mathies
aef5c2725d Bug 622328 - Fixup widget's UpdateTransparentRegion now that layout's transparent region includes all content. r=roc, a=blocking. 2011-01-27 16:58:58 -06:00
Robert O'Callahan
409b6ce451 Bug 621601. Part 1: Change empty transaction API to EndEmptyTransaction. r=bas,tnikkel,a=joe 2011-01-19 21:27:54 +13:00
Robert O'Callahan
ce2d40adbe Bug 613696. Always use the presshell's reference rendering context to create textruns when we draw text via nsIThebesFontMetrics::DrawString, to be consistent with the textruns we measure during reflow. r=dbaron,a=blocking 2011-01-17 09:23:33 +13:00
Robert O'Callahan
9bee134ce1 Bug 625247. Don't use nsAutoTArray inside an nsAutoTArray. r=tnikkel,a=blocking 2011-01-15 22:40:33 +13:00
Benjamin Stover
8fc0069a6b Bug 605618 Part 8: Content process map from view IDs to content elements r=cjones sr=roc 2011-01-13 09:45:14 -08:00
Benjamin Stover
ea6d5f4b39 Bug 605618 Part 2: Infrastructure for building shadow display list r=tn sr=roc 2011-01-13 09:45:14 -08:00
Vladimir Vukicevic
89eb608706 b=622184; implement webgl colour conversion/premultiplication semantics; r=joe, a=b 2011-01-12 17:45:13 -08:00
L. David Baron
a572c4fbef Add assertions that the frame tree is safe to destroy (i.e., doesn't contain any first-in-flows or other things we should never destroy) when we call DeleteNextInFlowChild. (Bug 619021) r=roc a2.0=blocking 2011-01-11 17:09:22 -08:00
L. David Baron
1f47b79c3a Move assertion about continuations of floats so that it is valid. (Bug 595740) r=roc a2.0=blocking
When we do multiple reflow passes inside a container with page or column
breaks, we might hit this assertion for legitimate reasons.  In
particular, if a reflow places the first-in-flow of a float in a later
continuation of its containing block than it was in before, or if a
reflow reflows a float that was split and then pushes the line
containing the float's placeholder, then during reflow we push the
continuations of the float back through the continuations of the
containing block, and in intermediate states of this process (such as
when this assertion fires), we have two continuations of the same float
within the same parent.
2011-01-11 17:09:21 -08:00
Robert O'Callahan
319edd4ba7 Bug 615794. Part 3: Snap bounds of border and background display items to pixels if we're sure they will be snapped. r=tnikkel a=blocking 2011-01-04 23:39:47 +13:00
Robert O'Callahan
eb517ba4b4 Bug 620610. When dumping display lists, include which layer each item ended up in. r=tnikkel,a=debug-only 2011-01-04 16:56:57 +13:00
Robert O'Callahan
d886269e1d Bug 602757. Part 5: Change HasText to GetComponentAlphaBounds. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan
e946441ff1 Bug 602757. Part 3: Change IsOpaque to GetOpaqueRegion so we can get useful opaque regions for content that uses border-radius. r=tnikkel,sr=dbaron,a=blocking 2011-01-03 14:48:09 +13:00
Robert O'Callahan
face759151 Bug 602757. Part 2: Detect display items over the transparent part of a window, and disable usage of component alpha (i.e., subpixel antialiasing) for those items. r=tnikkel,a=blocking 2011-01-03 14:48:09 +13:00
Oleg Romashin
efc88eb253 Bug 616081 - Make possible to set gDumpPaintList as true with ENV variable in debu builds. r=roc a=approval2.0 2010-12-04 00:11:03 +02:00
Oleg Romashin
3874b00931 Bug 607653 - avoid temporary fbos/textures on transformed layers, when possible. part1 r=roc a=apporval2.0 2010-11-24 11:35:21 +02:00
Justin Lebar
43b18d2b18 Backed out changeset a5ec817740f0. a=orange 2010-11-29 09:08:24 -08:00