Commit Graph

369 Commits

Author SHA1 Message Date
Kartikaya Gupta
52f3a8a0d9 Bug 1359842 - Convert RelativeToParent to deal with typed units. r=nical
As we are often converting from LayoutDevicePixel to LayerPixel types
in WebRenderDisplayItem code, I added a convenience overload of
RelativeToParent that takes a LayoutDeviceRect and returns a LayerRect,
even though this is a potential footgun if abused.

MozReview-Commit-ID: DABAWdOBsbV
2017-04-27 12:04:13 -04:00
Kartikaya Gupta
2ad1749b23 Bug 1359842 - Replace use of NSRectToRect in WebRender-related code with proper LayoutDevicePixel types. r=nical
MozReview-Commit-ID: 7MXFubPtLoD
2017-04-27 12:04:12 -04:00
Ethan Lin
4ac67f9248 Bug 1357003 - Keep original layer state for basic layer manager when enabling advanced layer. r=mattwoodrow 2017-04-21 23:11:38 +08:00
Ethan Lin
ea8636c2c0 Bug 1349500 - Add webrender support for BulletFrame path type. r=mchang 2017-04-18 14:26:41 +08:00
sotaro
274bd605dc Bug 1356130 - Change SendImageContainer() as to return Maybe<wr::ImageKey> r=jrmuizel 2017-04-14 09:13:12 +09:00
sotaro
51d8d19e56 Bug 1356088 - Fix ImageKey removals of ExternalImages r=jrmuizel 2017-04-13 20:53:21 +09:00
Lee Salzman
6ca29fbb02 Bug 1348980 - use UnscaledFont to track WebRender font keys. r=jrmuizel 2017-04-06 17:41:24 -04:00
Ryan Hunt
d7f00f1fa2 Bug 1345907 - Use clip region instead of clip rect r=kats 2017-03-09 11:57:06 -05:00
Jeff Muizelaar
677ccdea94 Bug 1344396. Build the display lists directly. r=kats
This is a largely uninteresting patch that just uses the DisplayListBuilder
directly. A wonderful cleanup patch will come after this. One of the more
interesting pieces is the use of PushBuiltDisplayList. This is needed for
handling empty transactions. See https://github.com/servo/webrender/pull/934
for more info.
2017-03-06 23:16:30 -05:00
Jeff Muizelaar
250229ef91 Bug 1343770. Separate out Parent commands from Child commands. r=kats
This basically just splits the enum in two and does the necessary plumbing. The
worst part is that now DisplayItemLayers need to have two arrays of commands.
Fortunately, this will be going away in the future.

This makes it so we don't send the child side commands to the parent.
2017-03-02 16:33:25 -05:00
Ethan Lin
d55384bad0 Bug 1342356 - Remove validBufferRegion from OpAddExternalImage. r=sotaro 2017-03-01 14:11:13 +08:00
Jeff Muizelaar
e421e711ab Bug 1342246. Generate resource ids on the client side. r=lsalzman 2017-02-23 17:52:38 -05:00
Ting-Yu Lin
e6769617e9 Bug 775624 Part 22 - Remove NS_FRAME_COMPLETE. r=dholbert
This patch is written by the following script with some manual adjustment to
the comment in nsRubyTextContainerFrame.cpp and nsRubyFrame.cpp, and
nsColumnSetFrame's constructor.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "nsReflowStatus *([a-zA-Z0-9]*) = NS_FRAME_COMPLETE" "nsReflowStatus \1"
rename "([a-zA-Z0-9.*]*) *= NS_FRAME_COMPLETE;" "\1.Reset();"
rename "([a-zA-Z0-9.*]*) == NS_FRAME_COMPLETE" "\1.IsEmpty()"

MozReview-Commit-ID: 9tqQAHvdQex
2017-02-14 17:55:48 +08:00
Morris Tseng
9f5b642b67 Bug 1339683 - Remove build layer codes which are not used anymore. r=mattwoodrow
MozReview-Commit-ID: E64X3p5m3et
2017-02-20 10:22:58 +08:00
Morris Tseng
d9254ac8a5 Bug 1339683 - Add CreateWebRenderCommands for nsDisplayBullet. r=mattwoodrow
MozReview-Commit-ID: 6IhKxRCJvZd
2017-02-20 10:22:58 +08:00
Morris Tseng
ea7f9760c7 Bug 1339683 - Move the function definition out of class for readability. r=mattwoodrow
MozReview-Commit-ID: Ed1ItJYWxYG
2017-02-20 10:22:58 +08:00
Daniel Holbert
bee7fa0be8 Bug 1339609: Add #include for gfxPrefs.h to all source code that calls gfxPrefs APIs. r=jgilbert
MozReview-Commit-ID: GxWehmDYB3t
2017-02-14 14:01:59 -08:00
Jonathan Watt
8b4dac7b4f Bug 1058040, part 11 - Convert DrawImage/DrawImageInternal's SVGImageContext param from pointer to Maybe<>. r=dholbert 2017-01-11 01:48:29 +00:00
Morris Tseng
6da3b07ab1 Bug 1328494 - Convert nsDisplayBullet to layer. r=mattwoodrow
MozReview-Commit-ID: 8cDvUfwJqUF
2017-01-24 16:53:42 +08:00
Xidorn Quan
db94c3e82c Bug 1303241 part 2 - Make GetVisitedDependentColor use style structs directly. r=dbaron
I think there are three advantages of this change:
1. removes some dependencies from layout / painting code to pre-computed
   value stuff in the style system;
2. makes it easier to audit usage of specific fields in style structs
   (which is probably a side effect of the first one);
3. potentially improves performance since it doesn't go through the
   unnecessary general logic in ExtractComputedValue.

Also, combined with the part before, we get a unified list for visited-
dependent properties so that we can ensure the assertion here and the
style difference calc code are consistent.

MozReview-Commit-ID: 5B9aN7CfRgI
2016-12-31 00:57:37 +11:00
Ting-Yu Lin
6c830f801e Bug 1288992 Part 3 - Rename local variables named metrics to reflowOutput. r=dholbert
This patch is edited manually.

MozReview-Commit-ID: 1IsLGrgmDIY
2016-07-26 17:10:52 +08:00
Ting-Yu Lin
d3e8cf1818 Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
3b9a7090d9 Bug 1277129 Part 6b - Rename rendContext to mRenderingContext in SizeComputationInput. r=dbaron
MozReview-Commit-ID: LczLJDtDncy
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
bb0825b5c7 Bug 1277129 Part 5c - Rename nsHTMLReflowMetrics to ReflowOutput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowMetrics" "ReflowOutput"

MozReview-Commit-ID: 2HBb7DkooH5
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
10912a51e3 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc
2016-07-21 18:36:35 +08:00
Jonathan Watt
fa7b69b631 Bug 1277862, part 3 - Rename Moz2D's Filter to SamplingFilter in the rest of the tree. r=Bas 2016-05-25 17:01:18 +01:00
Markus Stange
b3e714b985 Bug 1270023 - Make nsDisplayBullet respect DisableComponentAlpha(). r=mattwoodrow
MozReview-Commit-ID: BlPpm24Knwc
2016-05-31 14:56:22 -04:00
Mats Palmgren
c066fae6e9 Bug 645647 part 1 - Don't let empty bullet frames block suppressing white-space in intrinsic size calculations. r=dholbert 2016-04-14 01:32:12 +02:00
Xidorn Quan
ba620a636b Bug 1257121 part 4 - Use return value rather than out param to return font metrics. r=jfkthame
MozReview-Commit-ID: 6xrHYbgHGVd
2016-03-17 13:55:48 +08:00
Xidorn Quan
c26e860288 Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron 2016-01-28 14:23:59 +11:00
Nicholas Nethercote
7fabd8754f Bug 1231550 - Use DrawTarget instead of gfxContext and/or nsRenderingContext in many places in font/text code. r=jfkthame.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.

The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:

- It adds a comment about the null check in
  gfxGlyphExtents::GetTightGlyphExtentsAppUnits().

- A couple of functions simply had an unused gfxContext or nsRenderingContext
  parameter removed, e.g. SetLineBreaks().
2015-12-15 13:56:41 -08:00
Seth Fowler
92e310740a Bug 1207355 (Part 4) - Request decodes intelligently in nsBulletFrame. r=tn 2015-10-29 16:37:42 -07:00
Phil Ringnalda
f09341276b Back out 8 changesets (bug 1207355) for OS X 10.10 reftest failures in generated-content/
CLOSED TREE

Backed out changeset aafd6db2fbb4 (bug 1207355)
Backed out changeset 9dd950b837fb (bug 1207355)
Backed out changeset e941e0e106a1 (bug 1207355)
Backed out changeset ecebca101fcb (bug 1207355)
Backed out changeset 08f2017137e1 (bug 1207355)
Backed out changeset 3dc69e37c9b4 (bug 1207355)
Backed out changeset bcdf51edb121 (bug 1207355)
Backed out changeset 1d4c00dbf49a (bug 1207355)
2015-10-28 22:57:43 -07:00
Seth Fowler
98ce1b6b02 Bug 1207355 (Part 4) - Request decodes intelligently in nsBulletFrame. r=tn 2015-10-28 16:40:43 -07:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Nicholas Nethercote
15a618076e Bug 1207944 (part 4) - Use SetColor(const Color&) when setting from an nscolor. r=jwatt.
In various places SetColor() gets passed an nscolor. These are converted
(either implicitly or explicitly) to a gfxRBGA, and then to a gfx::Color.

This patch changes all these cases to avoid the middle step, by (a)
constructing a gfx::Color directly instead of an nscolor, or (b) by converting
an nscolor with Color::FromABGR().
2015-09-23 23:41:30 -07:00
Cameron McCormack
e13f913db1 Bug 968923 - part 3b - propagating use counters from SVG images into owning/parent documents; r=seth 2015-06-03 13:42:07 -04:00
Mats Palmgren
3f92be8fe8 Bug 1148833 part 3 - Remove nsIFrame::WillReflow and add a non-virtual MarkInReflow method instead that sets NS_FRAME_IN_REFLOW. Call it at the start of Reflow(). r=roc 2015-03-29 22:38:40 +00:00
Ehsan Akhgari
ea41d8de48 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Xidorn Quan
67b3370e56 Bug 1142400 - Separate padding calculation in Get{Min,Pref}ISize and Reflow of nsBulletFrame. r=dbaron 2015-03-12 20:53:54 +11:00
Xidorn Quan
99c9cdca60 Bug 1142369 - Include padding of generated image in intrinsic isize of bullet frame. r=roc 2015-03-12 16:57:08 +11:00
Jonathan Kew
f92871ef03 Bug 1117210 - Snap text baselines to device pixels in vertical writing modes. r=smontagu 2015-02-11 10:59:06 +00:00
Carsten "Tomcat" Book
498863575e Backed out changeset df2290db92d0 (bug 1117210) for breaking m5 tests on a CLOSED TREE 2015-02-11 11:28:19 +01:00
Jonathan Kew
e7647bda80 Bug 1117210 - Snap text baselines to device pixels in vertical writing modes. r=smontagu 2015-02-11 08:44:34 +00:00
Seth Fowler
4f7d6cb3c7 Bug 1128769 (Part 2) - Check if we invalidated for a sync decode and never painted before invalidating for sync decoding again. r=tn 2015-02-09 23:27:39 -08:00
Seth Fowler
46b48e0a3c Bug 1128225 (Part 5) - Record the last draw result in nsDisplayBullet and use it to decide whether to sync decode. r=tn 2015-02-04 13:50:56 -08:00
Jonathan Kew
3cba7cde6a Bug 1111944 - part 2 - Update nsBulletFrame::PaintBullet to handle vertical text in list item markers. r=smontagu 2015-01-06 20:56:03 +00:00
Jonathan Watt
2046527e39 Bug 1101571 - List-style discs are all wobbly during vertical transitions. r=mattwoodrow 2014-11-21 15:48:05 +00:00
Seth Fowler
3f90d6455e Bug 1098202 (Part 1) - Rename imgINotificationObserver handlers to be consistent with the notifications they handle. r=tn 2014-11-17 14:29:56 -08:00