Commit Graph

154 Commits

Author SHA1 Message Date
Tom Schuster
937d9326cd Bug 1453916 - Allow canvas extraction from webextension content-script even with resistFingerprinting turned on. r=kmag,bz
--HG--
extra : rebase_source : d67c589e8819407bb5acc4378d029288dd9295be
2018-05-14 20:49:32 +02:00
Jonathan Kew
b222e049c6 Bug 1459162 - Update dimensions early in ClearTarget. r=lsalzman 2018-05-17 09:49:58 +01:00
Markus Stange
90d2624508 Bug 1219985 - The canvas rendering context 2d should be opaque if either the moz-opaque attribute is set or if it has been initialized with alpha:false. r=jrmuizel
If the canvas is cleared by setting the width or height attributes, its
opaqueness should not be affected.

This patch keeps support for moz-opaque, and also keeps the behavior that
changing the moz-opaque attribute clears the canvas, even if this does not
affect the actual opaqueness of the canvas.

MozReview-Commit-ID: LOlsJxiP9kc

--HG--
extra : rebase_source : 8bb95b1d5932c39a8085e007f9fd1b88b97afe55
2018-05-02 11:23:53 -04:00
Sylvestre Ledru
fa45a3c670 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 5f5e37517aa80c2e7b5933962178d761074886e7
2018-03-16 14:29:15 +01:00
Coroiu Cristina
0f6841e0d2 Backed out 2 changesets (bug 1443080) for spidermonkey build bustage at build/src/js/src/jit/BaselineCacheIRCompiler.cpp
Backed out changeset 7d509bb8a35d (bug 1443080)
Backed out changeset 53bdcd5937cd (bug 1443080)

--HG--
extra : rebase_source : 59b5350d2959c0b065aedd34bfe8337216c0ea4b
2018-03-14 11:13:21 +02:00
Sylvestre Ledru
c07eb73986 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 17c91bfd7241e3e522b1413b6e544df74f5361a0
2018-03-05 13:43:54 +01:00
Adrian Wielgosik
ed00cb8c4e Bug 1440039 - Remove nsIDOMCanvasRenderingContext2D. r=qdot
MozReview-Commit-ID: GY3DdHAfQK2

--HG--
extra : rebase_source : 1fe021831984cb64cedd8c7eba486a0d29f7d66a
2018-02-21 20:49:07 +01:00
Dorel Luca
f41b03eca9 Backed out changeset 38577c007450 (bug 1424371) for Marionett test failure on testing/marionette/harness/marionette_harness/tests/unit/test_window_maximize.py. CLOSED TREE 2018-02-19 22:15:23 +02:00
Milan Sreckovic
7571df7e7c Bug 1424371: Use BaseRect access methods instead of member variables in dom/ r=qdot
MozReview-Commit-ID: HXWhggOMIEK

--HG--
extra : rebase_source : 9c9eacf80d2b7f78faa82a1549170b98d12cdaa8
2018-02-19 12:56:10 -05:00
Emilio Cobos Álvarez
0bc20b0d9b Bug 1420026: followup: Enable Servo CSS color parsing in canvas. r=xidorn
MozReview-Commit-ID: 9vMlQB7139F
2018-02-01 11:00:12 +11:00
Jeff Gilbert
7edc1cd1d7 Bug 1427668 - Lose context if EnsureDefaultFB fails. - r=daoshengmu
MozReview-Commit-ID: 8OqXYXpUv4I
2018-01-05 15:27:48 -08:00
Nika Layzell
c223b9ff2d Bug 1414974 - Part 6: Change WebIDL bindings to refer to nsGlobalWindowInner rather than nsGlobalWindow, r=bz
MozReview-Commit-ID: KbCpDFoWyTe
2017-11-09 10:44:49 -05:00
Nika Layzell
3409141758 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
sotaro
23069babc9 Bug 1401609 - Add UpdateWebRenderCanvasData() to handle CanvasRenderer re-creation r=jrmuizel,mstange 2017-10-28 19:07:27 +09:00
Chung-Sheng Fu
6eb3e9c2c9 Bug 967895 - Ask for placeholder data when image extraction is not allowed (Tor 6253). r=jrmuizel
MozReview-Commit-ID: AJ5F6M5S83U

--HG--
extra : rebase_source : 894b16575ebbccc26c5b639d7526cb473501d9d2
2017-08-22 14:23:41 +08:00
Sebastian Hengst
92ee8df522 Backed out changeset 71790f0ea832 (bug 967895) 2017-10-09 19:18:12 +02:00
Chung-Sheng Fu
21db685671 Bug 967895 - Ask for placeholder data when image extraction is not allowed (Tor 6253). r=jrmuizel
MozReview-Commit-ID: AJ5F6M5S83U

--HG--
extra : rebase_source : 2d2de5d6c4a7245759fefed468bcc7d82c9cd000
2017-08-22 14:23:41 +08:00
Nicholas Nethercote
d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Kearwood "Kip" Gilbert
7f6e715fdf Bug 1400407 - Part 2: Cleanup DOM Canvas mirroring dead code,r=jgilbert
- Refactored out Canvas layer mirror specialization, no longer needed
  as we are no longer implementing a TextureForwarder to submit VR frames.

MozReview-Commit-ID: ArZO6M9kNLg

--HG--
extra : rebase_source : 2447bfb61b6575f0c6bdaf35ecd4656e7cfb762f
2017-09-15 15:06:56 -07:00
Nicholas Nethercote
dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Jonathan Watt
0e4feb75d3 Bug 1401356, part 1 - Rename nsSVGEffects.h/.cpp to SVGObserverUtils.h/.cpp. r=longsonr
--HG--
rename : layout/svg/nsSVGEffects.cpp => layout/svg/SVGObserverUtils.cpp
rename : layout/svg/nsSVGEffects.h => layout/svg/SVGObserverUtils.h
2017-08-30 14:14:46 +01:00
Jon Coppeard
a3c0357907 Bug 1399141 - Attribute malloc memory when creating reflector object r=baku 2017-09-13 11:21:12 +01:00
Morris Tseng
2ad398aebc Bug 1391136 - Handle context lost in layers-free mode. r=jgilbert
MozReview-Commit-ID: 1J0EggRmM4i
2017-08-18 15:13:29 +08:00
Morris Tseng
f3d4ff499f Bug 1379920 - Introduce CanvasRenderer and its derived classes. r=nical,jrmuizel
This patch move common canvas interfaces out of layer. So I create a
base class CanvasRenderer which move interfaces from CanvasLayer.
CopyableCanvasRenderer from CopyableCanvasLayer, ClientCanvasRenderer
from ClientCanvasLayer and WebRenderCanvasRenderer from
WebRenderCanvasLayer. And finally, WebRenderCanvasRendererSync for the
non layers free mode and WebRenderCanvasRendererAsync for the layers
free mode.

Summary all changes in this patch.
* Move class CanvasLayer::Data to CanvasRenderer.h and rename it to
CanvasInitializeData. Because this class not only use by layer but also
* Move BasicCanvasLayer::UpdateSurface to
CopyableCanvasRenderer::ReadbackSurface.
* CanvasClient::Update now accepts ShareableCanvasRenderer as parameter.
not CanvasLayer.
use by layers-free mode. Move it out of layer's class makes more sense.
* Add InitializeCanvasRenderer in the canvas related classes to
initialize CanvasRenderer without involved layer.
* All canvas layer has function "CreateCanvasRendererInternal" that
initialize corresponding CanvasRenderer.

* Description of all CanvasRenderer classes:
** CanvasRenderer: Based classes.
** CopyableCanvasRenderer: Can readback canvas content to a
SourceSurface. Use by BasicCanvasLayer.
** ShareableCanvasRenderer: Provide IPC capabilities that allow sending
canvas content over IPC. This is pure virtual class because the IPC handling is
different in different LayerManager.
** ClientCanvasRenderer: Implement IPC handling for ClientLayerManager.
Use by ClientCanvasLayer.
** WebRenderCanvasRenderer: Implement IPC handling for
WebRenderLayerManager.
** WebRenderCanvasRendererSync: Use by WebRenderCanvasLayer.
** WebRenderCanvasRendererAsync: Use by layers-free mode in WebRender.

class diagram shows below:

                      +--------------+
                      |CanvasRenderer|
                      +-------+------+
                              ^
                              |
                  +----------------------+
                  |CopyableCanvasRenderer|
                  +----------------------+
                              ^
                              |
                  +-----------+-----------+
                  |ShareableCanvasRenderer|
                  +-----+-----------------+
                        ^      ^
          +-------------+      +-------+
          |                            |
+--------------------+       +---------+-------------+
|ClientCanvasRenderer|       |WebRenderCanvasRenderer|
+--------------------+       +--------+--+-----------+
                                      ^  ^
              +-----------------------+  +----+
              |                               |
+-------------+-------------+   +-------------+--------------+
|WebRenderCanvasRendererSync|   |WebRenderCanvasRendererAsync|
+---------------------------+   +----------------------------+

MozReview-Commit-ID: 5hqQ19W169r
2017-08-03 13:55:14 +08:00
Boris Zbarsky
e12283979d Bug 1382027. Allow using an SVGImageElement as a CanvasImageSource. r=mystor
--HG--
rename : testing/web-platform/tests/2dcontext/drawing-images-to-the-canvas/drawimage_html_image_1.html => testing/web-platform/tests/2dcontext/drawing-images-to-the-canvas/drawimage_svg_image_1.html
rename : testing/web-platform/tests/2dcontext/drawing-images-to-the-canvas/drawimage_html_image_1_ref.html => testing/web-platform/tests/2dcontext/drawing-images-to-the-canvas/drawimage_svg_image_1_ref.html
2017-07-19 11:48:49 -04:00
Kirk Steuber
8c3a82a2d2 Bug 1370727 - Return void from nsICanvasRenderingContextInternal::SetIsOpaque r=bz
nsICanvasRenderingContextInternal::SetIsOpaque returns nsresult, but no implementations return errors. It should return void instead.

MozReview-Commit-ID: LrGouaeoCvo

--HG--
extra : rebase_source : a17432006aa073edaecf15424a3b350309d704c4
2017-06-09 12:15:42 -07:00
Mats Palmgren
0bf577cd74 Bug 1352093 - Use an integer type for sNumLivingContexts that won't overflow when counting objects. r=mstange
MozReview-Commit-ID: 2w9y0flEdrX

--HG--
extra : rebase_source : 199beffa993b756ef208f6070a9f5c3de0d2fea0
2017-05-03 10:40:51 -04:00
Jeff Gilbert
326703ec04 Bug 1355763 - Add gfxAlphaType for specifying opaque/premult/non-premult. - r=daoshengmu
MozReview-Commit-ID: Jzr8aPYlEcO
2017-04-13 09:14:34 -07:00
Iris Hsiao
bf9a6182a2 Backed out changeset f97fd860c168 (bug 1355763) 2017-04-13 14:46:43 +08:00
Jeff Gilbert
95c5ba8077 Bug 1355763 - Add gfxAlphaType for specifying opaque/premult/non-premult. - r=daoshengmu
MozReview-Commit-ID: Jzr8aPYlEcO
2017-04-12 22:03:43 -07:00
Ehsan Akhgari
0fea8eec91 Bug 1342720 - Optimize away the cost of creating and destroying nsBidi from CanvasRenderingContext2D::DrawOrMeasureText(); r=baku
The ICU implementation of ~nsBidi is particularly expensive because
it calls free() several times.
2017-02-28 09:13:48 -05:00
Ethan Lin
7faa453e65 Bug 1341521 - Remove the retaining buffer machanism when setting the same canvas dimension. r=nical
--HG--
extra : rebase_source : 519ae1558bb0a771474508ebfd1f44ea38262015
2017-02-23 01:20:00 -05:00
Kevin Chen
3f7720742d Bug 1331857 - Create class BasicRenderingContext2D. r=gwright 2017-02-02 22:43:00 +01: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
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
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
Edwin Flores
3af4985263 Bug 1318283 - Debug patch - r=milan 2016-11-28 19:32:49 +00: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
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
Wes Kocher
0b825de25a Backed out changeset e71aa9bcb92c (bug 1309913) for osx reftest failures in linear-gradient-1a.html a=backout 2016-11-02 10:48:07 -07:00
Milan Sreckovic
c6b4c6bdef Bug 1309913: Pass the compositor type to canvas on creation. r=dvander
MozReview-Commit-ID: H9HXXlyqa88

--HG--
extra : rebase_source : 56914a616981d74774eaa598e9b1cbc637449eec
2016-11-01 16:54:33 -04:00
Markus Stange
336b3a1f27 Bug 1308859 - Do not hold on to pointers into mStyleStack across a presshell flush. r=jrmuizel
MozReview-Commit-ID: Cenm0J8rNq7

--HG--
extra : rebase_source : 8bf6cf74c270170ae211692337e791d8aef23ada
2016-10-25 13:44:19 -04: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
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
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
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
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
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