Commit Graph

3485 Commits

Author SHA1 Message Date
Robert O'Callahan
c47ff166e8 Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec 2012-04-19 14:40:43 +12:00
Robert O'Callahan
dcc4fc6d0f Bug 735898. Part 7: Remove expensive nsIFrame::HasBorder checks, just check style instead. r=dbaron,a=blocking-fennec 2012-04-18 17:14:31 +12:00
Robert O'Callahan
08d74c5ace Bug 735898. Part 6: Avoid nsIFrame::GetOffsetTo calls by caching a frame/offset pair in nsDisplayListBuilder, using the cache from nsDisplayListBuilder::ToReferenceFrame, and having BuildDisplayListForChild efficiently update the cached frame from parent to child when possible. Also, use display items' precalculated ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame where possible. r=mattwoodrow,a=blocking-fennec 2012-04-18 17:14:14 +12:00
Wes Johnston
41d4502cda Bug 745936 - Display port should not override dirtyRect during hit detection r=roc 2012-04-17 08:08:29 -04:00
L. David Baron
be1535321a Build font data structure by walking the necessary text. (Bug 706193, patch 3) r=roc
Compute the amount of text in the scope of an nsFontInflationData
object.  This walks the text that's inside of the block formatting
context at which this object is rooted, excluding the text that's inside
any nested BFC.  Using the amount of text, the font sizes of the text,
and the line threshold preference, we compute whether to enable font
size inflation within that block formatting context.
2012-04-16 15:32:12 -07:00
L. David Baron
8c67e2ae8b Add a font inflation data structure per block formatting context. (Bug 706193, patch 2) r=roc
This structure is per block formatting context because we have to make a
single inflation decision for things like consecutive runs of paragraphs
of text.  Inflating some paragraphs and not others (within the same
sequence of adjacent paragraphs) based on the amount of text in each one
would be disastrous.  Otherwise it's ideal for the units to be as small
as possible as long as they merge such sequences; therefore this uses a
definition corresponding to CSS's idea of elements that establish new
block formatting contexts.
2012-04-16 15:32:12 -07:00
Robert O'Callahan
659fb75915 Bug 735898. Part 5: Simple tweaks to avoid wrapping empty lists and to reorder boolean tests. r=mattwoodrow 2012-04-16 17:43:47 +12:00
Robert O'Callahan
99b4ec2a83 Bug 735898. Part 4: Create Inner/Outer box-shadow items only if we actually have inset/outset shadows. r=mattwoodrow 2012-04-16 17:43:33 +12:00
Jonathan Kew
99d4be6815 bug 740120 - implement context-sensitive mapping for Greek sigma in text-transform:lowercase. r=smontagu 2012-04-15 15:52:47 +01:00
Jonathan Kew
f0540aec21 bug 745454 - don't lose line-break flag when merging case-transformed characters in text run. r=smontagu 2012-04-15 15:52:47 +01:00
Mats Palmgren
d473f3d2f0 Bug 740743 - Implement CSS overflow for <legend>. r=bz 2012-04-13 17:52:13 +02:00
Robert O'Callahan
3d0a865462 Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-13 23:44:06 +12:00
Mark Capella
1a44f1208f Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Robert O'Callahan
c1fcb8ec46 Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures. 2012-04-12 00:34:23 +12:00
Robert O'Callahan
09dac64814 Bug 735898. Part 3: In DisplayBorderBackgroundOutline, when we have created an nsDisplayBackground item and it's themed, don't bother checking to create an nsDisplayBorder item. r=mattwoodrow
It turns out that calling HasBorder() is especially expensive for themed frames since we call into the theme engine to compute the border, so avoiding it is a nice win.
2012-04-11 16:49:34 +12:00
Robert O'Callahan
acf4b34036 Bug 735898. Part 2: When nsOverflowClipWrapper is asked to clip a display item that is entirely inside the clip rect, don't bother wrapping the item. r=mattwoodrow 2012-04-11 16:48:56 +12: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
Steven Michaud
da18206624 Bug 730066 - Crash at mozilla::layers::ImageContainer::GetCurrentSize on printing http://www.mozilla.org/projects/firefox/prerelease.html. r=roc 2012-04-09 14:17:19 -05: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
Kyle Huey
50f43dd111 Back out Bug 679230 due to Android reftest failures. 2012-04-07 10:36:49 -07:00
Kyle Huey
7a78607b88 Bug 697230: Part 1 - Centralize style image observers. r=bz 2012-04-07 08:58:41 -07:00
Mats Palmgren
1fc5ba05d5 Bug 724352 - Decrement assertion counts for some layout crashtests. r=roc 2012-04-05 16:30:21 +02:00
Mats Palmgren
8948c2c199 Bug 724352 - Don't add vertical margin to scrollable overflow here, it's already done during reflow and we don't need it for UpdateOverflow yet (and we need to account for margin-collapsing when we do). r=roc 2012-04-05 16:30:21 +02:00
Nicholas Nethercote
85b9728d6c Bug 711895 - Tweak the warning options used for GCC builds (3rd attempt). r=waldo,derf,khuey,mhommey.
--HG--
extra : rebase_source : 20540c9b838ee3be6cb0847c1b90fdc3bd44059d
2012-03-21 22:21:16 -07:00
Jared Wein
777fbc3a41 Backed out changeset 3b8a666e351e (bug 702463) 2012-04-03 16:50:25 -07:00
Avi Halachmi (:avih)
03341a5710 Bug 702463: Smooth scroll - Use refresh observer instead of a timer. r=roc 2012-03-31 16:08:00 +03:00
Jared Wein
9ea5fa75f8 Backed out changeset 4e515b6a5a41 (bug 702463) 2012-04-03 16:22:49 -07:00
Avi Halachmi (:avih)
ae12e0480f Bug 702463: Part 1 v8 - Smooth scroll - Use refresh observer instead of a timer 2012-03-31 16:08:00 +03:00
Ms2ger
9f1fbf3676 Bug 741048: Remove gfxAtoms. r=roc 2012-03-30 23:08:46 -07:00
Dave Townsend
f5853d4d7a Backing out changeset 432c4be058b5 which landed with no bug. 2012-03-30 22:23:24 -07:00
Jonathan Kew
23cb2f2b7a bug 740477 - handle Dutch-specific capitalization of the ij digraph. r=smontagu 2012-03-30 17:37:46 -07:00
Ehsan Akhgari
7c68b9fbe7 Bug 740857 - Remove dead code from nsFrame::BoxReflow; r=dbaron 2012-03-30 10:27:51 -07:00
Ms2ger
b313aff15a No bug - Remove gfxAtoms; r=roc 2012-03-29 23:08:43 +02:00
Avi Halachmi (:avih)
aebd5ca0c6 Bug 737758: part 3: Cleanups and semantic consistency [r=roc] 2012-03-26 11:53:45 +02:00
Avi Halachmi (:avih)
8a2de1a907 Bug 737758: part 1: Propagate mouse wheel event origin from ESM [r=roc] 2012-03-26 11:50:30 +02:00
Jonathan Kew
3db8fb754a bug 231162 - support custom casing behavior for Turkish and similar writing systems. r=smontagu 2012-03-27 08:49:03 -07:00
Scott Johnson
563a904303 Bug 708187: Disable caching of font inflation inside of BuildTextRunsScanner to prevent bleeding of bad values. [r=dbaron] 2012-03-26 22:37:16 -07:00
Scott Johnson
07d76a0c92 Bug 733640: Add crashtest for bug 718516. [r=ehsan]
--HG--
extra : rebase_source : 45e73bc4a7e36da12630c368040b152b83005664
2012-03-26 12:43:22 -07:00
Daniel Holbert
7e34b1dd3d backing out 56664e0e2f2 (bug 718516) due to wrong commit message 2012-03-26 11:35:16 -07:00
Matt Woodrow
d6105b78f4 Bug 729955 - Invalidate destroyed out-of-flow frames before unregistering the placeholder frame. r=bz 2012-03-26 11:27:37 -07:00
Scott Johnson
4a47ae026f Bug 718516: Remove call to FinishReflowWithAbsoluteFrames until nsColumnSetFrame is fully implemented as an absolute container. [r=ehsan] 2012-03-26 10:29:59 -07:00
Ehsan Akhgari
fe02fdb396 Bug 726592 - Uninitialised value use in nsTextFrame::GetChildFrameContainingOffset; r=roc
--HG--
extra : rebase_source : 3e5d2fafc028edb2940bef07302161670692d5a1
2012-03-26 09:09:38 -07:00
Ehren Metcalfe
c449b4f621 Bug 738957 - Remove the nsMathMLForeignFrameWrapper class and related files. r=karlt 2012-03-26 09:59:54 +02:00
Henri Sivonen
0b5228046a Bug 738572 - #include nsIHTMLContentSink.h in fewer places. r=bzbarsky. 2012-03-23 17:21:44 +02:00
Scott Johnson
473dddfa8f Bug 711418 - Enable font inflation for body and html elements with fixed heights. [r=dbaron] 2012-03-23 22:47:43 -05:00
Edwin Flores
2930697827 Bug 738392 - Fix plugins not rendering inside CSS transform on Mac OSX r=roc 2012-03-23 11:21:57 -07:00
Daniel Holbert
c9fc8d1119 Bug 738705: Remove dead helper-class CompareByContentOrderComparator. r=bz 2012-03-23 11:17:33 -07:00
Jonathan Kew
d309e7470a bug 736210 - fix bug in nsCaseTransformTextRunFactory surrogate handling. r=smontagu 2012-03-23 17:48:11 +00:00
Nicholas Nethercote
6ae6850783 merge 2012-03-21 21:48:40 -07:00