Commit Graph

12714 Commits

Author SHA1 Message Date
Aryeh Gregor
12ce571ca9 Bug 745528 - execCommand() should apply style="" to only inline elements, not blocks; r=ehsan 2012-04-17 20:50:19 +03:00
Wes Johnston
a2af451322 Bug 732016 - Don't call GetFrameFromPoint for non touchstart touch events. r=smaug 2012-04-17 10:08:23 -07:00
Daniel Holbert
3643243851 Bug 745991: In nsCSSFrameConstructor::MaybeRecreateContainerForFrameRemoval, add explicit parenthesis around '&&' within '||' to silence GCC warning. r=smontagu 2012-04-17 09:56:15 -07: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
Aryeh Gregor
1cd223ec12 Bug 279330 part 2 - execCommand("hilitecolor") should work even in non-CSS mode; r=ehsan 2012-04-17 13:18:08 +03:00
Timothy Nikkel
4061c74e60 Bug 728284. Don't try to paint an opaque background for widgets that do it themselves. r=roc 2012-04-17 01:04:05 -05:00
Robert O'Callahan
7da215f576 Bug 728983. Part 2: When display items for multiple frames are merged, track the merged frames and mark them all as having an associated container layer. This ensures that invalidations are processed correctly. r=mattwoodrow 2012-04-17 17:45:04 +12:00
Robert O'Callahan
e7e04f4dc1 Bug 728983. Part 1: Add nsDisplayItem::GetMergedFrames. r=mattwoodrow 2012-04-17 17:44:32 +12:00
Frédéric Wang
c99aefe86b Bug 732834 - fix an error in the MathML stylesheet. r=karlt
--HG--
extra : rebase_source : 19e6787233ac4a7075152bb188b4f127e582be51
2012-04-17 13:01:10 +12:00
Scott Johnson
9f2b7450a2 Bug 745993: Fix failing reftest from bug 708175. [r=dbaron] 2012-04-16 18:39:25 -05:00
L. David Baron
1b065cd809 Add tests for font.size.inflation.lineThreshold preference and the associated threshold behavior. (Bug 706193, patch 5) r=roc 2012-04-16 15:32:12 -07: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
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
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
L. David Baron
d577687945 Fix mistake in manifest file from bug 708175 (causing some tests to be double-run and some not at all). 2012-04-16 14:17:29 -07:00
Jonathan Kew
f801626a48 bug 745555 - reftests for preservation of character-identity flags when uppercasing text containing es-zet. r=roc 2012-04-16 13:54:52 +01: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
Robert Longson
58735a46be Bug 736031 - getBBox returns incorrect results with empty containers. r=jwatt 2012-04-16 09:23:48 +01: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
26c6896858 bug 740120 - reftest for context-sensitive lowercase sigma mapping. r=smontagu 2012-04-15 15:52:47 +01: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
Jonathan Watt
4b283cdb29 Bug 745066 - Add comments documenting the declaration of nsSVGFilterInstance, its methods and its members. r=longsonr. 2012-04-13 14:22:06 +01:00
Robert O'Callahan
d5ca0ea99a Bug 735898. Mark test as passing on Android 2012-04-13 23:50:15 +12: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
Robert O'Callahan
ec5d3ef73c Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow 2012-04-13 23:44:06 +12:00
Robert O'Callahan
d722131e30 Bug 744607. Intersect a display item's layer-pixels draw-rect with the snapped clip rect. r=tnikkel 2012-04-13 23:44:05 +12: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
Robert Longson
3c0ce8608d Bug 743444 - Lighting Filter clipped when kernelUnitLength specified. r=roc 2012-04-13 08:01:55 +01: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
Kang-Hao (Kenny) Lu
c1a7834ef6 Bug 744243 - Forbid odd trailing slash in CSS 'border-image' property. r=dbaron 2012-04-12 10:02:33 +02: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
David Humphrey (:humph)
9534b79926 Bug 633602 - Implement Pointer Lock (Mouse Lock) API. r=roc,smaug 2012-04-11 17:55:21 -04:00
Armen Zambrano Gasparnian
640ca7ce08 Bug 735451. raise exception when DeviceManager fails to initialize. r=jmaher 2012-04-11 14:51:18 -04: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
Ms2ger
6c557c239a Backout changeset 986091dac358 (bug 744234) for M4 oranges. 2012-04-11 12:30:11 +02:00
Kang-Hao (Kenny) Lu
958ce832f6 Bug 744234 - Forbid odd trailing slash in CSS 'border-image' property. r=dbaron 2012-04-11 00:28:01 -07:00
Mike Hommey
f1ca47c4d8 Bug 644608 - Implement full dependencies for expandlibs. r=ted
* * *
Bug 644608 - Fixups
2012-03-31 09:24:39 +02: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
84a03695da Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow 2012-04-11 16:48:47 +12:00
Robert O'Callahan
04eb195d7e Bug 735898. Part 0: Fix comment. 2012-04-11 16:48:37 +12:00
Jared Wein
c07d87dc97 Bug 713487 - Move TopLevelImageDocument.css and TopLevelVideoDocument.css to toolkit/themes. r=roc,dao 2012-04-10 16:03:41 -07:00
L. David Baron
8b45fe3efa Run font inflation reftests with the reftest harness rather than inside of mochitest. (Bug 743817) r=sjohnson
--HG--
rename : layout/base/tests/font-inflation/bug707855-innerFrame-ref.html => layout/reftests/font-inflation/bug707855-innerFrame-ref.html
rename : layout/base/tests/font-inflation/bug707855-innerFrame.html => layout/reftests/font-inflation/bug707855-innerFrame.html
rename : layout/base/tests/font-inflation/bug707855-ref.html => layout/reftests/font-inflation/bug707855-ref.html
rename : layout/base/tests/font-inflation/bug707855.html => layout/reftests/font-inflation/bug707855.html
rename : layout/base/tests/font-inflation/bullet-1-ref.html => layout/reftests/font-inflation/bullet-1-ref.html
rename : layout/base/tests/font-inflation/bullet-1.html => layout/reftests/font-inflation/bullet-1.html
rename : layout/base/tests/font-inflation/bullet-2-ref.html => layout/reftests/font-inflation/bullet-2-ref.html
rename : layout/base/tests/font-inflation/bullet-2.html => layout/reftests/font-inflation/bullet-2.html
rename : layout/base/tests/font-inflation/consecutive-inline-ref.html => layout/reftests/font-inflation/consecutive-inline-ref.html
rename : layout/base/tests/font-inflation/consecutive-inline.html => layout/reftests/font-inflation/consecutive-inline.html
rename : layout/base/tests/font-inflation/container-with-clamping-innerFrame-ref.html => layout/reftests/font-inflation/container-with-clamping-innerFrame-ref.html
rename : layout/base/tests/font-inflation/container-with-clamping-innerFrame.html => layout/reftests/font-inflation/container-with-clamping-innerFrame.html
rename : layout/base/tests/font-inflation/container-with-clamping-ref.html => layout/reftests/font-inflation/container-with-clamping-ref.html
rename : layout/base/tests/font-inflation/container-with-clamping.html => layout/reftests/font-inflation/container-with-clamping.html
rename : layout/base/tests/font-inflation/css-transform-1-ref.html => layout/reftests/font-inflation/css-transform-1-ref.html
rename : layout/base/tests/font-inflation/css-transform-1.html => layout/reftests/font-inflation/css-transform-1.html
rename : layout/base/tests/font-inflation/css-transform-2-ref.html => layout/reftests/font-inflation/css-transform-2-ref.html
rename : layout/base/tests/font-inflation/css-transform-2.html => layout/reftests/font-inflation/css-transform-2.html
rename : layout/base/tests/font-inflation/decoration-1-ref.html => layout/reftests/font-inflation/decoration-1-ref.html
rename : layout/base/tests/font-inflation/decoration-1.html => layout/reftests/font-inflation/decoration-1.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile-2.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile-2.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile-3.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile-3.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile-4.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile-4.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile-ref.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile-ref.html
rename : layout/base/tests/font-inflation/disable-fontinfl-on-mobile.html => layout/reftests/font-inflation/disable-fontinfl-on-mobile.html
rename : layout/base/tests/font-inflation/fixed-height-body-child-ref.html => layout/reftests/font-inflation/fixed-height-body-child-ref.html
rename : layout/base/tests/font-inflation/fixed-height-body-child.html => layout/reftests/font-inflation/fixed-height-body-child.html
rename : layout/base/tests/font-inflation/fixed-height-body-ref.html => layout/reftests/font-inflation/fixed-height-body-ref.html
rename : layout/base/tests/font-inflation/fixed-height-body.html => layout/reftests/font-inflation/fixed-height-body.html
rename : layout/base/tests/font-inflation/input-checkbox.html => layout/reftests/font-inflation/input-checkbox.html
rename : layout/base/tests/font-inflation/input-radio.html => layout/reftests/font-inflation/input-radio.html
rename : layout/base/tests/font-inflation/input-text-1-ref.html => layout/reftests/font-inflation/input-text-1-ref.html
rename : layout/base/tests/font-inflation/input-text-1.html => layout/reftests/font-inflation/input-text-1.html
rename : layout/base/tests/font-inflation/input-text-2-ref.html => layout/reftests/font-inflation/input-text-2-ref.html
rename : layout/base/tests/font-inflation/input-text-2.html => layout/reftests/font-inflation/input-text-2.html
rename : layout/base/tests/font-inflation/input-text-3-ref.html => layout/reftests/font-inflation/input-text-3-ref.html
rename : layout/base/tests/font-inflation/input-text-3.html => layout/reftests/font-inflation/input-text-3.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1a-ref.html => layout/reftests/font-inflation/intrinsic-fit-1a-ref.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1a.html => layout/reftests/font-inflation/intrinsic-fit-1a.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1b-ref.html => layout/reftests/font-inflation/intrinsic-fit-1b-ref.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1b.html => layout/reftests/font-inflation/intrinsic-fit-1b.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1c-ref.html => layout/reftests/font-inflation/intrinsic-fit-1c-ref.html
rename : layout/base/tests/font-inflation/intrinsic-fit-1c.html => layout/reftests/font-inflation/intrinsic-fit-1c.html
rename : layout/base/tests/font-inflation/intrinsic-fit-2a.html => layout/reftests/font-inflation/intrinsic-fit-2a.html
rename : layout/base/tests/font-inflation/intrinsic-fit-2b.html => layout/reftests/font-inflation/intrinsic-fit-2b.html
rename : layout/base/tests/font-inflation/intrinsic-fit-2c.html => layout/reftests/font-inflation/intrinsic-fit-2c.html
rename : layout/base/tests/font-inflation/intrinsic-max-1-ref.html => layout/reftests/font-inflation/intrinsic-max-1-ref.html
rename : layout/base/tests/font-inflation/intrinsic-max-1.html => layout/reftests/font-inflation/intrinsic-max-1.html
rename : layout/base/tests/font-inflation/intrinsic-min-1-ref.html => layout/reftests/font-inflation/intrinsic-min-1-ref.html
rename : layout/base/tests/font-inflation/intrinsic-min-1.html => layout/reftests/font-inflation/intrinsic-min-1.html
rename : layout/base/tests/font-inflation/preformatted-text-ref.html => layout/reftests/font-inflation/preformatted-text-ref.html
rename : layout/base/tests/font-inflation/preformatted-text.html => layout/reftests/font-inflation/preformatted-text.html
rename : layout/base/tests/font-inflation/select-combobox-1-ref.html => layout/reftests/font-inflation/select-combobox-1-ref.html
rename : layout/base/tests/font-inflation/select-combobox-1.html => layout/reftests/font-inflation/select-combobox-1.html
rename : layout/base/tests/font-inflation/select-combobox-2-ref.html => layout/reftests/font-inflation/select-combobox-2-ref.html
rename : layout/base/tests/font-inflation/select-combobox-2.html => layout/reftests/font-inflation/select-combobox-2.html
rename : layout/base/tests/font-inflation/select-listbox-1-ref.html => layout/reftests/font-inflation/select-listbox-1-ref.html
rename : layout/base/tests/font-inflation/select-listbox-1.html => layout/reftests/font-inflation/select-listbox-1.html
rename : layout/base/tests/font-inflation/select-listbox-2-ref.html => layout/reftests/font-inflation/select-listbox-2-ref.html
rename : layout/base/tests/font-inflation/select-listbox-2.html => layout/reftests/font-inflation/select-listbox-2.html
rename : layout/base/tests/font-inflation/text-1-ref.html => layout/reftests/font-inflation/text-1-ref.html
rename : layout/base/tests/font-inflation/text-1.html => layout/reftests/font-inflation/text-1.html
rename : layout/base/tests/font-inflation/text-2-ref.html => layout/reftests/font-inflation/text-2-ref.html
rename : layout/base/tests/font-inflation/text-2.html => layout/reftests/font-inflation/text-2.html
rename : layout/base/tests/font-inflation/text-3-ref.html => layout/reftests/font-inflation/text-3-ref.html
rename : layout/base/tests/font-inflation/text-3.html => layout/reftests/font-inflation/text-3.html
rename : layout/base/tests/font-inflation/text-4-ref.html => layout/reftests/font-inflation/text-4-ref.html
rename : layout/base/tests/font-inflation/text-4.html => layout/reftests/font-inflation/text-4.html
rename : layout/base/tests/font-inflation/textarea-1-ref.html => layout/reftests/font-inflation/textarea-1-ref.html
rename : layout/base/tests/font-inflation/textarea-1.html => layout/reftests/font-inflation/textarea-1.html
rename : layout/base/tests/font-inflation/textarea-2-ref.html => layout/reftests/font-inflation/textarea-2-ref.html
rename : layout/base/tests/font-inflation/textarea-2.html => layout/reftests/font-inflation/textarea-2.html
rename : layout/base/tests/font-inflation/textarea-3-ref.html => layout/reftests/font-inflation/textarea-3-ref.html
rename : layout/base/tests/font-inflation/textarea-3.html => layout/reftests/font-inflation/textarea-3.html
rename : layout/base/tests/font-inflation/video-1.html => layout/reftests/font-inflation/video-1.html
2012-04-10 10:56:59 -07:00
L. David Baron
edeb71a2b4 Add support to the reftest harness for preferences that apply to only one of the test or reference. (Bug 743105) r=jfkthame 2012-04-10 10:56:59 -07: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