Commit Graph

388 Commits

Author SHA1 Message Date
L. David Baron
bee6952552 Change some uses of nsChangeHint_ReflowFrame to check nsChangeHint_NeedReflow. (Bug 789592, patch 1) r=bzbarsky 2012-09-07 15:57:06 -07:00
L. David Baron
2b664f79ba Refix bug 731521 in the new setup for forcing comparison in nsStyleContext::CalcDifference, since we can no longer rely on nsStyleBorder::ForceCompare. (Bug 779968, patch 5) r=bzbarsky 2012-09-07 10:13:36 -07:00
L. David Baron
396c3c4bb2 Move nsStyleStruct MaxDifference methods inline, and make them available unconditionally rather than DEBUG-only. (Bug 779968, patch 1) r=bzbarsky 2012-09-07 10:13:36 -07:00
Cameron McCormack
0306878c88 Bug 655877 - Part 23a: Add white-space:-moz-pre-discard-newlines value with white space collapsing behavior like SVG's xml:space="preserve". r=roc,dbaron 2012-09-07 15:42:19 +10:00
Edwin Flores
3c306b446c Bug 719286 - Add support for -moz-objectValue keyword to CSS parser for SVG glyphs r=dbaron 2012-09-06 16:58:47 +12:00
Edwin Flores
f5a2675bcf Bug 719286 - Add support for -moz-objectFillOpacity and -moz-objectStrokeOpacity to CSS parser for SVG glyphs r=dbaron 2012-09-06 16:58:46 +12:00
Edwin Flores
4e81980066 Bug 719286 - Add support for objectfill and objectstroke values to CSS parser r=dbaron 2012-09-06 16:58:46 +12:00
Daniel Holbert
c62fdc18d3 Bug 763689 patch 3: Support min-height:auto in computed style, and add special cases as necessary wherever it's read. r=dbaron 2012-09-04 16:26:11 -07:00
Daniel Holbert
bb17bc6aff Bug 763689 patch 2: Support min-width:auto in computed style, and add special cases as necessary wherever it's read. r=dbaron 2012-09-04 16:26:10 -07:00
Paul Adenot
965ed92866 Bug 761393 - Cache the gfxPatterns using an nsExpirationTracker and an hashtable. r=dbaron 2012-08-26 21:09:46 -07:00
Kyle Huey
8443a7a8f1 Bug 783162: Make mapped attributes hold the image alive. r=bz
The nsCSSValue in nsGenericHTMLElement::MapBackgroundInto is a temporary.  This causes a problem after Bug 697230 landed, because the nsCSSValue::Image we put into that value is destroyed once we're done doing style stuff.  Previously the nsImageLoader would grab the request off the nsCSSValue::Image and hold it alive.  Bug 697230 changed the behavior here; now when the nsCSSValue::Image is destroyed it tells the image loader to drop the request.  The result is that all the references to the request are dropped and the frame is never told it has a background.

The solution is to keep the nsCSSValue::Image alive longer.  This patch adds two new types of nsAttrValue.  The first is an nsCSSValue::URL.  A ParseBackgroundAttribute method is added on nsGenericHTMLElement that the relevant elements (body/td/th/table/tr/tbody/thead/tfoot) call that parses background into an nsCSSValue::URL.  The second is an nsCSSValue::Image.  nsGenericHTMLElement::MapBackgroundInto attempts to convert the nsCSSValue::URL into an nsCSSValue::Image by kicking off the image load.  The result is that image loads are only started when the element is actually visible.  This also mirrors the way background-image works.  This also allows us to fix two longstanding bugs in this code.  Since MapBackgroundInto doesn't have a pointer to the actual element, it relied on grabbing the principal of the document.  Now we can grab the principal of the node in ParseBackgroundAttribute.  MapBackgroundInto also has no way to get at the element's base URI (to honor xml:base), which is now possible in ParseBackgroundAttribute.

nsCSSValue::[Image|URL] have also been moved to be mozilla::css::[Image|URL]Value.  nsAttrValue.h is included in external linkage code, so it can't include nsCSSValue.h to get the declarations of nsCSSValue::[Image|URL], and nested classes can't be forward declared.  Moving the classes to a namespace solves the problem.

Finally some old inoperative quirks mode code was removed.  This code has done nothing since Bug 273078 was landed in 2004.
2012-08-24 10:50:49 -07:00
Ehsan Akhgari
e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
L. David Baron
31b5c3639b Track whether nsStyleVisibility::mLanguage came from explicit information in the document. (Bug 702121, patch 1) r=jfkthame 2012-08-20 19:23:32 -07:00
Robert O'Callahan
d2d218e577 Bug 691651. When an element changes between having a transform and not having one, don't reframe if we don't need to. r=dbaron
--HG--
extra : rebase_source : ed990c17d2501ea5f4d09dea56baeada41cd3f35
2012-08-10 23:16:49 +12:00
Cameron McCormack
c0e5b04602 Bug 655877 - Part 11a: Ensure we reflow SVG text when dominant-baseline changes. r=roc 2012-08-02 21:38:48 +10:00
Scott Johnson
63993f05d9 Bug 764567: Implement column-fill part of CSS3 multicol spec, now with regression fixes [r=roc]. 2012-07-31 11:21:19 -05:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Boris Zbarsky
496f1a1325 Bug 771594. Allow preference control over what CSS properties we parse. r=dbaron,dholbert 2012-07-13 19:59:05 -04:00
Masatoshi Kimura
85d5ae2b8f Bug 752187 - Part 10: Implement rendering unprefixed gradients. r=dbaron 2012-07-07 10:27:08 -04:00
Daniel Holbert
131f2b5d0d Bug 696253, patch 7: implement parsing/computation for CSS property 'flex-basis'. r=dbaron 2012-07-06 17:06:23 -07:00
Daniel Holbert
c7782ae98e Bug 696253, patch 6: implement parsing/computation for CSS properties 'flex-grow' and 'flex-shrink'. r=dbaron 2012-07-06 17:06:22 -07:00
Daniel Holbert
0dd40b90f7 Bug 696253, patch 5: implement parsing/computation for CSS property 'align-self'. r=dbaron 2012-07-06 17:06:21 -07:00
Daniel Holbert
85e8349a15 Bug 696253, patch 4: implement parsing/computation for CSS property 'align-items'. r=dbaron 2012-07-06 17:06:21 -07:00
Daniel Holbert
9e077e40c9 Bug 696253, patch 3: implement parsing/computation for CSS property 'flex-direction'. r=dbaron 2012-07-06 17:06:20 -07:00
Daniel Holbert
4fe6be60d1 Bug 696253, patch 2: implement parsing/computation for CSS property 'order'. r=dbaron 2012-07-06 17:06:19 -07:00
Daniel Holbert
e193caf93a Bug 696253, patch 1: implement parsing/computation for CSS property 'justify-content'. r=dbaron 2012-07-06 17:06:19 -07:00
Jignesh Kakadiya
c6255b0295 Bug 695813 - Use init list in nsStyleDisplay copy-constructor instead of direct-assignment. r=dbaron 2012-07-06 16:31:54 -07:00
Scott Johnson
f9c641e24b Bug 733614: Backout changes from bug 695222 for mozilla 16 branch [r=dbaron]. 2012-06-13 11:00:56 -05:00
Ehsan Akhgari
bdd1cdb13d Bug 157681 - Part 2: Optimize positioned frame offset changes by moving the frame as opposed to reflowing it in case we know that the size of the frame will not change; r=dbaron
This patch adds a change hint to signal that one of the offsets on a
frame has been changed.  When processing the hint, we do one of the
following things based on the position property of the frame.

* For static frames, we ignore the offset changes completely, as they
  will not change the layout.
* For relative positioned frames, this patch refactors the
  nsHTMLReflowState::ComputeRelativeOffsets function so that it can be
  used from other callers, and it uses that to compute the new relative
  offsets, and uses the offsets computed previously to compute the new
  position of the frame.
* For absolute positioned frames, we set up a fake parent reflow state
  object, and then we create a new reflow state object for the frame in
  question.  This setup is similar to what nsFrame::BoxReflow does.
  Once we have the new reflow state object, we use it to compute the
  absolute offsets, and then we use the computed offsets to set the new
  position of the frame.  The offset computation is similar to what
  nsAbsoluteContainingBlock::ReflowAbsoluteFrame does.  In some cases
  where it is possible for the dimensions of the frame to change based
  on the offset changes, we fall back to a full reflow.
2012-06-06 00:53:48 -04:00
L. David Baron
6642be49cb Remove nsStyleBorder::GetActualBorder, since it now does the same thing as nsStyleBorder::GetComputedBorder. (Bug 713643, patch 3) r=bzbarsky 2012-05-30 22:19:49 -07:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Robert Longson
8953e7caaf Bug 528332 - Implement non-scaling-stroke vector-effect. Part 1 - style system changes r=dbaron 2012-05-18 09:33:40 +01:00
Makoto Kato
e70f17856c Bug 249159 - Part 2 Implement CSS3 Text word-break property. r=dbaron, smontagu 2012-05-07 12:18:23 -07:00
John Daggett
4984947d00 Bug 718539. Update font-feature-settings to latest spec syntax. r=dbaron 2012-04-26 15:24:26 +09:00
Nathan Froyd
cb640ed02d Bug 746276 - pack style structures more carefully; r=bz 2012-04-17 15:22:49 -04:00
Lazar Sumar
e55f832fac Bug 548375 - Implement css3-background background-repeat property two value syntax. r=dbaron 2012-02-24 21:23:14 -08:00
Zack Weinberg
f4fb4a1991 Bug 729142 - Convert layout/style to MOZ_STATIC_ASSERT. r=dbaron 2012-02-23 08:19:00 -08:00
Jonathan Watt
f4f67ef82f Bug 416581, part 2 - Pay attention to the 'lang' attribute when fetching the user's font prefs for the CSS cascade. r=dbaron. 2012-01-25 23:52:26 +00:00
Mats Palmgren
3441a254aa merge backout 2012-02-07 12:31:44 +01:00
Mats Palmgren
0e9e24f0c7 Backout Part 4 of bug 524925 (73eaf1199ff0). r=roc 2012-02-07 12:31:37 +01:00
Mats Palmgren
10fd500a82 Backout bug 719177 (2cae7e5c62ae,07bd73451aa4,13739446fc8e,0246973f2513,f222fbece983,8f11aaac24dc). r=roc 2012-02-07 12:31:24 +01:00
Mats Palmgren
1144b2f834 Bug 719177 - Changes to 'clip' only needs to update the overflow areas and repaint but does not need a reflow. r=roc 2012-01-28 04:35:59 +01:00
Mats Palmgren
ff48d8d15b Bug 719177 - Changes to 'border-image-outset' only needs to update the overflow areas and repaint but does not need a reflow. r=roc 2012-01-28 04:35:59 +01:00
Mats Palmgren
dbad187e8c Bug 719177 - Introduce NS_STYLE_HINT_UPDATE_OVERFLOW as a short-hand for nsChangeHint(nsChangeHint_RepaintFrame | nsChangeHint_UpdateOverflow). r=roc 2012-01-28 04:35:59 +01:00
Mats Palmgren
3808c1ebe2 Bug 719177 - Changes to '-moz-text-blink' and some 'text-decoration-style' values only need to update the overflow areas and repaint, not reflow. r=roc 2012-01-28 04:35:58 +01:00
Mats Palmgren
d79b04f5a7 Bug 719177 - Replace all NS_STYLE_HINT_VISUAL with nsChangeHint_RepaintFrame except for 'visibility' and 'z-index' which are the only ones that need SyncFrameView. r=roc 2012-01-28 04:35:58 +01:00
Mats Palmgren
3d4e1b9097 Bug 719177 - Changes to 'text-shadow' and 'box-shadow' only needs to update the overflow areas and repaint, not reflow. Changes to border style/color/etc only needs repaint, not SyncFrameView. r=roc 2012-01-28 04:35:58 +01:00
Mats Palmgren
c372ed8042 Bug 524925 - Make outline style changes update the overflow and repaint instead of reflow. part=4/6 r=roc 2012-01-18 21:04:51 +01:00
Mats Palmgren
c440256fa3 Bug 524925 - Make all transform style changes update the overflow and repaint instead of reflow. part=3/6 r=roc 2012-01-18 21:04:51 +01:00
Jonathan Watt
f36738d918 Bug 416581, part 1 - Move mLanguage from nsStyleVisibility to nsStyleFont. r=dbaron. 2012-01-24 13:09:55 +00:00