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().
--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
This patch handles all the cases where we just want to swap out
nsAutoArrayPtr for UniquePtr and don't require code changes other than
updating uses that implicitly converted to T* to follow UniquePtr's
conventions.
Fontconfig allows for fonts to be arbitrarily mapped into another font
family. Under some versions of Debian and Fedora, families like Droid
Sans Japanese were mapped into the Droid Sans family. To match these
font families properly, it's necessary to test multiple fonts within a
single given family. Since this is a relatively time consuming
procedure, only do this when there are multiple regular faces for a
given family.
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
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
Rework system font lookup under OSX so that the style system passes around the same "meta" name used by Webkit, -apple-system. This makes it so that the hidden system fonts used aren't exposed to authors. It also allows us to handle the two optical sizes of font families used under OSX 10.11, which uses San Francisco as the new UI font, with one family for text sizes and another for larger, display sizes. The patch here:
- moves system font lookup into gfxMacPlatformFontList
- assigns the font family name to "-apple-system"
- derives FindFamily to take a gfxFontStyle parameter to allow size-based lookups
- maintains a list of hidden system font families (not exposed to authors)
- maintains a mapping from -apple-system to the underlying hidden font families
Also...
- Rename various "operator" identifiers as "op" to match |CompositionOp|.
- Rename |nsBackgroundLayerState::mCompositingOp| as |mCompositionOp| to match
|CompositionOp|.
- Remove some deprecated functions that are no longer needed.
--HG--
extra : rebase_source : 74e9b6eecf6f442e27cc18fd4ae6f668a45188aa
In various places SetColor() gets passed a gfxRBGA that is constructed at the
call site. This patch changes these to construct a gfx::Color directly,
avoiding the subsequent conversion.
--HG--
extra : rebase_source : e2882f4af319c9541891da34da4202baee5470b0
This requires doing likewise for GetSolidColor(), PushSolidColor()
HasNonOpaqueColor().
This removes a ThebesRGBA() call in GetDeviceColor() and a ThebesColor() call in
GetSolidColor().
--HG--
extra : rebase_source : 3b66f378443f1ca05b49bc763b2adf42ac3ef845
This makes it clearer that, unlike how SizeOf*() functions usually work, this
doesn't measure any children hanging off the array.
And do likewise for nsTObserverArray.
--HG--
extra : rebase_source : 6a8c8d8ffb53ad51b5773afea77126cdd767f149
This fixes a regression when painting semi-transparent synthetic bold text. When
we do that we update the draw target but refactoring in bug 1037340 part
2 caused us to store the draw target before it was updated.