Граф коммитов

113 Коммитов

Автор SHA1 Сообщение Дата
Milan Sreckovic 9846692940 Bug 1331274: aPath coming into Fill method may not be valid. r=kechen
MozReview-Commit-ID: 5tmGUXEFJlw

--HG--
extra : rebase_source : a76ffbbfecfcbad73f2c7ffba86cf25a719ff133
2017-01-16 13:21:36 -05:00
peter chang ea69eeb193 Bug 1323837 - Draw nothing if there are no color stops for gradient effect, r=bas
MozReview-Commit-ID: BnZlh2NhdHX

--HG--
extra : rebase_source : e221cebdb64e55926c63fd105df0a55635b28e19
2016-12-16 13:55:22 +08:00
Lee Salzman 2b779e5359 Bug 1250037 - part 2 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. r=mchang
MozReview-Commit-ID: 5MERz8RmGUd
2016-11-21 13:17:09 -05:00
Sebastian Hengst bf0af8baea Backed out changeset 5504280ce43c (bug 1250037) 2016-11-18 00:29:02 +01:00
Lee Salzman 8acbd8d04a Bug 1250037 - part 2 - use DrawTarget::DrawSurfaceWithShadow to render box shadows on platforms that accelerate it. r=mchang
MozReview-Commit-ID: 5MERz8RmGUd
2016-11-17 16:04:05 -05:00
Ethan Lin 4bf5cb2b97 Bug 1301579 - Add assertion to prevent the use of DrawTargetD2D1::DrawSurface with A8 format. r=mstange 2016-09-08 20:30:00 +02:00
David Major 1cd2c98af7 Bug 1305536: Initialize the out-param of DrawTargetD2D1::GetDeviceSpaceClipRect. r=Bas 2016-09-29 13:18:33 -05:00
Bas Schouten 8c73fcc8e1 Bug 1303534: Make sure to pop all clips before grappig the image for the top-level 'layer'. r=jrmuizel
MozReview-Commit-ID: 2nHV0v7MInD

--HG--
extra : rebase_source : a0c7dcc55840020380afe4f0817b3b06f20bef77
2016-09-27 17:11:39 +02:00
Bas Schouten 0da057c54f Bug 1300338: Do not attempt to preserve layer content when we're going to override it in a blend operation anyway. r=jrmuizel
MozReview-Commit-ID: DIEyrK89jtd
2016-09-12 18:41:10 +02:00
Lee Salzman 8869fd86cf Bug 1029705 - allow clipping to a list of device-space rectangles (a region) in DrawTarget via PushDeviceSpaceClipRects. r=bas
MozReview-Commit-ID: 8zM116zB0NB
2016-09-21 17:03:20 -04:00
Nathan Froyd 76bc75d243 Bug 1298171 - store result of BitmapProperties1 in a temporary to avoid warnings; r=jrmuizel
MozReview-Commit-ID: ANy1vKc5p07

--HG--
extra : rebase_source : d2b43299ec7244bc5bccb21c96f6604f50b083e8
2016-08-29 10:31:25 -04:00
Nicolas Silva 39f5573d6f Bug 1291190 - Don't crash when push/pop clips are not balanced correctly. r=Bas 2016-08-24 11:06:45 +02:00
Bas Schouten 37341a7ea4 Bug 1293586: Don't use command lists for an effect when that command list already has an effect with a command list used inside of it. r=mstange
MozReview-Commit-ID: 2T2wdUaWgMC

--HG--
extra : rebase_source : f569e9b5613bf8cf419792251335e07a7f743607
2016-08-22 13:22:01 +02:00
Bas Schouten e0031c0160 Bug 943626 - Part 2: Implement GetGlyphMetrics API for DirectWrite r=jrmuizel 2016-08-11 15:47:32 -04:00
Nicolas Silva 48805c9b3e Bug 1284837 - Disallow implicit conversions from float to integer when creating IntPoint and IntSize objects. r=botond 2016-07-26 16:48:30 +02:00
JerryShih abd529257e Bug 1276062 - update DrawTargetD2D1::Init() log. r=hshih 2016-07-07 11:43:03 +08:00
JerryShih 5f9e6f5771 Bug 1276062 - show a log if there is no device for DrawTargetD2D1::Init(). r=bas 2016-07-01 02:25:00 +02:00
Jonathan Watt 0b33916487 Bug 1277862, part 1 - Rename Moz2D's Filter to SamplingFilter in gfx/2d/. r=Bas 2016-05-25 17:01:18 +01:00
Bas Schouten 8287b9b368 Bug 1266430: Support offsets in DrawTargetD2D1::CopySurface when using PartialUploading. r=jrmuizel
MozReview-Commit-ID: LilGG2ySPw7
2016-04-28 13:22:31 +00:00
Milan Sreckovic fca0580f8e Bug 1264736: Crash sooner if we can't get a valid command list, at least in nightly/aurora. r=bas
MozReview-Commit-ID: JyUOZrEZ9hT

--HG--
extra : rebase_source : 6c483d23f2ffc4c03641ad76ae3ad2d1c48686dd
2016-04-20 12:11:00 -04:00
Bas Schouten c7a2d932b2 Bug 1259785: Do a proper flush when taking a snapshot so our dependent targets and command lists get appropriately cleared. r=jrmuizel
MozReview-Commit-ID: D49eFNRGD2V

--HG--
extra : rebase_source : 79bc34d1822396e87eedb5913ac56ecbf1b65fa3
2016-03-31 21:45:36 +02:00
Bas Schouten 9c327300bf Bug 1258168: Push ClearType compatible clipping layers when the last pushed layer was marked as opaque. r=jrmuizel
MozReview-Commit-ID: IM1srXx7CfB
2016-03-20 19:51:46 +01:00
Jacek Caban 5c834c9219 Bug 1251431 - GCC compilation fixup. 2016-03-21 13:16:29 +01:00
Bas Schouten 1225ab11b5 Bug 1251431 - Part 1: Allow usage of an A8 source pattern to MaskSurface for D2D 1.1 Moz2D backend. r=jwatt
MozReview-Commit-ID: 3SOuVvklajf
2016-03-18 14:47:11 +01:00
David Anderson e8462418d4 Add instrumentation for when content processes fail to acquire D3D11 devices. (bug 1247539, r=milan)
--HG--
extra : rebase_source : 9d13831f25867d993cccc9b2717e14cc0a4893a0
2016-02-15 23:59:24 -08:00
Bas Schouten 259d24796a Bug 1247775 - Part 3: Remove Moz2D code to support Direct2D 1.0. r=dvander
MozReview-Commit-ID: KBZSqIdx0OC
2016-02-13 14:33:28 +01:00
Carsten "Tomcat" Book fdcf299e32 Backed out changeset 8e13ba75bccf (bug 1247775) 2016-02-12 08:49:28 +01:00
Bas Schouten 54dad93d74 Bug 1247775 - Part 3: Remove Moz2D code to support Direct2D 1.0. r=dvander
MozReview-Commit-ID: KBZSqIdx0OC

--HG--
extra : rebase_source : 632fb5208a702f79fa5c648698f73bc9b0bf8992
2016-02-12 02:11:50 +01:00
Bas Schouten 66c618a6ee Bug 1246641: Also execute an occasional EndDraw for CommandLists used by non-operator OVER drawing. r=jrmuizel
MozReview-Commit-ID: H3V3z8ZIiIK
2016-02-11 21:35:07 +01:00
Bas Schouten b3027878ab Bug 1238328: Purge stored command lists by calling EndDraw/BeginDraw on a regular basis when they're used. r=jrmuizel
--HG--
extra : rebase_source : 5041fa82907837c50e657c87afeda85be40b25d7
2016-01-11 16:38:10 +01:00
Bas Schouten 12b9a82473 Bug 1220629 - Part 6: Implement PushLayer/PopLayer API in several wrapper DT types. r=jrmuizel
--HG--
extra : rebase_source : 5a421568fa20b23d7ceef71eb58014e29dbc1c76
2016-01-06 00:23:33 +01:00
Bas Schouten b5ed4b63ba Bug 1220629 - Part 5: Implement PushLayer/PopLayer API for Direct2D 1.1. r=jrmuizel
--HG--
extra : rebase_source : ec545e1bde6741e9bc461b1a6ab966e7b6c9236a
2016-01-06 00:23:29 +01:00
Bas Schouten fd6c57413d Bug 1220629 - Part 2: Prepare DrawTargetD2D1 for the possibilities of layers existing inside it. r=jrmuizel
--HG--
extra : rebase_source : 97685e7ee1e9249dd465bfcee40bd7401f2a6e4e
2016-01-05 09:03:08 +01:00
Milan Sreckovic ac84b221c9 Bug 1235613 - Make gfxCriticalError/Note strings in gfx/ unique. r=jrmuizel
--HG--
extra : transplant_source : %8F%1DcB%3A%25%94%95G%EF%B4U%CE%B9%10%E1%A3%BC%E2%3D
2015-12-29 14:03:58 -05:00
Mason Chang e74c79f0e3 Bug 1221840. Support repeating images in 1 axis. r=seth 2015-11-23 08:17:35 -08:00
Bas Schouten 7f79cf9b7a Bug 1221616: Use ID2D1CommandList instead of a bitmap for temporary D2D drawing. r=jrmuizel 2015-11-12 17:00:52 +01:00
Nathan Froyd 62b66d3dba Bug 1222569 - remove unused variable from DrawTargetD2D1.cpp; r=Bas 2015-11-06 15:09:03 -05:00
Bas Schouten 2ece23a6d8 Bug 1220624: Make MaskSurface properly take into account the possibilities of partial uploads. r=jrmuizel 2015-11-05 00:05:26 +01:00
Milan Sreckovic dd6aa8383f Bug 1217192 - Use gfxCriticalNote where we're already using the non-default construction parameter. r=mchang 2015-10-21 14:34:00 +02:00
Nathan Froyd 01583602a9 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

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 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
Milan Sreckovic 1bcbb7e6e8 Bug 1130195: Don't immediately crash if we can't allocate image. Carry r=bas 2015-08-11 14:07:49 -07:00
Milan Sreckovic 2ef858355b Bug 1182209 - Additional info with some critical errors. r=mchang
CLOSED TREE
2015-07-14 15:22:29 -04:00
Nicolas Silva 69c7447d0f Bug 1178816 - Fix a crash when DrawTargetD2D1 fails to initialize. r=milan 2015-07-06 17:57:03 +02:00
Kyle 87a268fcb4 Bug 1168189 - Force D2D1 CopySurface to use DrawBitmap like D2D. r=bas
--HG--
extra : rebase_source : 0bf0b8148d9bb5f2f1e19c9c56ea1a4a85dd1f3e
2015-06-19 16:05:51 -04:00
Nathan Froyd 974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Kyle Fung da2704a55c Bug 1160070 - Used BitmapBrush instead of ImageBrush when no sampling bounds. r=bas 2015-06-12 17:28:25 -04:00
Andreas Pehrson f9165d38d7 Bug 1162357 - Convert some usage of DataSourceSurface::GetData() to Map(). r=bas
--HG--
extra : rebase_source : aebb45613926c64355e5b193bc79166cf04292be
2015-06-10 19:01:00 +08:00
Kyle 94680dca36 Bug 1169039 - Check for NULL in every function that uses CreateEffect(). r=mstange
--HG--
extra : rebase_source : 02344878f7761aeaf6c0a6d6deafe38b41193248
2015-05-28 15:46:16 -04:00
Bas Schouten ea9a0a76af Bug 1153609: Push layers for cleartype when trying to draw cleartype glyphs to a transparent layer. r=jrmuizel
This patch lets us repush all layers with their backgrounds copied when drawing subpixel AA'ed text to a transparent surface. This can be wasteful since the last layer that was pushed could already have had its pixels where the glyphs will be drawn made opaque, however we have no way of knowing this so we have to always repush the layers.
2015-05-29 14:49:19 +02:00