Commit graph

556 commits

Author SHA1 Message Date
Ryan VanderMeulen
e7c14086ff Backed out changeset b346ea98c29a (bug 1329796) for reftest failures. 2017-02-06 20:31:22 -05:00
Milan Sreckovic
c7daab6df3 Bug 1329796 - Don't cache the mTarget too soon. r=mstange 2017-02-06 19:32:50 -05:00
Carsten "Tomcat" Book
5131dfea4e Merge mozilla-central to mozilla-inbound 2017-02-02 14:28:07 +01:00
Carsten "Tomcat" Book
72823b1e95 merge mozilla-inbound to mozilla-central a=merge 2017-02-02 14:25:20 +01:00
Olli Pettay
96d3270619 Bug 1110928, ensure zone GC collects the zone from which canvas context is originated, r=mccr8
--HG--
extra : rebase_source : d9e4b2cb9ff5e683efc1ce25aec3ab5cead22481
2017-01-23 19:26:37 +02:00
Wes Kocher
f5eab47fb9 Merge m-c to autoland, a=merge
MozReview-Commit-ID: HVH8TbXbw7N
2017-02-01 16:30:50 -08:00
Jeff Muizelaar
5e016321e6 Bug 1335149. Remove unnecessary flush() calls from canvas implementation.
Flushing should usually be done by the moz2d backend unless we're accessing
the data through other mechanisms.
2017-02-01 15:09:38 -05:00
Tomislav Jovanovic
460e6f68ee Bug 1310318 - Part 1: Allow access to canvas drawWindow() with web extensions permission r=bz
MozReview-Commit-ID: 4ee3pRfduIj

--HG--
extra : rebase_source : 428cf25f732c27ffd34e1a47105a96919c3cb36e
extra : source : 1063bdd7940796e9c4e8634b82d55f417e289e28
2017-02-01 21:47:59 +01:00
Andrew Osmond
42a6948d63 Bug 1331938 - Part 2c. Fix rooting hazard in CanvasRenderingContext2D::GetImageDataArray. r=nical
--HG--
extra : amend_source : 4aaf395e3206a3953895a64e717ac73835bb4407
2017-01-31 09:23:25 -05:00
Boris Zbarsky
11b7c7920e Bug 1334749. Avoid creating a temporary cairo surface, just to copy its data to a skia surface, in putImageData. r=lsalzman 2017-01-30 15:45:23 -05:00
Lee Salzman
76fbeec1b5 Bug 1334647 - make canvas.drawImage trigger a JS error rather than a critical error on an invalid target. r=rhunt
MozReview-Commit-ID: 3TxJM0tjhVC
2017-01-27 16:35:10 -05:00
Boris Zbarsky
11a5929f8e Bug 1334865 part 2. Remove the unused (and broken) asyncDrawXULElement API. r=smaug 2017-02-01 18:04:06 -05:00
Boris Zbarsky
02217e5d26 Bug 1335368 part 10. Stop using IsCallerChrome in CanvasRenderingContext2D. r=bholley 2017-02-01 15:43:37 -05:00
Boris Zbarsky
cce1668e68 Bug 1332322 part 2. Rename nsWrapperCache::IsBlack to nsWrapperCache::HasKnownLiveWrapper. r=mccr8 2017-01-24 20:38:58 -05:00
Wes Kocher
ae32e28e86 Backed out 6 changesets (bug 1110928) for valgrind failures a=backout
Backed out changeset 97a60b61a65a (bug 1110928)
Backed out changeset 5b62dda2ebd0 (bug 1110928)
Backed out changeset b587547a6df1 (bug 1110928)
Backed out changeset fb7cb3957c0d (bug 1110928)
Backed out changeset 41d7f44db1ee (bug 1110928)
Backed out changeset e809ddd9c7db (bug 1110928)

MozReview-Commit-ID: L0DCJ0HD1sG
2017-01-23 17:34:23 -08:00
Olli Pettay
2f71a0e8da Bug 1110928, ensure zone GC collects the zone from which canvas context is originated, r=mccr8
--HG--
extra : rebase_source : 9649b3b2e67ecea1c8070ea105e145cd5214c4d6
2017-01-23 19:26:37 +02:00
Milan Sreckovic
533dce0966 Bug 1328932: Back out the diagnostic patch from bug 1318283. r=gw280
MozReview-Commit-ID: KRyhWLBuHWM

--HG--
extra : rebase_source : 4661026584981fa53d971fa5e694335d27e3e525
2017-01-17 16:58:02 -05:00
George Wright
738fcd7d41 Bug 1329777 - Don't bail early from SwitchRenderingMode unless there's also no buffer provider r=Bas 2017-01-10 21:12:40 -05:00
Cameron McCormack
babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
cku
09c56e6da6 Bug 1323912 - Part 2. Pass opacity down to imgIContainer::Draw. r=mstange
Each concrete class of imgIContainer is able to handle opacity already. All we
need to do is pass opacity value to them.

MozReview-Commit-ID: EMkLnG3YXA1

--HG--
extra : rebase_source : b0a0aad1fec0c2765e96d23ed9b627345c793795
2017-01-03 13:53:22 +08:00
Iris Hsiao
c8e876e89c Backed out changeset c868ab532766 (bug 1323912) 2017-01-04 21:47:12 -05:00
cku
adab9bea9f Bug 1323912 - Part 2. Pass opacity down to imgIContainer::Draw. r=mstange
Each concrete class of imgIContainer is able to handle opacity already. All we
need to do is pass opacity value to them.

MozReview-Commit-ID: EMkLnG3YXA1

--HG--
extra : rebase_source : 080a843b34cc1ca27831310d474243b4066f59f2
2017-01-03 13:53:22 +08:00
Phil Ringnalda
c4d1ea9a14 Merge m-c to m-i
MozReview-Commit-ID: JYNBUrs2zC5
2017-01-03 18:46:43 -08:00
Olli Pettay
0364dbc792 Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8
--HG--
extra : rebase_source : 3ae1207308de120b7299b13ecaa95dd1612b3459
2017-01-03 21:47:55 +02:00
Milan Sreckovic
e46c16114f Bug 1318283: UpdateFilter can sometimes invalidate the draw target. Back out the previous speculative patch. r=mstange
MozReview-Commit-ID: 8u2sjS9dyLu

--HG--
extra : rebase_source : 876ec3d4d2cd47d76fe57db645764eba281209d9
2017-01-03 12:01:11 -05:00
Milan Sreckovic
bb8db3d5ff Bug 1318283: Temporarily disable an optimization from bug 1289975 and do not keep the buffer when SetDimension is called with the same value. r=mstange
MozReview-Commit-ID: BRYxmuEz7fk

--HG--
extra : rebase_source : 352a9055c3a5fc9ca97f0ab103fb276634def291
2016-12-15 16:33:36 -05:00
Jonathan Kew
4ab3ae7306 Bug 1319668 - Check for null context before trying to draw canvas text. r=mats 2016-12-03 14:49:46 +00:00
Edwin Flores
3af4985263 Bug 1318283 - Debug patch - r=milan 2016-11-28 19:32:49 +00:00
Ethan Lin
fa1ec91634 Bug 1319362 - Use area but not just dimension to check SkiaGL minimum size. r=lsalzman 2016-11-22 19:52:00 +01:00
Nicolas Silva
36605f9e7b Bug 1300121 - Make PersistentBufferProviderShared::BorrowDrawTarget more robust agaist bad edge cases and if all fails, fallback to the basic provider. r=Bas 2016-10-11 13:23:11 +02:00
Nicolas Silva
4ae68feb2d Bug 1300121 - Make switching between canvas buffer providers a tad more robust. r=Bas 2016-11-24 15:08:10 +01:00
Milan Sreckovic
7bf73e0916 Bug 1313884: Part 2. Additional nullptr test and nightly/aurora crash if bad things happen. r=gw280 2016-11-15 12:56:16 -05:00
Phil Ringnalda
be66b650bb Backed out changeset bb4879b87c17 (bug 1313884) because bad things happen @mozilla::dom::CanvasRenderingContext2D::DrawImage all the time
CLOSED TREE
2016-11-10 23:28:02 -08:00
Milan Sreckovic
09875b84c7 Bug 1313884 - Part 2: Additional nullptr test and nightly/aurora crash if bad things happen. r=gw280
--HG--
extra : rebase_source : 14ff98dde9eeccb1bbdeb0ccb9b6dcba75d5ebf2
2016-11-10 10:26:00 -05:00
Phil Ringnalda
c9fdc270b6 Merge m-c to autoland
--HG--
rename : dom/media/webaudio/compiledtest/TestAudioEventTimeline.cpp => dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
2016-11-03 20:02:24 -07:00
Milan Sreckovic
976fdb1420 Bug 1309913: Pass the compositor type to canvas on creation. r=dvander
MozReview-Commit-ID: 81HtvWPdLQa

--HG--
extra : rebase_source : a448447fcb573beb320b2b2a352b97f77a5bafe3
2016-11-03 10:57:33 -04:00
Ryan Hunt
e79eae17bc Bug 1313884 - Check if mTarget is null in CanvasRenderingContext2D::DrawImage
--HG--
extra : rebase_source : 0eb7b22cd829dc5f4ad6eaaa44a0009529010e47
2016-11-01 13:56:55 -05:00
Xidorn Quan
5e29805363 Bug 1294299 part 8 - Refactor interface provided by css::Declaration. r=heycam
The main targets of this refactor are:
1. Move most of the logic of distinguishing properties and custom
   properties from nsDOMCSSDeclaration into css::Declaration, which
   gives ServoDeclarationBlock more flexibility to implement.
2. Rename those methods of css::Declaration to provide a clear interface
   which makes sense for implementing in ServoDeclarationBlock, and also
   avoid method overload, which can impede the forward macro, on them.

MozReview-Commit-ID: 2cCqF855TVK

--HG--
extra : source : 3837e1e558caac4f2901e838371e97c17821530e
2016-11-03 14:41:02 +11:00
Markus Stange
c19af15fab Bug 1308859 - Back out the instrumentation because I think I know what the problem is now.
MozReview-Commit-ID: 7XdGDR950df

--HG--
extra : rebase_source : 457da3f8547a9a4a8e162c56b6a52bf9b1472661
2016-10-25 14:00:21 -04:00
Phil Ringnalda
7fd865b93f Merge autoland to m-c, a=merge
MozReview-Commit-ID: 3nuTAHtJkkD
2016-10-19 18:25:54 -07:00
Markus Stange
0853911668 Bug 1307740 - Properly handle filter input tainting with CSS filters and multiple filters. r=jwatt
MozReview-Commit-ID: HwOJ8SFhkUq

--HG--
extra : rebase_source : d3c4e8568513a0bf08d308f9f88232b19442ebd2
2016-10-19 11:32:02 -04:00
Markus Stange
20096eceeb Bug 1308859 - Add some instrumentation to help debugging the crash. r=gw280
MozReview-Commit-ID: Dq04qFrEdHx

--HG--
extra : rebase_source : d6b8bb8cbf3d1c4401b8306c0d63af5a0dfa6e5d
2016-10-18 13:15:28 -04:00
George Wright
0d128cb330 Bug 1307749 - Ensure that we still set filterSourceGraphicTainted and an empty filter when updating our filter in CanvasRenderingContext2D r=mstange 2016-10-12 13:06:02 -04:00
Carsten "Tomcat" Book
7c8e81673d merge mozilla-inbound to mozilla-central a=merge 2016-10-06 11:59:54 +02:00
Thomas Wisniewski
50934d0360 Bug 931389 - remove CanvasRenderingContext2D.mozDash/mozDashOffset. r=gw280, r=baku
--HG--
extra : rebase_source : 2192c147822a28796e24532b0df10a38a5481a55
2016-10-04 11:53:57 -04:00
Milan Sreckovic
cc08d3d97e Bug 1294812: Clean up SkiaGL canvas logic, making sure we only take it for OpenGL layers. Rename a function for clarity. r=BenWa,dvander
MozReview-Commit-ID: OTUXNNYdnJ

--HG--
extra : rebase_source : 4531fc96899f1a2f6524289d5db1054345e0e5f4
2016-09-30 13:54:22 -04:00
Ethan Lin
a6241ed972 Bug 1305963 - Add EnsureTarget for GetMozCurrentTransform and GetMozCurrentTransformInverse. r=nical
--HG--
extra : rebase_source : aa42275528dec8bf8ce6d954d8ba3e26217fe818
2016-10-02 23:55:00 -04:00
Tooru Fujisawa
13783142a7 Bug 1289050 - Part 5.1: Use ASCII variants of JS_ReportWarning in dom/canvas. r=jwalden,jgilbert 2016-09-30 12:34:45 +09:00
Ethan Lin
9a6b820bb2 Bug 1304539 - Use AdjustedDrawTarget to draw text. r=mstange
--HG--
extra : source : f205f28cbcf3723aee0e302ea2ce7b71a00f4210
2016-09-23 18:37:00 +02:00
Wes Kocher
4894f8488a Backed out 2 changesets (bug 1304539) for Windows unaccelerated reftest failures a=backout
Backed out changeset fbfe71842bb7 (bug 1304539)
Backed out changeset f205f28cbcf3 (bug 1304539)
2016-09-29 11:55:08 -07:00
Ethan Lin
5ec5294315 Bug 1304539 - Use AdjustedDrawTarget to draw text. r=mstange 2016-09-23 18:37:00 +02:00
Carsten "Tomcat" Book
762cd18602 Merge mozilla-central to autoland 2016-09-28 16:52:13 +02:00
Lee Salzman
632d270fe0 Bug 1305312 - write putImageData pixels as opaque for opaque canvas. r=jrmuizel
MozReview-Commit-ID: 5mVzeNwY28u
2016-09-27 17:31:13 -04:00
James Cheng
48efb9caad Bug 1300654 Part1-Remove MOZ_EME from code base. r=cpearce,smaug
MozReview-Commit-ID: JboGO0w4tcE

--HG--
extra : rebase_source : abfe53f30081f74fc39c900cab48d08c7574bfec
2016-09-08 18:06:20 +08:00
Jonathan Kew
cbbe3d0e74 Bug 1304353 - part 1 - Set up the DrawOptions appropriately when painting canvas text for FILL, not only for STROKE. r=bas 2016-09-23 13:38:06 +01:00
Markus Stange
3003c70285 Bug 1298552 - Call UpdateFilter whenever the canvas's IsWriteOnly state changes. r=jrmuizel
MozReview-Commit-ID: 2CqWhmyzUZc

--HG--
extra : rebase_source : df8b033263e16e36daca32437ac009800ca520b0
2016-08-26 20:21:34 -04:00
Sebastian Hengst
548f7778a1 Backed out changeset e0d755ab4cbd (bug 1302380) for timeouts reftest with e10s invariable-declaration-XX.html on Linux 32 bit. r=backout 2016-09-16 18:55:44 +02:00
Ethan Lin
20b88c7843 Bug 1301551 - Remove unnecessary debug lines. r=nical 2016-09-16 10:33:26 +02:00
Nicolas Silva
f4d4ceeeed Bug 1302380 - Report canvas memory usage through the buffer provider. r=gw280 2016-09-16 10:13:19 +02:00
Ethan Lin
bb3e5efbec Bug 1301551 - Don't do anti-alias if 'imageSmoothingEnabled' is false. r=bas 2016-09-09 03:04:00 -04:00
Milan Sreckovic
e13a243ec1 Bug 1299164: Part 2. Use BufferSizeFromDimensions method, as well as some of the others that check for valid size. r=bas 2016-09-15 10:36:21 -04:00
kaku@mozilla.com
9a1c3746b2 Bug 1299718 part 3 - call MarkAsContentSource() at where using video element as a source; r=gerald,kamidphish,mtseng
MozReview-Commit-ID: Kg6UpcsCi0P
2016-09-14 15:50:29 +10:00
George Wright
3480df735c Bug 1241865 - Disable canvas-2d-pixels memory reporter as it currently reports inaccurate values. r=nical 2016-09-13 23:03:09 -04:00
Nicolas Silva
918fc7f847 Bug 1298373 - Clear the transform when resetting the canvas target state. r=Bas 2016-09-12 16:47:13 +02:00
Nicolas Silva
56e5119c61 Bug 1301027 - Remove the matrix * point operator and replace it with TransformPoint methods. r=Bas 2016-09-08 18:26:03 +02:00
Nicolas Silva
ebb3c8a52f Bug 1298345 - Dead code warning fix. r=njn 2016-09-06 13:19:11 +02:00
Lee Salzman
0716a90344 Bug 1299485 - fix USE_SKIA_GPU ifdefs. r=mchang 2016-09-01 21:10:39 -04:00
Nicolas Silva
47e7bc67f9 Bug 1298345 - Refactor CanvasRenderingContext2D's texture allocation code. r=Bas 2016-09-01 15:51:09 +02:00
Ethan Lin
3ead7f93ab Bug 1299062 - Check if drawtarget valid. r=nical 2016-08-31 22:43:47 -04:00
Milan Sreckovic
ff3ca93c38 Bug 1287316 - Release assert or deal with empty arrays. r=mstange
--HG--
extra : rebase_source : 07b022071bf63b213f78d361d18464cbcbf6b562
2016-08-30 18:38:30 -04:00
Nicolas Silva
b448411938 Bug 1294351 - Move restoring the canvas clip stack to its own method and early return form EnsureTarget. r=Bas 2016-08-26 14:31:58 +02:00
Ryan VanderMeulen
2b4ac234e9 Merge m-c to inbound. a=merge 2016-08-25 08:27:17 -04:00
Ryan VanderMeulen
520acfd195 Merge inbound to m-c. a=merge 2016-08-25 08:10:52 -04:00
Andi-Bogdan Postelnicu
b7451091eb Bug 1297054 - remove null check in CanvasRenderingContext2D::InitializeWithDrawTarget. r=jrmuizel
MozReview-Commit-ID: GA3PntlpxBU

--HG--
extra : rebase_source : ac822ae25b9d861da5a196734d09a8a507a16570
2016-08-23 11:41:21 +03:00
Nicholas Nethercote
c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Milan Sreckovic
ee08a6629f Bug 1297181: More information when accelerated canvas creation fails. r=mchang
MozReview-Commit-ID: AjhVkngSkHK

--HG--
extra : rebase_source : 728495351c705adee280c59042c5196cdc2bb2e4
2016-08-22 17:47:54 -04:00
Ryan VanderMeulen
69113163cf Merge m-c to inbound. a=merge 2016-08-24 09:09:05 -04:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Ethan Lin
06cc318190 Bug 1296166 - Avoid calling EnsureTarget in CanvasRenderingContext2D::GetImageData. r=nical 2016-08-22 18:58:00 -04:00
Ethan Lin
5a7af1a426 Bug 1293970 - Avoid copy in CanvasRenderingContext2D::PutImageData and DrawWindow. r=nical 2016-08-16 20:18:00 -04:00
Jonathan Kew
95a82f84cc Bug 1280887 - patch 2 - Make gfxTextRun refcounted, replace usage of UniquePtr<> with RefPtr<> for textruns, and make nsTextFrame hold a strong reference to its run(s). r=mats 2016-08-19 13:14:22 +01:00
Nicolas Silva
0923b0fd39 Bug 1294351 - Avoid removing and re-applying the drawing states with PersistentBufferProviderBasic. r=Bas 2016-08-19 12:00:26 +02:00
Sebastian Hengst
7ab46a480a Backed out changeset 775fa3ede160 (bug 1294351) for failing in crashtest 647480.html. r=backout 2016-08-18 12:50:56 +02:00
Nicolas Silva
8173818111 Bug 1294351 - Avoid removing and re-applying the drawing states with PersistentBufferProviderBasic. r=Bas 2016-08-17 14:39:03 +02:00
Edwin Flores
29a30711a0 Bug 1272123 - Limit the size of CanvasRenderingContext2D::mStyleStack - r=mstange 2016-08-17 09:26:11 +01:00
Ethan Lin
18475abfbc Bug 1294607 - Remove unnecessary EnsureTarget in CanvasRenderingContext2D. r=nical 2016-08-15 23:54:00 -04:00
Phil Ringnalda
54ad5f454e Back out 6493296521fb (bug 1294607) for crashtest crashes in 1246775-1.html 2016-08-15 20:54:50 -07:00
Ethan Lin
93ca898ab6 Bug 1294607 - Remove unnecessary EnsureTarget in CanvasRenderingContext2D. r=nical 2016-08-11 20:26:00 -04:00
Jonathan Chan
9c62a2c11c Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-09 16:28:19 -07:00
Ethan Lin
b29de863bc Bug 1293968 - Avoid calling EnsureTarget in CanvasRenderingContext2D::GetImageBuffer. r=nical
--HG--
extra : rebase_source : de0f1bb16639d0bc358b373636404d66a4eb7d1a
2016-08-11 23:46:00 -04:00
Jan de Mooij
c33bac8363 Bug 1292892 part 5 - Replace most nsContentUtils::RootingCx calls with dom::RootingCx. r=bz,terrence 2016-08-11 14:39:23 +02:00
Nicolas Silva
ed272011eb Bug 1292545 - Don't skip clearing the canvas because of W(1) failures on Mac. 2016-08-10 17:00:25 +02:00
Nicolas Silva
be105fa438 Bug 1292870 - Record/replay clips and transforms properly in CanvasRenderingContext2D. r=Bas 2016-08-10 14:30:51 +02:00
Nicolas Silva
70353ca51d Bug 1292545 - Don't optimize away the canvas copy if clips are applied. r=ethlin 2016-08-10 14:30:48 +02:00
Nicolas Silva
bb3580a385 Bug 1293693 - FillRect covering the entire canvas can skip copying the previous frame if the composite op is SOURCE, but not DEST_OUT. r=ethlin 2016-08-10 14:30:45 +02:00
Nicolas Silva
2f14332a8d Bug 1292192 - Simplify CanvasRenderingContext2D::SwitchRenderingMode. r=gw280 2016-08-09 18:18:58 +02:00
Ethan Lin
51818f44f0 Bug 1289975 - Reuse canvas buffer when setting the same dimension. r=nical 2016-08-02 23:00:00 +02:00
Nicolas Silva
1fdb65d654 Bug 1289816 - Simplify CopyableCanvasLayer::UpdateTarget and remove unnecessary copies. r=jnicol 2016-07-29 20:19:28 +02:00
Nicolas Silva
a4ee782267 Bug 1289380 - Simplify PersistentBufferProviderShared. r=edwin 2016-07-27 16:50:20 +02: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
Sotaro Ikeda
2c8122c501 Bug 1250914 - Create gl texture for each video frame drawing to SkiaGL canvas r=jrmuizel 2016-07-22 18:10:13 -07:00
Nicolas Silva
e4a4580aeb Bug 1285263 - Restore clips with the proper transform when in CanvasRenderingContext2D::EnsureTarget. r=bas 2016-07-21 11:02:12 +02:00
vincentliu
acbc420513 Bug 1281800 - The API should return an empty array if maxWidth was provided but is less than or equal to zero or equal to NaN. r=jrmuizel
---
 dom/canvas/CanvasRenderingContext2D.cpp | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
2016-07-19 10:52:50 +08:00
Kevin Chen
cac9daeb79 Bug 1275693 - Refactor <canvas> strokeText drawing to re-use gfxTextRun::Draw. r=jfkthame 2016-07-14 02:00:00 +02:00
Kevin Chen
9873933cfb Bug 1275693 - Refactor <canvas> fillText drawing to re-use gfxTextRun::Draw. r=jfkthame 2016-07-13 19:07:00 +02:00
Nicolas Silva
144561ee0b Bug 1284721 - Flush CanvasRenderingContext2D's DrawTarget when returning it to the BufferProvider. r=lsalzman 2016-07-11 17:44:27 +02:00
Nicolas Silva
37464db2f3 Bug 1285207 - Don't let canvas have a DrawTarget without a BufferProvider and keep them in sync. r=lsalzman 2016-07-11 17:44:25 +02:00
Wes Kocher
743746da45 Backed out changeset b966ababca8d (bug 1284721) for bustage CLOSED TREE
***
Backed out 3 changesets (bug 1284721, bug 1285207) for bustage CLOSED TREE

Backed out changeset 75f6c7e15d76 (bug 1284721)
Backed out changeset b7f2d54f3904 (bug 1285207)
Backed out changeset fceb3f145f91 (bug 1284721)

--HG--
extra : amend_source : b849891c44fd8704c0f601cf58ebeac13c88e2e6
extra : histedit_source : 54c8ef4b974c761a774260ec11e28d29013e0378%2C4d2cb79fbedcdabb4ea4fc52dcd26618bef2225e
2016-07-08 12:17:06 -07:00
Nicolas Silva
b51ed22a3f Bug 1284721 - Flush CanvasRenderingContext2D's DrawTarget before handing it off to the BufferProvider. r=lsalzman 2016-07-08 19:26:48 +02:00
Nicolas Silva
ff42b1930a Bug 1285207 - Don't let canvas have a DrawTarget without a BufferProvider and keep them in sync. r=lsalzman 2016-07-08 19:26:44 +02:00
Carsten "Tomcat" Book
838f21f656 merge mozilla-inbound to mozilla-central a=merge 2016-07-08 11:58:46 +02:00
kearwood
694ce1cf8d Bug 1284324 - Implement Canvas Layer mirrors r=bas
- When a canvas layer is set to mirror, it copies the
  texture from the canvas rather than changing the
  texture factory with Morph().
- This is useful when a canvas content will be sent to
  multiple devices simultaneously, such as a VR HMD
  and a 2d monitor mirror.
- This is used by the WebVR 1.0 API, in Bug 1250244

MozReview-Commit-ID: JfMSockO2uz

--HG--
extra : rebase_source : ba9633f7cb9a622efb8389d834b4232205c72755
2016-07-04 13:11:07 -07:00
Boris Zbarsky
97b0a16147 Bug 1282150 part 4. Have just one way of getting the rooting JSContext, and call it nsContentUtils::RootingCx(). r=bholley 2016-07-07 20:08:26 -04:00
Nicolas Silva
3e441f64b1 Bug 1167235 - Part 7 - Don't paint directly into a canvas with DrawWindow when using a shared PersistentBufferProvider. r=lsalzman 2016-07-01 10:58:26 +02:00
Nicolas Silva
a1fc947ed0 Bug 1167235 - Part 5 - Unlock canvas2D resources after drawing. r=Bas 2016-07-01 10:58:20 +02:00
Nicolas Silva
6837c5c2f2 Bug 1167235 - Part 4 - Forward the shutdown notification to CanvasRenderingContext2D. r=Bas 2016-07-01 10:58:18 +02:00
Nicolas Silva
55982c743c Bug 1167235 - Part 1 - Render canvas2D into TextureClient directly. r=Bas 2016-07-01 10:58:06 +02:00
Sebastian Hengst
51e7f34222 Backed out changeset 14dfa550c783 (bug 1167235) 2016-06-28 20:28:23 +02:00
Sebastian Hengst
7f0473d085 Backed out changeset f534fcb785c9 (bug 1167235) 2016-06-28 20:28:22 +02:00
Sebastian Hengst
955599781a Backed out changeset 61465f67b591 (bug 1167235) 2016-06-28 20:28:22 +02:00
Nicolas Silva
d214a9bc30 Bug 1167235 - Part 5 - Unlock canvas2D resources after drawing. r=Bas 2016-06-28 14:07:02 +02:00
Nicolas Silva
f8343772b9 Bug 1167235 - Part 4 - Forward the shutdown notification to CanvasRenderingContext2D. r=Bas 2016-06-28 14:07:00 +02:00
Nicolas Silva
9367516d33 Bug 1167235 - Part 1 - Render canvas2D into TextureClient directly. r=Bas 2016-06-28 14:06:51 +02:00
Jonathan Watt
483ce4fb50 Bug 1279628, part 3 - Replace the last gfxASurface::CheckSurfaceSize call, and remove gfxASurface::CheckSurfaceSize. r=mstange 2016-06-10 13:32:01 +01:00
Jonathan Watt
06b29e4abf Bug 1279628, part 2 - Switch all but one of the gfxASurface::CheckSurfaceSize calls to call Factory::CheckSurfaceSize. r=mstange 2016-06-10 13:32:01 +01:00
Phil Ringnalda
1cce1f61f8 Back out 2 changesets (bug 1279628) for reftest bustage
CLOSED TREE

Backed out changeset 07e4432bd6b3 (bug 1279628)
Backed out changeset 416fa9aeec55 (bug 1279628)
2016-06-11 00:44:51 -07:00
Jonathan Watt
8ea6b72d47 Bug 1279628, part 2 - Replace all gfxASurface::CheckSurfaceSize calls with Factory::CheckSurfaceSize and remove gfxASurface::CheckSurfaceSize. r=mstange
--HG--
extra : rebase_source : 314cf522b5760e63e176418ae170301fafa80f89
2016-06-09 15:31:24 +01:00
eyim
b0ca07b635 Bug 1277027 - fix MOZ_CRASH to have GFX prefix in webGL code r=BenWa,milan
MozReview-Commit-ID: FjLA9xNH3zD

--HG--
extra : rebase_source : 5809a1f8126360b3fa8ee069b3a463747cb31e6f
2016-06-06 11:17:23 -04:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Nicholas Nethercote
4e8f3b6d6e Bug 1276824 (part 2) - Fix up checks for calls to gfxContext::Create{,PreservingTransform}OrNull(). r=milan.
--HG--
extra : rebase_source : 80644c1a6658da553c13ae1ab3b8d03e916ee6e7
2016-06-07 11:17:48 +10:00
Nicholas Nethercote
a02611e830 Bug 1276824 (part 1) - Rename gfxContext::ForDrawTarget{,WithTransform}(). r=milan.
The new names Create{,PreservingTransform}OrNull() better communicate that
these functions (a) do object creation, and (b) are fallible.

--HG--
extra : rebase_source : a36bd9a2bcdfae281868959403f811f2bc690ad4
2016-06-07 09:39:56 +10:00
Jonathan Watt
2eb705bb3f 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
Chris Peterson
11ef78ae89 Bug 1275016 - Rename Endian.h to EndianUtils.h to avoid #include confusion with Android's endian.h stdlib header. r=froydnj
--HG--
rename : mfbt/Endian.h => mfbt/EndianUtils.h
2016-05-22 13:31:11 -07:00
Tobias Schneider
2bf9b9a3e6 Bug 1174278 - Make filter tainting and canvas tainting. r=jrmuizel
--HG--
extra : rebase_source : 676ae4a6551246499d3a736ac9a35e6ac7f2c91c
2016-05-24 21:50:02 -07:00
Jonathan Kew
ec45c18193 Bug 1274936 - When <canvas> fillText is using a simple color, draw via the gfxTextRun::Draw code path to get support for COLR and SVG-in-OT fonts. r=bas 2016-05-25 09:21:10 +01:00
Mason Chang
376575c614 Bug 1267260 - Change CanvasImageCache to lookup cache images based on imgIContainer instead of imgIRequest. r=seth
--HG--
extra : rebase_source : 872ee783a05d0319ed69ce3c494dbf2a3206e26d
2016-05-10 08:00:06 -07:00
Michael Kohler
0793a8cbff Bug 1217031 - createPattern should not throw NS_ERROR_NOT_AVAILABLE if image usability check returns bad r=bz
MozReview-Commit-ID: 101uAYhcx3u

--HG--
extra : rebase_source : 1975f947176b61bb232348458ef7a0f485a0f479
2016-05-03 17:41:02 -07:00
Carsten "Tomcat" Book
dabe843f8b Backed out changeset d6cca05b4e9f (bug 1217031) for issues in 2d.pattern.image.incomplete.immediate.html 2016-05-03 12:20:24 +02:00
Michael Kohler
b68d05d398 Bug 1217031 - createPattern should not throw NS_ERROR_NOT_AVAILABLE if image usability check returns bad. r=bz
--HG--
extra : amend_source : e241dccd5b12b44cbc99467fa9a8d73ecfe5c584
2016-04-24 12:20:00 +02:00
Bob Owen
c4ec1107e4 Bug 1258609: Initialize nsICanvasRenderingContextInternal with a DrawTarget instead of a gfxASurface. r=jrmuizel
MozReview-Commit-ID: JNQ9GWvDUSq
2016-04-21 10:30:38 +01:00
Jonathan Watt
6a7fdf9b55 No Bug - Remove some unnecessary SVGImageContext.h includes and add comments. r=sparky 2016-04-22 15:07:31 +01:00
Jonathan Kew
cb1c20b3c3 Bug 1265459 - Replace uses of nsAutoPtr<gfxTextRun> with UniquePtr, and let MakeTextRun and similar methods return a UniquePtr. r=jrmuizel 2016-04-19 17:13:28 +01:00
Lee Salzman
4bda990954 Bug 1257717 - throw InvalidStateError when CreatePattern fails to snapshot source. r=jrmuizel 2016-04-14 16:20:12 -04:00
David Anderson
ef94ddb6f5 Remove drawWidgetAsOnScreen. (bug 1264393, r=mattwoodrow, webidl r=khuey)
--HG--
extra : rebase_source : c885b1db5ede6caa8b1e141d6d76769bac82b16c
2016-04-13 19:24:42 -04:00
Milan Sreckovic
e0b2b9e425 Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt

--HG--
extra : rebase_source : 4988f3f488c19dd35a9979e96f78a5511ee8f3d2
2016-04-12 15:18:11 -04:00
Jonathan Watt
fb7bb15e68 Bug 1263782 - Kill off the deprecated nsINode::IsInDoc(). r=baku 2016-03-31 11:58:25 +01:00
Cameron McCormack
6b84ca3abb Bug 1261754 - Part 12: Move filter from nsStyleSVGReset to nsStyleEffects. r=dholbert 2016-04-12 15:52:43 +10:00
Tobias Schneider
9de749f7f5 Bug 1195968 - Check how CanvasFilterChainObserver accesses the CanvasRenderingContext2D. r=mstange 2016-04-09 15:43:14 -04:00
Andreas Pehrson
c742b9dadf Bug 1208371 - Change HTMLMediaElement video sinks to check principal for video only tracks. r=mt
MozReview-Commit-ID: KGbyJDgpBOn

--HG--
extra : rebase_source : 526556a2174417ec68cb0a84acb1f3fe704ebaf0
2016-01-26 15:36:52 +08:00
Peter Chang
2977cda175 Bug 1260960 - Check skiaGL is enabled before calling skiaGLTex(), r=snorp
MozReview-Commit-ID: 8xaDtiPX563

--HG--
extra : rebase_source : 5edbfef2a39f8e5e61f346d4bf7e17699b71a458
2016-03-31 12:48:02 +08:00
Lee Salzman
df0ee01f4c Bug 1256515 - bail out in CanvasRenderingContext2D::DrawWindow if snapshotting draw target fails. r=bas.schouten 2016-03-21 10:48:35 -04:00
Xidorn Quan
60bcaa5c0b Bug 1257121 part 4 - Use return value rather than out param to return font metrics. r=jfkthame
MozReview-Commit-ID: 6xrHYbgHGVd

--HG--
extra : rebase_source : 4d0cea24689588d8a1daa1869502e31ac7c3dc56
2016-03-17 13:55:48 +08:00
Xidorn Quan
f4ef02b391 Bug 1257121 part 1 - Use struct for passing some params of font metrics. r=jfkthame
MozReview-Commit-ID: FTJlYS3bbTa

--HG--
extra : rebase_source : f3df5f8ebe3f223abc62dc1ae1bf5f7830d63ab8
2016-03-21 11:59:36 +08:00
Ethan Lin
766d50b78f Bug 910138 - Part 1. Add support for new canvas ellipse method. r=roc, r=smaug 2016-03-15 00:53:00 +01:00
peter chang
2de380f3ba Bug 1254447 - Don't always check UseAcceleratedCanvas when calling GetSkiaGLGlue, r=jrmuizel
MozReview-Commit-ID: 95GY5aGJGK1

--HG--
extra : rebase_source : a6284141f313f62769fdf809f21cb928d7e6df6c
2016-03-16 12:09:17 +08:00
Boris Zbarsky
2ce6bc7ebf Bug 1255172. Fix unsafe reference gc hazards people snuck into DOM code. r=bkelly 2016-03-10 18:07:28 -05:00
Xidorn Quan
ab357753a9 Bug 1251995 part 1 - Add helper functions to simplify code. r=jfkthame
MozReview-Commit-ID: 6UBvmEpo12f

--HG--
extra : source : d14cafc0e378ab7356c32a0b469ed783244aa48b
2016-03-08 15:56:18 +08:00
Carsten "Tomcat" Book
41a0c1ddb8 Backed out changeset d88221aad093 (bug 1251995) for reftest failures 2016-03-07 12:18:40 +01:00
Xidorn Quan
5b1f34e2f6 Bug 1251995 part 1 - Add helper functions to simplify code. r=jfkthame
MozReview-Commit-ID: 6UBvmEpo12f

--HG--
extra : rebase_source : e967015366b727f199fe3febedc70f1f43f19725
2016-03-04 19:20:43 +08:00
Phil Ringnalda
cabee82044 Back out 9 changesets (bug 801176) for frequent crashes in test_offscreencanvas_dynamic_fallback.html
Backed out changeset 82320c900699 (bug 801176)
Backed out changeset 624fb8512ba5 (bug 801176)
Backed out changeset a2a7b1c4dc5b (bug 801176)
Backed out changeset e210473d793c (bug 801176)
Backed out changeset 0fb279e041e1 (bug 801176)
Backed out changeset c090dc98c670 (bug 801176)
Backed out changeset fc509e59a0cd (bug 801176)
Backed out changeset 134a8c56335a (bug 801176)
Backed out changeset 2022afa9aef2 (bug 801176)
2016-03-05 07:20:47 -08:00
vincentliu
b690233730 Bug 801176 - part8-v1: Fix memory leak in OffscreenCanvas. r=roc
---
 dom/canvas/CanvasRenderingContext2D.cpp |  2 ++
 dom/canvas/OffscreenCanvas.cpp          | 12 +++++++-----
 2 files changed, 9 insertions(+), 5 deletions(-)
2016-03-04 15:24:50 +08:00
vincentliu
8f02812e74 Bug 801176 - part6-v1: Modify BufferProvider operations to fix assertions. r=roc
---
 dom/canvas/CanvasRenderingContext2D.cpp | 12 +++--
 dom/canvas/OffscreenCanvas.cpp          |  2 -
 gfx/layers/AsyncCanvasRenderer.cpp      | 85 +++++++++++++++++++++++++--------
 gfx/layers/AsyncCanvasRenderer.h        |  1 +
 4 files changed, 73 insertions(+), 27 deletions(-)
2016-03-04 15:24:00 +08:00
vincentliu
e4d440e1c6 Bug 801176 - part5-v2: Fix Assertions in debug build. r=roc
---
 dom/canvas/CanvasRenderingContext2D.cpp | 47 ++++++++++++++++++++-------------
 1 file changed, 29 insertions(+), 18 deletions(-)
2016-03-04 15:23:40 +08:00
vincentliu
2b8952ed36 Bug 801176 - part3-v6: Keep CSSParser operations as threading safe. r=heycam
---
 dom/canvas/CanvasRenderingContext2D.cpp | 13 +++++---
 layout/style/ErrorReporter.cpp          |  9 +++++-
 layout/style/nsCSSParser.cpp            | 55 ++++++++++++++++++++-------------
 3 files changed, 51 insertions(+), 26 deletions(-)
2016-03-04 15:22:58 +08:00
vincentliu
906120d775 Bug 801176 - part2-v5: Let Canvas 2d context works on Workers. r=roc
---
 dom/canvas/CanvasRenderingContext2D.cpp | 53 ++++++++++++-----------
 dom/canvas/OffscreenCanvas.cpp          | 46 +++++++++++---------
 dom/html/HTMLCanvasElement.cpp          |  1 +
 gfx/layers/AsyncCanvasRenderer.cpp      | 17 ++++++++
 gfx/layers/AsyncCanvasRenderer.h        | 16 +++++++
 gfx/layers/Effects.cpp                  |  6 +++
 gfx/layers/GLImages.cpp                 |  5 +--
 gfx/layers/client/CanvasClient.cpp      | 74 +++++++++++++++++++++++++--------
 gfx/layers/client/CanvasClient.h        | 10 ++++-
 9 files changed, 162 insertions(+), 66 deletions(-)
2016-03-04 15:22:39 +08:00
vincentliu
2a98ba1c2c Bug 801176 - part1-v8: Modify webidl for 2d canvas. r=smaug, roc
---
 dom/canvas/CanvasRenderingContext2D.cpp    | 38 +++++++++++++++
 dom/canvas/CanvasRenderingContext2D.h      |  6 +++
 dom/webidl/CanvasRenderingContext2D.webidl | 76 ++++++++++++++++++------------
 dom/webidl/HTMLCanvasElement.webidl        |  2 +
 dom/webidl/WebGLRenderingContext.webidl    |  2 +-
 dom/workers/WorkerPrefs.h                  |  1 +
 6 files changed, 95 insertions(+), 30 deletions(-)
2016-03-04 15:22:16 +08:00
Milan Sreckovic
65bcdb7519 Bug 1249640: Part 2 gfxPlatform simplification when it comes to accelerated canvas, using the new blocking. r=gw280 2016-02-22 14:23:00 +01:00
Sebastian Hengst
00a63ca413 Backed out changeset 303b759e886e (bug 1249640) 2016-02-24 19:02:00 +01:00
Milan Sreckovic
1498964285 Bug 1249640: Part 2 gfxPlatform simplification when it comes to accelerated canvas, using the new blocking. r=gw280 2016-02-22 14:23:00 +01:00
Cameron McCormack
7c95c39734 Bug 1244068 - Part 4: Use StyleSetHandle instead of concrete style set class in most places. r=dholbert 2016-02-24 18:01:11 +11:00
Lee Salzman
42a8ea393d Bug 1246775 - fix Canvas2D drawWindow to reacquire its DT after rendering. r=bas 2016-02-10 13:17:56 -05:00
Lee Salzman
c631aefd3b Bug 1246775 - use already_AddRefed in PersistentBufferProvider interface. r=bas 2016-02-10 13:16:13 -05:00
Lee Salzman
5522b98482 Bug 1244850 - always validate destination rect for CanvasRenderingContext2D::DrawImage. r=jmuizelaar 2016-02-02 12:45:17 -05:00
vincentliu
ba5e765fc3 Bug 801176 - part0-v3: Modify Coding Style for 2d Canvas. r=roc
---
 dom/canvas/CanvasRenderingContext2D.cpp | 1336 +++++++++++++++----------------
 dom/canvas/CanvasRenderingContext2D.h   |  508 ++++++------
 2 files changed, 922 insertions(+), 922 deletions(-)
2016-02-01 16:39:08 +08:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Milan Sreckovic
5ca86c6996 Bug 1239835: Do nothing when rectangle given to ClearRect has zero width or height. (Also mixing in some minor white space changes while in the file.) r=dholbert
--HG--
extra : rebase_source : c171b3732c02485c806770e53b3902fe83a5bbaa
2016-01-18 11:32:41 -05:00
Nicholas Nethercote
88696a303a Bug 1209812 (part 6) - Convert all gfxImageFormat values to SurfaceFormat equivalents. r=jrmuizel.
This patch:

- Makes the following substitutions (plus necessary namespace qualifiers:

    gfxImageFormat::ARGB32      --> SurfaceFormat::A8R8G8B8_UINT32
    gfxImageFormat::RGB24       --> SurfaceFormat::X8R8G8B8_UINT32
    gfxImageFormat::A8          --> SurfaceFormat::A8
    gfxImageFormat::RGB16_565   --> SurfaceFormat::R5G6B5_UINT16
    gfxImageFormat::Unknown     --> SurfaceFormat::UNKNOWN

- Changes gfxImageFormat to be a typedef to gfx::SurfaceFormat. This will be
  removed soon.

- Removes gfxCairoFormatToImageFormat() and gfxImageFormatToCairoFormat() and
  replace calls to them with CairoFormatToGfxFormat() and
  GfxFormatToCairoFormat().

- Removes ParamTraits<gfxImageFormat>.

- Add namespace qualifiers to SurfaceFormat instances where necessary.

--HG--
extra : rebase_source : f56e92b1593957a9e4e00171100bc7605816e696
2016-01-07 20:57:38 -08:00
Nicholas Nethercote
9ac2c3e3be Bug 1233631 - Moz2Dify CanvasBidiProcessor. r=jfkthame.
--HG--
extra : rebase_source : 4e255a8b622251d1283fd4b1ebb6954797f0aa09
2015-12-17 19:59:04 -08:00
Nicholas Nethercote
06e901cb9f 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().

--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
2015-12-15 13:56:41 -08:00
Lee Salzman
016ec296bf Bug 1229932 - check that offsets to canvas fillText() are finite. r=jmuizelaar 2015-12-16 14:56:22 -05:00
Ms2ger
7d058880e0 Bug 1217835 - Rewrite some code in CanvasRenderingContext2D::GetImageDataArray to avoid build warnings; r=gw280 2015-12-18 11:08:06 +01:00
Morris Tseng
3e61e4b4cf Bug 1172796 - Part 7: Implements ImageBitmapRenderingContext. r=roc r=smaug
--HG--
extra : commitid : J5ynF4BHVHV
2015-12-18 14:52:17 +08:00
peter chang
e0b4369755 Bug 1018527 - bypass canvas API calls when inputs are out of float precision, r=jmuizelaar 2015-12-09 01:08:00 +01:00
Lars T Hansen
b62493634b Bug 1176214 - Part 11: Changes to DOM, except for WebGL. r=bz, r=clb
--HG--
extra : rebase_source : 9c9d3f493822d68be20597d9974292ed5ec4ab70
2015-11-25 19:04:50 +01:00
Milan Sreckovic
1c2f56d5f0 Bug 1228287 - Make sure we can't do SkiaGL without the pref set. r=benwa
--HG--
extra : rebase_source : 601d27a896f5d97353051e7e8ac85be0ccf92cda
2015-11-26 11:00:00 +01:00
Jeff Gilbert
19d84fb0fe Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-24 20:15:29 -08:00
Phil Ringnalda
71a6f5da62 Back out changeset 2f614bcd9405 (bug 1221822) for test_conformance__extensions__ext-sRGB.html and test_webgl2_alpha_luminance.html failures 2015-11-23 21:55:59 -08:00
Jeff Gilbert
87397c265b Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-23 19:27:13 -08:00
Michael Bebenita
fcda618387 Bug 696630 - Take imageSmoothingEnabled into account when creating pattern fills. r=mattwoodrow
--HG--
extra : rebase_source : 77bc3248e7af31a958bacf0d1b490972d933cd6d
2015-11-17 14:46:42 -08:00
Boris Zbarsky
1fec018fcb Bug 1224007 part 4. Fix some cases in which ErrorResult instances are destroyed without doing anything useful with exceptions on them. r=peterv 2015-11-20 16:29:41 -05:00
John Daggett
b788233f65 Bug 1213280 - fix OSX font selection under 10.11. r=jfkthame 2015-11-20 22:01:12 +09:00
Lee Salzman
eb7e01d003 Bug 1225381 - ensure mozCurrentTransform is finite. r=jmuizelaar 2015-11-17 12:35:10 -05:00
Bas Schouten
37cc193821 Bug 1210560 - Part 4: Remove code to support non operator-over in nsRenderDocument and move to CanvasRenderingContext2D::DrawWindow. r=roc 2015-11-11 16:15:39 +01:00
Lee Salzman
5338c02793 Bug 1222083 - verify that a Skia GL context is actually available before trying to use it in Canvas2D drawImage. r=jmuizelaar
--HG--
extra : rebase_source : 2ddd185d711bc5cbdee08747b2fcc58a66719306
2015-11-05 12:33:12 -05:00
L. David Baron
a3eadb1b86 Bug 1221436 patch 2 - For style attributes, only store a css::Declaration instead of a css::StyleRule. r=heycam
Now that Declaration implements nsIStyleRule, we don't need the memory
overhead of storing a StyleRule object for style attributes.

We also need to change this prior to patch 5, because the changes in
patch 5 that will allow rules to change (but declarations not) would
otherwise break due to style attribute object merging done by
nsAttrValue::ParseStyleAttribute.

--HG--
extra : commitid : Ij4yRdba7wa
2015-11-09 15:57:16 +08:00
L. David Baron
a511f77fef Bug 978833 patch 18 - Eliminate StyleRule::RuleMatched and call Declaration::SetImmutable directly for style rules (like for @page and keyframe rules). r=heycam
This is just simplification (plus the addition of an assertion).

--HG--
extra : commitid : 8jnKsQbG74s
2015-11-05 16:44:10 +08:00
L. David Baron
bd9bbaa522 Bug 978833 patch 12 - Use the css::Declaration instead of the css::StyleRule as the matching rule. r=heycam
This is the key change in this patch series; it changes the object we
use for style data (currently nsIStyleRule) identity.  It allows
removing some hacks we have to deal with that for StyleRule, and avoids
having to write similar hacks for nsCSSKeyframeRule and nsCSSPageRule
(which are broken without this).

I confirmed locally that it is this patch that fixes both of the todo_is
mochitests, by building and testing with the patch queue through patch
11, and again through patch 12.

--HG--
extra : commitid : AzgBp6KfPhJ
2015-11-05 16:44:10 +08:00
Matt Woodrow
739b7da869 Bug 1217225 - Differentiate between images optimized for skia and skia-gl in the CanvasImageCache. r=mstange 2015-11-04 15:12:24 +13:00
Birunthan Mohanathas
9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Nicholas Nethercote
a34d272e2b Bug 1209812 (part 3) - Rename SurfaceFormat::R5G6B5 as R5G6B5_UINT16. r=Bas.
--HG--
extra : rebase_source : 1efcfb2522e823e55b5c7b77531a9d2c42c49c8b
2015-10-22 23:01:31 -07:00
Nathan Froyd
ce836868f3 Bug 1218488 - clarify buffer ownership for nsICanvasRenderingContextInternal::GetBuffer; r=Bas,baku
This patch started life as making ImageEncoder.cpp:EncodingRunnable not
use nsAutoArrayPtr, but the API effects rippled out from there.  On the
whole, I think using UniquePtr throughout has made the code clearer.
2015-10-26 14:31:12 -04:00
Milan Sreckovic
3ac5f098a5 Bug 1217550 - In debug build, drop a note if we use SkiaGL canvas. Simplify logging defines and flags for non-critical errors. r=benwa 2015-10-23 14:08:00 +02:00
Birunthan Mohanathas
44936aabb2 Bug 1217320 - Remove more XPIDL signature comments in .cpp files. r=froydnj
Comment-only, DONTBUILD.
2015-10-27 06:54:25 +02:00
Nathan Froyd
735e488da3 Bug 1217662 - part 2 - move mozilla::layers::LayerUserData to a separate header; r=mattwoodrow
Having to include all of Layers.h just to get at the definition of
LayerUserData is inconvenient, especially as most of the interesting
things in Layers.h can be forward-declared.  Let's move LayerUserData to
its own header, so clients can include a small header for that,
forward-declare anything else they need from Layers.h, and reduce header
bloat.
2015-10-22 16:04:35 -04:00
Sotaro Ikeda
10f1bcce89 Bug 1206763 - Enable SkiaGL canvas on gonk r=mattwoodrow 2015-10-20 01:35:00 -07:00
Olli Pettay
fee6bc69e2 Bug 1215072 - throw in case dictionary initialization fails in canvas.getContext, r=baku 2015-10-18 14:14:22 +03: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
Phil Ringnalda
dc7a4cc45e Back out changeset 09e059daabae (bug 1215072) for adding a permaorange-on-b2g test
CLOSED TREE
2015-10-16 18:42:41 -07:00
Olli Pettay
2b21892477 Bug 1215072 - throw in case dictionary initialization fails in canvas.getContext, r=baku
--HG--
extra : rebase_source : 006bfed7cfec46e6150ee15135de08941283dbb7
2015-10-16 22:52:11 +03:00
Jed Davis
b36bf70608 Bug 1213491 - Change CanvasRenderingContext2D::ContextState::clipsPushed to an nsTArray. r=nical 2015-10-09 16:20:00 +02:00
Nicholas Nethercote
4fc2610c3c Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07:00
Milan Sreckovic
d781f5c2bd Bug 1205900 - Compare context and canvas element sizes before extracting the data. r=gwright 2015-10-02 09:18:26 +02:00
Nicholas Nethercote
7b70ebccdf Bug 1209206 (part 1) - Remove mgfx namespace synonym.
CanvasRenderingContext2D.cpp has a |namespace mgfx = mozilla::gfx;| synonym.
Since the entire file is within the |mozilla| namespace we can use |gfx::Foo|
anyway, which is shorter than |mgfx::Foo|.

--HG--
extra : rebase_source : abd76713f1741b1b4f078e21d89a0708b7bd65fb
2015-09-28 12:37:18 -07:00
Kathy Brade
61c6a3b383 Bug 232227 - Do not expose system colors to CSS or canvas. r=jmuizelaar r=enndeakin tor-r=arthuredelstein
--HG--
extra : rebase_source : 54498135a11fb7d7e9f4154ad5d5bfbf87a927bd
2015-09-25 00:59:00 +02:00
Nicholas Nethercote
842dd1cf5a Bug 1207741 - Remove gfxIntSize. r=nical.
gfxIntSize is just a typedef of gfx::IntSize, so this is very mechanical. The
only tricky part is deciding for each occurrence whether to replace it with
IntSize, gfx::IntSize or mozilla::gfx::IntSize; in all cases I went with the
shortest one that worked given the existing "using namespace" declarations.

--HG--
extra : rebase_source : 67fd15f87222b16defa70ef795c6d77dfacf1c36
2015-09-23 11:49:05 -07:00
Matt Woodrow
469ca70375 Bug 1206161 - Make sure the DrawTarget is available when creating a CanvasLayer so that we can check for SkiaGL. r=Bas
--HG--
extra : rebase_source : 2d011ee3dbceecfa11a27fc1e1a65d7ec5080f85
2015-09-23 20:30:06 -04:00
Bas Schouten
74e595efb1 Bug 1206076: Use a specialized PersistentBufferProvider for Canvas2D when using a SkiaGL DrawTarget. r=jrmuizel 2015-09-21 00:30:59 +02:00
Andreas Pehrson
37ac1b6da7 Bug 1161913 - Part 1 - Add invalidation state for CaptureStream to Canvas and Contexts. r=mt
--HG--
extra : transplant_source : %C0%AFU%9CA%E9b%28%11%E0%EF%A6%81%9EZF9%5D%F3j
2015-09-17 11:37:05 +08:00
Lee Salzman
63f92dc6fe Bug 655328 - clip canvas drawImage source/dest rectangles instead of throwing IndexSizeError. r=jmuizelaar
--HG--
extra : rebase_source : acd776f44bffd060954a8b8a9a3317050a8a52de
2015-09-11 11:14:32 -04:00
Lee Salzman
292611bac3 Bug 1074733 - Part 1 - Normalize Canvas 2D rects to be positive by flipping negative width or height. r=jmuizelaar
--HG--
extra : rebase_source : 233b379f66a679f8af89b4d6d6de09e3f5b19381
2015-09-11 11:29:17 -04:00
John Daggett
06366cd453 Bug 1203809 - pass textperf obj into gfxFontGroup constructor. r=m_kato
--HG--
extra : rebase_source : c9e9f4765b710937b046941a15e82eaf83c86b03
2015-09-11 13:24:33 +09:00
Bas Schouten
7441c8825d Bug 1192159: Do not forget about the transform when not using an active target. r=jrmuizel 2015-09-02 12:20:59 +00:00
Lee Salzman
5036a0f61a Bug 1190705 - Ensure that canvas 2d matrix transforms are finite. r=Bas, r=jrmuizel 2015-08-05 18:48:25 -04:00
Markus Stange
183a73b7d1 Bug 1164766 - Clean up error checking in CanvasRenderingContext2D. r=mats
--HG--
extra : rebase_source : a71e00f5a888e62a4d3e879ffff0e9c38a9424fa
2015-07-14 16:59:12 -04:00
Lee Salzman
ba8a8fa4e9 Bug 1191608 - initialize element to null in CanvasRenderingContext2D::DrawImage. r=bas 2015-08-06 12:07:09 -04:00
Bas Schouten
7214209e15 Bug 1188752: Ensure persistence of DrawTarget when using InitializeWithSurface. r=jrmuizel 2015-08-05 19:00:03 +00:00
Kaku Kuo
976d0f9acf Bug 1044102 - Part 2 - Support ImageBitmap as CanvasImageSource. r=smaug
--HG--
extra : rebase_source : e53ca97680dd12e0f1be217b4396a443b04bbeee
2015-07-30 20:49:00 +02:00
Matt Woodrow
c666419307 Bug 1150944 - Remove objects that have been unlinked by the cycle collector from the demotable context list. r=ehsan 2015-07-29 16:35:55 -04:00
Wes Kocher
ec1078c65a Backed out 6 changesets (bug 1150944, bug 1034370) for build failures in WebGLContext.cpp CLOSED TREE
Backed out changeset e2a6160242e5 (bug 1150944)
Backed out changeset 1c510537d20b (bug 1150944)
Backed out changeset 7ae813666ed5 (bug 1150944)
Backed out changeset 2f29ac2e31cd (bug 1150944)
Backed out changeset bf7681b1567e (bug 1150944)
Backed out changeset 79c6b8d014d2 (bug 1034370)
2015-07-29 14:16:17 -07:00
Matt Woodrow
8d1da3c19e Bug 1150944 - Remove objects that have been unlinked by the cycle collector from the demotable context list. r=ehsan 2015-07-29 16:35:55 -04:00
Lee Salzman
193d5b3848 Bug 1186689 - check for OOM on destination array before mapping source to avoid needing unmap. r=bas 2015-07-23 11:39:22 -04:00
Mike Hommey
acd50e6653 No bug - Remove outdated comment and additional comment questioning its relevance. r=me DONTBUILD
The first half of the comment was added in bug 534467.
At that point the code looked like:
  // NOTE! dst is the same as src, and this relies on reading
  // from src and advancing that ptr before writing to dst.
  PRUint8 *src = aData;
  PRUint8 *dst = aData;

It was in content/canvas/src/nsCanvasRenderingContext2D.cpp.

Then bug 651858 added nsCanvasRenderingContext2DAzure.cpp, starting
from nsCanvasRenderingContext2D.cpp. The comment was kept, but the
code was modified such that src and dst were different things.

Then bug 734668 removed nsCanvasRenderingContext2D.cpp, and finally
renamed nsCanvasRenderingContext2DAzure.cpp to CanvasRenderingContext2D.cpp.

The comment questioning the relevance of the first comment was added
in bug 764125, when the file was still nsCanvasRenderingContext2DAzure.cpp.
2015-07-26 11:39:47 +09:00
Jeff Gilbert
2e4a1c88ee Bug 1182371 - Misc WebGL cleanup. - r=kamidphish 2015-07-14 17:37:28 -07:00
Lee Salzman
4a1174fffa Bug 1183363 - Make EnsureWritablePath and EnsureUserSpacePath always imply EnsureTarget. r=Bas
--HG--
extra : rebase_source : e37e438eca003ebf20544497748b9d2e0ccd1f5f
extra : histedit_source : 5995582ce52c82b406c79f8a078cc8549439f8ae
2015-07-14 00:01:29 -04:00
Milan Sreckovic
2816dbd608 Bug 1177726 - Inflate the bounds when stroking the canvas text. r=jmuizelaar
--HG--
extra : rebase_source : 3c776397c63693baff0ba0848bfd044cab1ad8b5
2015-07-10 12:04:56 -04:00
Botond Ballo
9eadc95b3f Bug 1181832 - Keep gfxPrefs.h out of header files. r=kats
--HG--
extra : rebase_source : 33d5abb8f12f1173ae50d1712f15e273f9b26ace
extra : source : 4bd2e2744ef1b914d2859f3433b6b9026d91401b
2015-07-13 11:53:10 -04:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Birunthan Mohanathas
ea9f64788c Bug 1182824 - Part 2: Make ContextState::dash a nsTArray. r=mattwoodrow 2015-07-12 23:19:12 -07:00
Birunthan Mohanathas
769c8aa560 Bug 1182824 - Part 1: Use move assignment rather than copy assignment with ContextState::dash. r=mattwoodrow 2015-07-12 23:19:12 -07:00
Carsten "Tomcat" Book
3f822bff2d Backed out changeset 7bffe6c8fd4d (bug 1177726) for test regressions in 1177726-text-stroke-bounds.html on a CLOSED TREE
--HG--
extra : rebase_source : 8a9087f14093b3e05aac3acb273970a2fa1fd468
2015-07-09 13:02:13 +02:00
Milan Sreckovic
947f4b5a59 Bug 1177726 - Inflate the bounds when stroking the canvas text. r=jmuizelaar
--HG--
extra : rebase_source : 32cb0f2e968f32aa9fb9bc961021decf1d60a3f0
extra : histedit_source : 6b591dca803c093d08d570f207cfb3bcd6aed40e
2015-07-08 07:45:00 +02:00
Robert O'Callahan
15642eb711 Bug 1143575. Replace ImageContainer Lock methods with simplified AutoLockImage. r=nical
--HG--
extra : commitid : B1BZNvKIQFf
extra : rebase_source : 927c9aa549a863aeba97c0e5a4cb6cf87194669a
2015-03-27 12:07:53 +13: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
Bas Schouten
7801f65a75 Bug 1167235 - Part 3: Switch CanvasRenderingContext2D to use the new BufferProvider API. r=nical 2015-06-19 01:07:21 +02: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
Markus Stange
aa9e5d21a2 Bug 1163105 - Flush frames before building the filter. r=roc
--HG--
extra : rebase_source : 40fddf063df3d8b783a64f9d94ef95fcfa35c183
extra : histedit_source : 72673c6e9468ab81e34f80a962fa8510984fe986
2015-06-09 18:49:17 -04:00
David Anderson
46807997bc Add an API for snapshotting widgets as they are presented by the operating system. (bug 1167477, r=mattwoodrow, dom r=khuey)
--HG--
extra : rebase_source : f750028018bc04eddf31a1e3810e013b1d8f1631
2015-06-04 14:19:06 -07:00
Jonathan Kew
f6f76086ef Bug 1107096 - Suppress improper drawing of zero-width invisible glyphs in canvas. r=roc 2015-05-30 14:07:16 +01:00
Birunthan Mohanathas
180b572edb Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElement calls. r=froydnj 2015-05-28 11:07:44 -07:00