Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove CanvasProxy along with related concepts and complexities #790

Closed
wants to merge 1 commit into from
Closed

Remove CanvasProxy along with related concepts and complexities #790

wants to merge 1 commit into from

Conversation

junov
Copy link
Member

@junov junov commented Mar 2, 2016

The CanvasProxy feature is being removed to make room for a newer
incarnation known as OffscreenCanvas, which will be added soon.
Draft Proposal: https://wiki.whatwg.org/wiki/OffscreenCanvas
There are currently no known implementations of CanvasProxy.

Summary of changes:

  • Remove CanvasProxy and all canvas methods related to CanvasProxy
  • Remove the notion of a CanvasRenderingContext2D being in a proxied
    state.
  • Remove the notion of a CanvasRenderingContext2D being in an indirect
    state.
  • Remove the notion of a "scratch bitmap" from CanvasRenderingContext2D
    and use a single concept of an "output bitmap" everywhere.
  • Remove the notion of a "list of pending user interface actions"
  • Remove the notion canvas context bindinding, no more standalone
    contexts, no more setContext method on canvas.
  • Remove the commit() method of CanvasRenderingContext2D.
  • Remove the CanvasRenderingContext2D constructor.
  • Removed the notion of concept-canvas-context-bitmap-mode, canvii
    now always behave as what was previous described as "fixed" mode.
  • Rename bitmap modes "direct-2d" and "direct-webgl" to just "2d" and
    "webgl" respectively.
    *The hit region list, alpha flag, and origin-clean flag are now internal attributes of CanvasRenderingContext2D, rather than attributes of the scratch/output bitmaps.

@domenic domenic added the removal/deprecation Removing or deprecating a feature label Mar 2, 2016
@domenic
Copy link
Member

domenic commented Mar 2, 2016

Yay, been waiting to see this happen!

Commit message nits:

  • bindinding
  • Removed -> Remove
  • respectively. *The

Will start reviewing now...

data-x="concept-canvas-direct-webgl">direct-webgl</dfn>, <dfn
data-x="concept-canvas-indirect">indirect</dfn>, or <dfn
data-x="concept-canvas-proxied">proxied</dfn> by algorithms defined in this specification.</p>
data-x="concept-canvas-2d">2d</dfn>, or <dfn
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/, or/ or/

@domenic
Copy link
Member

domenic commented Mar 2, 2016

Got through most of this, although I haven't had a chance to do a read-through scouring for leftovers. More eyes would be appreciated.

[<span data-x="dom-context-2d">Constructor</span>(),
<span data-x="dom-context-2d">Constructor</span>(unsigned long width, unsigned long height),
Exposed=(Window,Worker)]
[Exposed=(Window,Worker)]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be just Window right or removed altogether?

@annevk
Copy link
Member

annevk commented Mar 3, 2016

If @Hixie can find the time he'd be the best person to review this. Failing that I think we'll mostly have to trust @junov. He's clearly becoming the new owner of this section of the specification.

@Hixie
Copy link
Member

Hixie commented Mar 3, 2016

It's been too long for me to remember if there's any surprises here, sorry. Did you see if there were any unexpected changes in the commit that added this? That's what I'd start with.

@domenic
Copy link
Member

domenic commented Mar 3, 2016

Agreed that this is now @junov's area :). We can do editorial review though. Which I've finished.

@junov
Copy link
Member Author

junov commented Mar 3, 2016

For this PR that is mostly just removing stuff, it is mostly editorial guidance that is needed from reviewers. But for the next steps that will involve adding OffscreenCanvas and related sub-features, I intend to ping some usual canvas suspects from Gecko and WebKit to get their guidance. Mozilla's implementation is further along than our's, so I would expect them to be able to provide guidance based on choices and assumptions they had to make, and problems that were encountered.

The CanvasProxy feature is being removed to make room for a newer
incarnation known as OffscreenCanvas, which will be added soon.
Draft Proposal: https://wiki.whatwg.org/wiki/OffscreenCanvas
There are currently no known implementations of CanvasProxy.

Summary of changes:
* Remove CanvasProxy and all canvas methods related to CanvasProxy
* Remove the notion of a CanvasRenderingContext2D being in a proxied
  state.
* Remove the notion of a CanvasRenderingContext2D being in an indirect
  state.
* Remove the notion of a "scratch bitmap" from CanvasRenderingContext2D
  and use a single concept of an "output bitmap" everywhere.
* Remove the notion of a "list of pending user interface actions"
* Remove the notion canvas context binding, no more standalone
  contexts, no more setContext method on canvas.
* Remove the commit() method of CanvasRenderingContext2D.
* Remove the CanvasRenderingContext2D constructor.
* Remove the notion of concept-canvas-context-bitmap-mode, canvii
  now always behave as what was previous described as "fixed" mode.
* Rename bitmap modes "direct-2d" and "direct-webgl" to just "2d" and
  "webgl" respectively.
* The hit region list, alpha flag, and origin-clean flag are now
  internal attributes of CanvasRenderingContext2D, rather than
  attributes of the scratch/output bitmaps.
* CanvasRenderingContext2D and its sub-interfaces are no longer
  exposed in Workers.
@junov
Copy link
Member Author

junov commented Mar 3, 2016

new commit.
@annevk: I removed "Exposed=(Window,Worker)" from CRC2D ask you asked, and also removed it from all the sub-interfaces that CRC2D implements. Most of those will go back into Workers in the near future, but to keep the spec consistent in the interim, I thought it best remove these from Workers for now.

@junov
Copy link
Member Author

junov commented Mar 7, 2016

Gentle ping.

@domenic
Copy link
Member

domenic commented Mar 7, 2016

Will look at this again today. It seems likely that I'll just be able to merge it.

@domenic domenic self-assigned this Mar 7, 2016
domenic pushed a commit that referenced this pull request Mar 7, 2016
The CanvasProxy feature is being removed to make room for a newer
incarnation known as OffscreenCanvas, which will be added soon.
Draft Proposal: https://wiki.whatwg.org/wiki/OffscreenCanvas.
There are currently no known implementations of CanvasProxy.

Summary of changes:

* Remove CanvasProxy and all canvas methods related to CanvasProxy
* Remove the notion of a CanvasRenderingContext2D being in a proxied
  state.
* Remove the notion of a CanvasRenderingContext2D being in an indirect
  state.
* Remove the notion of a "scratch bitmap" from CanvasRenderingContext2D
  and use a single concept of an "output bitmap" everywhere.
* Remove the notion of a "list of pending user interface actions"
* Remove the notion canvas context binding: no more standalone
  contexts, no more setContext method on canvas.
* Remove the commit() method of CanvasRenderingContext2D.
* Remove the CanvasRenderingContext2D constructor.
* Remove the notion of concept-canvas-context-bitmap-mode, canvii
  now always behave as what was previous described as "fixed" mode.
* Rename bitmap modes "direct-2d" and "direct-webgl" to just "2d" and
  "webgl" respectively.
* The hit region list, alpha flag, and origin-clean flag are now
  internal attributes of CanvasRenderingContext2D, rather than
  attributes of the scratch/output bitmaps.
* CanvasRenderingContext2D and its sub-interfaces are no longer
  exposed in Workers.

PR: #790
@domenic
Copy link
Member

domenic commented Mar 7, 2016

Merged as 740634d. Awesome!!! Looking forward to OffscreenCanvas :D

annevk pushed a commit that referenced this pull request Apr 1, 2016
This change fixes issue #923 by allowing ImageBitmap objects to
be created from SVG source images, as long as the image has an
intrinsic size. If the image does not have an intrinsic size,
we still reject the promise with an InvalidStateError, as before.

This change also removes CanvasRenderingContext2D from
ImageBtimapSource, which was an oversight in PR #790. Since there
is no longer a concept of a standalone context, this is no longer
needed.
jungkees pushed a commit to jungkees/html that referenced this pull request Apr 8, 2016
This change fixes issue whatwg#923 by allowing ImageBitmap objects to
be created from SVG source images, as long as the image has an
intrinsic size. If the image does not have an intrinsic size,
we still reject the promise with an InvalidStateError, as before.

This change also removes CanvasRenderingContext2D from
ImageBtimapSource, which was an oversight in PR whatwg#790. Since there
is no longer a concept of a standalone context, this is no longer
needed.
@chaals chaals mentioned this pull request May 11, 2016
annevk added a commit that referenced this pull request May 20, 2016
Also remove erroneous mentions of CanvasRenderingContext2D as a
CanvasImageSource type. Further cleanup of #790.

See 740634d and
43ad288 for prior commits in this area.

Fixes #893.
annevk added a commit that referenced this pull request May 20, 2016
Also remove erroneous mentions of CanvasRenderingContext2D as a
CanvasImageSource type. Further cleanup of #790.

See 740634d and
43ad288 for prior commits in this area.

Fixes #893.
@domenic domenic mentioned this pull request Jun 9, 2016
annevk added a commit that referenced this pull request Jan 22, 2018
Rendering context binding and unbinding dates back to 285b52f, which was mostly removed in #790.
annevk added a commit that referenced this pull request Jan 23, 2018
Rendering context binding and unbinding dates back to 285b52f, which was mostly removed in #790.
alice pushed a commit to alice/html that referenced this pull request Jan 8, 2019
Rendering context binding and unbinding dates back to 285b52f, which was mostly removed in whatwg#790.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
removal/deprecation Removing or deprecating a feature
Development

Successfully merging this pull request may close these issues.

4 participants