Bug 1680359 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

CanvasRenderingContext2D.drawWindow() won't work in some cases with Fission. If you're calling drawWindow() from an extension, you should switch to browser.tabs.captureTab(). If you're writing chrome code, you probably want to call WindowGlobalParent.drawSnapshot() from the parent process.

The [WebExtension deprecation policy](https://wiki.mozilla.org/WebExtensions/DeprecationPolicy) says we need to:

* ⬜ Announce on the dev-addons mailing list with the subject "Intent to deprecate".
  * [An Extensions blog post](https://blog.mozilla.org/addons/2020/10/07/extensions-in-firefox-82/) announced that `drawWindow()` won't work with Fission and introduced the `captureTab()` and `captureVisibleTab()` replacement APIs.
  * And mentioned in this [Fission announcement](https://discourse.mozilla.org/t/project-fission-firefox-site-isolation-coming-later-this-year/64466) in the Add-ons Discourse forum.
  * But we should still post a Discourse announcement with the subject "Intent to deprecate CanvasRenderingContext2D.drawWindow()"
* ⬜ Alter the addons-linter repository to warn developers using "web-ext lint" or AMO that the API is now deprecated.
* ⬜ Alter Firefox to output a warning to the browser console.
* ✅ Update the docs on MDN. The [MDN docs for `drawWindow()`](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawWindow) have a big deprecation warning:
  * > This API cannot be used by Web content. It is synchronous, and as such can't capture cross-origin (out of process) iframes with Fission.  If you're using it from an extension, you should switch to tabs.captureTab.  If you're writing chrome code, you probably want WindowGlobalParent.drawSnapshot from the parent process.
* ⬜ Wait for change to ride the change to ride Firefox trains to release.
* ⬜ At a minimum, wait for 3 Firefox releases, from when the deprecation lands in nightly.
* ⬜ Alter the add-ons linter repository to fail if the API is present.
* ⬜ Alter Firefox to remove the API.
* ⬜ Update the docs on MDN.

Andreas Wagner is searching the code of AMO extensions for `drawWindow()` callers and `DRAWWINDOW_` flags. We can then reach out to affected extension developers.
CanvasRenderingContext2D.drawWindow() won't work in some cases with Fission. If you're calling drawWindow() from an extension, you should switch to browser.tabs.captureTab(). If you're writing chrome code, you probably want to call WindowGlobalParent.drawSnapshot() from the parent process.

The [WebExtension deprecation policy](https://wiki.mozilla.org/WebExtensions/DeprecationPolicy) says we need to:

* ⬜ Announce on the dev-addons mailing list with the subject "Intent to deprecate".
  * [An Extensions blog post](https://blog.mozilla.org/addons/2020/10/07/extensions-in-firefox-82/) announced that `drawWindow()` won't work with Fission and introduced the `captureTab()` and `captureVisibleTab()` replacement APIs.
  * And mentioned in this [Fission announcement](https://discourse.mozilla.org/t/project-fission-firefox-site-isolation-coming-later-this-year/64466) in the Add-ons Discourse forum.
  * But we should still post a Discourse announcement with the subject "Intent to deprecate CanvasRenderingContext2D.drawWindow()"
* ⬜ Alter the addons-linter repository to warn developers using "web-ext lint" or AMO that the API is now deprecated.
* ⬜ Alter Firefox to output a warning to the browser console: bug 1696976
* ✅ Update the docs on MDN. The [MDN docs for `drawWindow()`](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawWindow) have a big deprecation warning:
  * > This API cannot be used by Web content. It is synchronous, and as such can't capture cross-origin (out of process) iframes with Fission.  If you're using it from an extension, you should switch to tabs.captureTab.  If you're writing chrome code, you probably want WindowGlobalParent.drawSnapshot from the parent process.
* ⬜ Wait for change to ride the change to ride Firefox trains to release.
* ⬜ At a minimum, wait for 3 Firefox releases, from when the deprecation lands in nightly.
* ⬜ Alter the add-ons linter repository to fail if the API is present.
* ⬜ Alter Firefox to remove the API.
* ⬜ Update the docs on MDN.

Andreas Wagner is searching the code of AMO extensions for `drawWindow()` callers and `DRAWWINDOW_` flags. We can then reach out to affected extension developers.
CanvasRenderingContext2D.drawWindow() won't work in some cases with Fission. If you're calling drawWindow() from an extension, you should switch to browser.tabs.captureTab(). If you're writing chrome code, you probably want to call WindowGlobalParent.drawSnapshot() from the parent process.

The [WebExtension deprecation policy](https://wiki.mozilla.org/WebExtensions/DeprecationPolicy) says we need to:

* ⬜ Announce on the dev-addons mailing list with the subject "Intent to deprecate".
  * [An Extensions blog post](https://blog.mozilla.org/addons/2020/10/07/extensions-in-firefox-82/) announced that `drawWindow()` won't work with Fission and introduced the `captureTab()` and `captureVisibleTab()` replacement APIs.
  * And mentioned in this [Fission announcement](https://discourse.mozilla.org/t/project-fission-firefox-site-isolation-coming-later-this-year/64466) in the Add-ons Discourse forum.
  * But we should still post a Discourse announcement with the subject "Intent to deprecate CanvasRenderingContext2D.drawWindow()"
* ⬜ Alter the addons-linter repository to warn developers using "web-ext lint" or AMO that the API is now deprecated.
* ✅ Alter Firefox to output a warning to the browser console: bug 1696976
* ✅ Update the docs on MDN. The [MDN docs for `drawWindow()`](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawWindow) have a big deprecation warning:
  * > This API cannot be used by Web content. It is synchronous, and as such can't capture cross-origin (out of process) iframes with Fission.  If you're using it from an extension, you should switch to tabs.captureTab.  If you're writing chrome code, you probably want WindowGlobalParent.drawSnapshot from the parent process.
* ⬜ Wait for change to ride the change to ride Firefox trains to release.
* ⬜ At a minimum, wait for 3 Firefox releases, from when the deprecation lands in nightly.
* ⬜ Alter the add-ons linter repository to fail if the API is present.
* ⬜ Alter Firefox to remove the API.
* ⬜ Update the docs on MDN.

Andreas Wagner is searching the code of AMO extensions for `drawWindow()` callers and `DRAWWINDOW_` flags. We can then reach out to affected extension developers.
CanvasRenderingContext2D.drawWindow() won't work in some cases with Fission. If you're calling drawWindow() from an extension, you should switch to browser.tabs.captureTab(). If you're writing chrome code, you probably want to call WindowGlobalParent.drawSnapshot() from the parent process.

The [WebExtension deprecation policy](https://wiki.mozilla.org/WebExtensions/DeprecationPolicy) says we need to:

* ⬜ Announce on the dev-addons mailing list with the subject "Intent to deprecate".
  * [An Extensions blog post](https://blog.mozilla.org/addons/2020/10/07/extensions-in-firefox-82/) announced that `drawWindow()` won't work with Fission and introduced the `captureTab()` and `captureVisibleTab()` replacement APIs.
  * And mentioned in this [Fission announcement](https://discourse.mozilla.org/t/project-fission-firefox-site-isolation-coming-later-this-year/64466) in the Add-ons Discourse forum.
  * But we should still post a Discourse announcement with the subject "Intent to deprecate CanvasRenderingContext2D.drawWindow()"
* ~⬜ Alter the addons-linter repository to warn developers using "web-ext lint" or AMO that the API is now deprecated.~ (addons-linter team recommends emailing authors instead: https://github.com/mozilla/addons-linter/issues/3661)
* ✅ Alter Firefox to output a warning to the browser console: bug 1696976
* ✅ Update the docs on MDN. The [MDN docs for `drawWindow()`](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawWindow) have a big deprecation warning:
  * > This API cannot be used by Web content. It is synchronous, and as such can't capture cross-origin (out of process) iframes with Fission.  If you're using it from an extension, you should switch to tabs.captureTab.  If you're writing chrome code, you probably want WindowGlobalParent.drawSnapshot from the parent process.
* ⬜ Wait for change to ride the change to ride Firefox trains to release.
* ⬜ At a minimum, wait for 3 Firefox releases, from when the deprecation lands in nightly.
* ~⬜ Alter the add-ons linter repository to fail if the API is present.~
* ⬜ Alter Firefox to remove the API: bug 1682545
* ⬜ Update the docs on MDN.

Andreas Wagner is searching the code of AMO extensions for `drawWindow()` callers and `DRAWWINDOW_` flags. We can then reach out to affected extension developers.

Back to Bug 1680359 Comment 0