Fixed
Status Update
Comments
lg...@google.com <lg...@google.com> #2
There is currently no way to add an image mime type to the clipboard data for a copy event in Chrome. To support copying raw image data in Docs, it would be useful to add support for jpg, png, gif, tiff, and bmp image formats.
dc...@chromium.org <dc...@chromium.org> #3
[Empty comment from Monorail migration]
bu...@chromium.org <bu...@chromium.org> #4
[Empty comment from Monorail migration]
bu...@chromium.org <bu...@chromium.org> #5
[Empty comment from Monorail migration]
ta...@google.com <ta...@google.com> #6
Any estimates when this could land?
rs...@chromium.org <rs...@chromium.org> #7
estade, would you know who might be a good person to direct this to?
es...@chromium.org <es...@chromium.org> #8
dcheng is the right person afaik
rs...@chromium.org <rs...@chromium.org> #9
Alright, I'll have to bother him for updates then :)
dcheng, have you been able to make any progress?
dcheng, have you been able to make any progress?
dc...@chromium.org <dc...@chromium.org> #10
I've been busy with other work items unfortunately. Here's what I think would need to be accomplished to get this implemented though:
Investigation of:
- Windows support. I foundhttp://msdn.microsoft.com/en-us/library/aa359736(v=vs.85).aspx on MSDN, but it seems to just be MIME types. http://msdn.microsoft.com/en-us/library/windows/desktop/dd145023(v=vs.85).aspx seems to indicate that it's possible to stuff PNG/JPG compressed data into bitmaps at least... but I haven't tried to see how well it works.
- Mac support. I think OS X 10.6+ support a nicer way to write images to the clipboard... but we support 10.5, so we always write the image out as a TIFF.
Understanding requirements:
- We don't want to transcode pictures, right? So if a page places JPG in the clipboard, we need to make sure the same bits that we write to the native clipboard come back to Chrome.
- Is it OK that only image/jpg (and maybe image/bmp) are available if you set a image/jpg to the clipboard?
- What about native apps? As highlighted above, Windows doesn't have the best support for compressed formats and there don't seem to be native clipboard formats for compressed images. As a consequence of this, to get copy jpg -> paste in Paint to work properly, it seems like we'd need to place a decompressed bitmap in the clipboard as well.
- Anything else I'm missing?
Investigation of:
- Windows support. I found
- Mac support. I think OS X 10.6+ support a nicer way to write images to the clipboard... but we support 10.5, so we always write the image out as a TIFF.
Understanding requirements:
- We don't want to transcode pictures, right? So if a page places JPG in the clipboard, we need to make sure the same bits that we write to the native clipboard come back to Chrome.
- Is it OK that only image/jpg (and maybe image/bmp) are available if you set a image/jpg to the clipboard?
- What about native apps? As highlighted above, Windows doesn't have the best support for compressed formats and there don't seem to be native clipboard formats for compressed images. As a consequence of this, to get copy jpg -> paste in Paint to work properly, it seems like we'd need to place a decompressed bitmap in the clipboard as well.
- Anything else I'm missing?
rs...@chromium.org <rs...@chromium.org> #11
Got it. Do you think you'd be able to get to it soon, or is there someone else who might be able to take it on?
dc...@chromium.org <dc...@chromium.org> #12
I'm happy to provide help in the form of design/code feedback, but you would have to find someone else to drive this. Sorry =(
rs...@chromium.org <rs...@chromium.org> #13
Do you have any suggestions for people? I'm unfortunately unfamiliar with the area.
rs...@chromium.org <rs...@chromium.org> #14
Ping on this again.
to...@chromium.org <to...@chromium.org> #15
[Empty comment from Monorail migration]
yj...@naver.com <yj...@naver.com> #16
good app!
[Deleted User] <[Deleted User]> #17
[Deleted User] <[Deleted User]> #18
[Deleted User] <[Deleted User]> #19
[Deleted User] <[Deleted User]> #20
[Deleted User] <[Deleted User]> #21
[Deleted User] <[Deleted User]> #22
[Deleted User] <[Deleted User]> #23
we need this option a lot
ni...@gmail.com <ni...@gmail.com> #24
fix it, pls
do...@gmail.com <do...@gmail.com> #25
I use this feature on a daily basis and want to see it fixed ASAP.
le...@lexisnexis.com <le...@lexisnexis.com> #26
Please fix. I rely on it to do my job on a daily basis. Thank you!
[Deleted User] <[Deleted User]> #27
es...@chromium.org <es...@chromium.org> #28
[Empty comment from Monorail migration]
rs...@chromium.org <rs...@chromium.org> #29
Hi folks, thanks for your interest in this issue. Unfortunately, just adding supporting comments without any extra substance only produces extra noise for our developers to wade through.
If you're interested in seeing this bug fixed, please feel free to star this issue. Thanks!
If you're interested in seeing this bug fixed, please feel free to star this issue. Thanks!
ka...@chromium.org <ka...@chromium.org> #30
[Empty comment from Monorail migration]
[Deleted User] <[Deleted User]> #31
[Empty comment from Monorail migration]
la...@google.com <la...@google.com> #32
[Empty comment from Monorail migration]
tk...@chromium.org <tk...@chromium.org> #33
[Empty comment from Monorail migration]
dg...@chromium.org <dg...@chromium.org> #34
[Empty comment from Monorail migration]
dg...@chromium.org <dg...@chromium.org> #35
[Empty comment from Monorail migration]
as...@chromium.org <as...@chromium.org> #36
[Empty comment from Monorail migration]
ow...@chromium.org <ow...@chromium.org> #37
Re-assigning to dknox for eventual owner finding as dcheng doesn't have cycles to drive this.
dk...@chromium.org <dk...@chromium.org> #38
Assigning to Saswat since he's currently looking for an owner in CrOS.
sa...@chromium.org <sa...@chromium.org> #39
Qiang will be our new eng owner with consultation from dcheng@
ab...@chromium.org <ab...@chromium.org> #40
[Empty comment from Monorail migration]
sh...@chromium.org <sh...@chromium.org> #41
[Empty comment from Monorail migration]
ab...@chromium.org <ab...@chromium.org> #42
[Empty comment from Monorail migration]
rb...@chromium.org <rb...@chromium.org> #43
Note that this is currently the #1 top starred blink bug. Any progress?
dc...@chromium.org <dc...@chromium.org> #44
There's spec work in progress that's required to unblock launching this as a web platform feature.
pw...@chromium.org <pw...@chromium.org> #45
[Empty comment from Monorail migration]
pw...@chromium.org <pw...@chromium.org> #46
[Empty comment from Monorail migration]
pw...@chromium.org <pw...@chromium.org> #47
[Empty comment from Monorail migration]
pw...@chromium.org <pw...@chromium.org> #48
[Empty comment from Monorail migration]
dc...@chromium.org <dc...@chromium.org> #49
[Empty comment from Monorail migration]
bu...@chromium.org <bu...@chromium.org> #50
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/6298fc54177c7f2919fc158a3b43e7a3e08f36fe
commit 6298fc54177c7f2919fc158a3b43e7a3e08f36fe
Author: jennyz <jennyz@chromium.org>
Date: Thu Jan 05 01:33:29 2017
Add SetImageData api to chrome.clipboard extension to allow js script to pass the png or jpeg encoded image data in ArrayBuffer to be written on chromeos clipboard.
BUG=150835
TBR=isherman
Review-Url:https://codereview.chromium.org/2379573008
Cr-Commit-Position: refs/heads/master@{#441546}
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/app/generated_resources.grd
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/browser/extensions/BUILD.gn
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/browser/extensions/api/chrome_extensions_api_client.cc
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/browser/extensions/api/chrome_extensions_api_client.h
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/browser/extensions/clipboard_extension_apitest_chromeos.cc
[add]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/browser/extensions/clipboard_extension_helper_chromeos.cc
[add]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/browser/extensions/clipboard_extension_helper_chromeos.h
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/browser/extensions/permission_message_combinations_unittest.cc
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/common/extensions/permissions/chrome_permission_message_rules.cc
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/common/extensions/permissions/permission_set_unittest.cc
[add]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/test/data/extensions/api_test/clipboard/set_image_data/app_main.html
[add]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/test/data/extensions/api_test/clipboard/set_image_data/main.js
[add]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/test/data/extensions/api_test/clipboard/set_image_data/manifest.json
[add]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/test/data/extensions/api_test/clipboard/set_image_data/test.js
[add]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/test/data/extensions/redirect_target.gif
[add]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/chrome/test/data/extensions/test.jpg
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/browser/api/BUILD.gn
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/browser/api/clipboard/clipboard_api.cc
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/browser/api/clipboard/clipboard_api.h
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/browser/api/extensions_api_client.cc
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/browser/api/extensions_api_client.h
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/browser/browser_context_keyed_service_factories.cc
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/browser/extension_function_histogram_value.h
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/common/api/_api_features.json
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/extensions/common/api/clipboard.idl
[modify]https://crrev.com/6298fc54177c7f2919fc158a3b43e7a3e08f36fe/tools/metrics/histograms/histograms.xml
commit 6298fc54177c7f2919fc158a3b43e7a3e08f36fe
Author: jennyz <jennyz@chromium.org>
Date: Thu Jan 05 01:33:29 2017
Add SetImageData api to chrome.clipboard extension to allow js script to pass the png or jpeg encoded image data in ArrayBuffer to be written on chromeos clipboard.
BUG=150835
TBR=isherman
Review-Url:
Cr-Commit-Position: refs/heads/master@{#441546}
[modify]
[modify]
[modify]
[modify]
[modify]
[add]
[add]
[modify]
[modify]
[modify]
[add]
[add]
[add]
[add]
[add]
[add]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
je...@chromium.org <je...@chromium.org> #51
[Empty comment from Monorail migration]
je...@chromium.org <je...@chromium.org> #53
[Empty comment from Monorail migration]
ph...@chromium.org <ph...@chromium.org> #54
#50 -
Sorry, but how come this is considered as fixed?
- The original request was to be able to copy images to the clipboard in web pages (not extensions).
- The original request applied to all of the platforms, not Chrome OS.
Please, do not piggyback on web platform bugs/feature requests for extension API implementations.
Please, reopen this.
Sorry, but how come this is considered as fixed?
- The original request was to be able to copy images to the clipboard in web pages (not extensions).
- The original request applied to all of the platforms, not Chrome OS.
Please, do not piggyback on web platform bugs/feature requests for extension API implementations.
Please, reopen this.
pw...@chromium.org <pw...@chromium.org> #55
Per #50, I'll reopen the issue. I'm happy to watch over it, as I inherited DataTransfer from dcheng.
I think the work in #48 is important and a good step forward. However, as #50 mentioned, it is not (yet) applicable to the Web platform. Perhaps it is worth opening a different bug to track launching the extension API?
FWIW, I also considered repurposing this bug to represent the extension API work, but that didn't seem appropriate, given the high number of stars. I imagine that the people who starred the bug want to track the work of adding image copying support to the Web platform.
I think the work in #48 is important and a good step forward. However, as #50 mentioned, it is not (yet) applicable to the Web platform. Perhaps it is worth opening a different bug to track launching the extension API?
FWIW, I also considered repurposing this bug to represent the extension API work, but that didn't seem appropriate, given the high number of stars. I imagine that the people who starred the bug want to track the work of adding image copying support to the Web platform.
je...@chromium.org <je...@chromium.org> #56
I have filed a separate https://crbug.com/chromium/678794 for the solution we had on chromeos only.
je...@chromium.org <je...@chromium.org> #57
[Empty comment from Monorail migration]
dk...@chromium.org <dk...@chromium.org> #58
+lgarron, +dahlke
Jon - IIRC, wasn't someone on your team going to be looking into this for the whole web platform?
Jon - IIRC, wasn't someone on your team going to be looking into this for the whole web platform?
dk...@chromium.org <dk...@chromium.org> #59
[Empty comment from Monorail migration]
lg...@chromium.org <lg...@chromium.org> #60
yo...@chromium.org <yo...@chromium.org> #61
[Empty comment from Monorail migration]
[Monorail components: -Blink>Editing]
[Monorail components: -Blink>Editing]
yu...@chromium.org <yu...@chromium.org> #62
Marked as WontFix.
I did the following steps:
1: Right click on an image on a web papge
2: Select "copy image" from context menu
3: Paste to Gmail composer / Google docs
And then the image appeared as expected.
Please correct me if I'm missing anything here.
I did the following steps:
1: Right click on an image on a web papge
2: Select "copy image" from context menu
3: Paste to Gmail composer / Google docs
And then the image appeared as expected.
Please correct me if I'm missing anything here.
dc...@chromium.org <dc...@chromium.org> #63
This bug is for allowing a JS copy event handler to write an image to the clipboard.
ph...@chromium.org <ph...@chromium.org> #64
[Empty comment from Monorail migration]
ph...@chromium.org <ph...@chromium.org> #65
[Empty comment from Monorail migration]
yo...@chromium.org <yo...@chromium.org> #66
dcheng@ and phistuck@, thanks for clarification. Update summary makes us to have clear idea.
So, we need to do two thing:
blink
- DataTransferItemList::add(data, type) to accept image/{jpeg,png,gif,...}
- DataObjectItem to support blob with mime type
content and ui
- Pass mime type w/ blob to renderer process to browser process
- Write blob to clipboard w/ platform specific image type based on mime type
Is this list correct?
Here current flow of writing image to clipboard:
1. blink::Pasteboard::writeImage
2. blink::WebClipboard::writeImage
3. content::WebClipboardImpl::writeImage
4. content:: RendererClipboardDelegate::WriteImage
Send IPC: ClipboardHostMsg_WriteImage
Browser Process
5. content::ClipboardMessageFilter::OnWriteImage
6. ui::ScopedClipboardWriter::WriteImage(const SkiBitmap&)
Do we need to pass original image format?
7. ui::Clipboard::WriteObjects
8. ui::Clipboard{Android,Aura,AuraX11,Mac,Win}::WriteObjects
9. ui::Clipboard::DispatchObject()
10. ui::ClipboardXXX::WriteBitmap(SkiBitmap*)
So, we need to do two thing:
blink
- DataTransferItemList::add(data, type) to accept image/{jpeg,png,gif,...}
- DataObjectItem to support blob with mime type
content and ui
- Pass mime type w/ blob to renderer process to browser process
- Write blob to clipboard w/ platform specific image type based on mime type
Is this list correct?
Here current flow of writing image to clipboard:
1. blink::Pasteboard::writeImage
2. blink::WebClipboard::writeImage
3. content::WebClipboardImpl::writeImage
4. content:: RendererClipboardDelegate::WriteImage
Send IPC: ClipboardHostMsg_WriteImage
Browser Process
5. content::ClipboardMessageFilter::OnWriteImage
6. ui::ScopedClipboardWriter::WriteImage(const SkiBitmap&)
Do we need to pass original image format?
7. ui::Clipboard::WriteObjects
8. ui::Clipboard{Android,Aura,AuraX11,Mac,Win}::WriteObjects
9. ui::Clipboard::DispatchObject()
10. ui::ClipboardXXX::WriteBitmap(SkiBitmap*)
do...@chromium.org <do...@chromium.org> #67
I believe for security there needs to be some validation of the content being stuffed on the clipboard.
ko...@chromium.org <ko...@chromium.org> #68
According to the clipboard API spec,
https://w3c.github.io/clipboard-apis/#writing-to-clipboard
"image/svg+xml" is the only image format among those specified there,
and I'm not sure it is supported by Chrome.
It also means, standardization effort is also included in this issue?
I am curious if any of other browsers support exporting non "image/svg+xml"
image formats for Clipboard API.
"image/svg+xml" is the only image format among those specified there,
and I'm not sure it is supported by Chrome.
It also means, standardization effort is also included in this issue?
I am curious if any of other browsers support exporting non "image/svg+xml"
image formats for Clipboard API.
[Deleted User] <[Deleted User]> #69
We just write it as text/plain to workaround the svg limitation, but then callers have to parse the text to detect SVG. That's not ideal in the long run.
I'm just amazed SVG/PDF and other vector formats can't be put on the clipboard. These are images or hold images inside them, but web-based design tools need a mechanism to get these to other apps. For now, PWA will just have to try to bypass the sandbox that restricts these reasonable interactions.
I'm just amazed SVG/PDF and other vector formats can't be put on the clipboard. These are images or hold images inside them, but web-based design tools need a mechanism to get these to other apps. For now, PWA will just have to try to bypass the sandbox that restricts these reasonable interactions.
dk...@chromium.org <dk...@chromium.org> #70
What is the current status of the work here? #66 suggests that we may need to do some standardization work to support additional image formats in the clipboard API. Is that correct or are we able to proceed with implementing?
If we can proceed, is there an owner we can move this bug to?
If we can proceed, is there an owner we can move this bug to?
lg...@chromium.org <lg...@chromium.org> #71
Last I heard, we were not comfortable letting sites write any image MIME types to the clipboard without sanitizing/re-rasterizing.
I don't know if that applies to SVG, although I imagine it would (SVG parsers can have vulns, too).
dcheng@ would know the latest.
I don't know if that applies to SVG, although I imagine it would (SVG parsers can have vulns, too).
dcheng@ would know the latest.
dc...@chromium.org <dc...@chromium.org> #72
Well, we allow webapps to put raw HTML into the clipboard, so I think we'd probably be semi-comfortable with SVG. We may still want to make sure "interesting" constructs are stripped out due to the XML representation though: a quick search for SVG XXE reveals a number of bugs, so emitting a filtered representation might not be a bad idea.
dk...@chromium.org <dk...@chromium.org> #73
Thanks for this additional information! Would we be able to move forward with supporting all image types assuming that we added the filtering/re-rastering step? If so, @lgarron are you the one who would take on that work?
pw...@chromium.org <pw...@chromium.org> #74
garykac: It seems that you're working on this.
[Deleted User] <[Deleted User]> #75
We really don't want the images "sanitized" if they're coming from our content creation tool, or the user really needs the original metadata from the image that we put on the clipboard.
At this point, though, I'll take anything other than having these filtered. Allow application/pdf to be received on execcommand("paste"), and allow image/png, image/jpg, application/pdf, and image/svg+xml to be put onto the clipboard. execcommand("copy") already works for SVG.
At this point, though, I'll take anything other than having these filtered. Allow application/pdf to be received on execcommand("paste"), and allow image/png, image/jpg, application/pdf, and image/svg+xml to be put onto the clipboard. execcommand("copy") already works for SVG.
js...@chromium.org <js...@chromium.org> #76
[Empty comment from Monorail migration]
rb...@chromium.org <rb...@chromium.org> #77
[Empty comment from Monorail migration]
pw...@chromium.org <pw...@chromium.org> #78
[Empty comment from Monorail migration]
lu...@chromium.org <lu...@chromium.org> #79
[Empty comment from Monorail migration]
js...@chromium.org <js...@chromium.org> #80
[Empty comment from Monorail migration]
dx...@google.com <dx...@google.com> #81
[Empty comment from Monorail migration]
js...@chromium.org <js...@chromium.org> #82
[Empty comment from Monorail migration]
js...@chromium.org <js...@chromium.org> #83
[Empty comment from Monorail migration]
dx...@chromium.org <dx...@chromium.org> #84
[Empty comment from Monorail migration]
ch...@chromium.org <ch...@chromium.org> #85
[Empty comment from Monorail migration]
hu...@google.com <hu...@google.com> #86
[Empty comment from Monorail migration]
hu...@chromium.org <hu...@chromium.org> #87
[Empty comment from Monorail migration]
hu...@chromium.org <hu...@chromium.org> #88
[Empty comment from Monorail migration]
bu...@chromium.org <bu...@chromium.org> #89
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/9394e0a07007e81706e7257d75966e6c95af435b
commit 9394e0a07007e81706e7257d75966e6c95af435b
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Tue Jan 15 04:21:41 2019
Async Clipboard: ReadImageExperimental/WriteImageExperimental
API Goal:
- Async Clipboard functionality to ReadImageExperimental() and WriteImageExperimental()
- JS layer will send Blobs with MIME type "image/png"
- Images will be "safe", as we'll re-encode to strip potentially dangerous
metadata and protect from arbitrary code execution. Only image types
supported by the Skia library will be supported for this initial POC.
- First release into experimental with this ReadImageExperimental()/WriteImageExperimental()
- Later integrate into Read()/Write() and remove ReadImageExperimental()/WriteImageExperimental()
Features:
- FileReader used to read Blobs asynchronously.
- Image Decoding on a separate thread.
- Image read/write accomplished, where Images are represented by Blobs holding
MIME type "image/png"
Bug: 150835
Change-Id: I4380116642b4720bb9773185eb2e28757688c5ec
Reviewed-on:https://chromium-review.googlesource.com/c/1345090
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622726}
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/core/clipboard/system_clipboard.cc
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/core/clipboard/system_clipboard.h
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/core/editing/editing_utilities.cc
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/modules/clipboard/BUILD.gn
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/modules/clipboard/clipboard.cc
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/modules/clipboard/clipboard.h
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/modules/clipboard/clipboard.idl
[add]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/modules/clipboard/clipboard_file_reader.cc
[add]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/modules/clipboard/clipboard_file_reader.h
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/modules/clipboard/clipboard_promise.h
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/web_tests/NeverFixTests
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/web_tests/external/wpt/clipboard-apis/async-navigator-clipboard-basics.https.html
[add]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-image-read-image-manual.https.html
[add]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/web_tests/external/wpt/clipboard-apis/resources/greenbox.png
[modify]https://crrev.com/9394e0a07007e81706e7257d75966e6c95af435b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
commit 9394e0a07007e81706e7257d75966e6c95af435b
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Tue Jan 15 04:21:41 2019
Async Clipboard: ReadImageExperimental/WriteImageExperimental
API Goal:
- Async Clipboard functionality to ReadImageExperimental() and WriteImageExperimental()
- JS layer will send Blobs with MIME type "image/png"
- Images will be "safe", as we'll re-encode to strip potentially dangerous
metadata and protect from arbitrary code execution. Only image types
supported by the Skia library will be supported for this initial POC.
- First release into experimental with this ReadImageExperimental()/WriteImageExperimental()
- Later integrate into Read()/Write() and remove ReadImageExperimental()/WriteImageExperimental()
Features:
- FileReader used to read Blobs asynchronously.
- Image Decoding on a separate thread.
- Image read/write accomplished, where Images are represented by Blobs holding
MIME type "image/png"
Bug: 150835
Change-Id: I4380116642b4720bb9773185eb2e28757688c5ec
Reviewed-on:
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622726}
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[add]
[add]
[modify]
[modify]
[modify]
[modify]
[modify]
[add]
[add]
[modify]
ph...@gmail.com <ph...@gmail.com> #90
Just to make sure - reading images will not re-encode them, right (users can paste any file - unmodified I think - nowadays with the legacy clipboard API)? Only writing images to the clipboard will re-encode them, right?
pw...@chromium.org <pw...@chromium.org> #91
Yes, that is the plan.
bu...@chromium.org <bu...@chromium.org> #92
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/23e4dacc93f11c419056e798308c2c22dc5b14da
commit 23e4dacc93f11c419056e798308c2c22dc5b14da
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri Jan 18 20:51:39 2019
Async Clipboard: Change readImage/writeImage from test to experimental
- Allows for testing and subsequent feedback of this experimental feature via
the enable-experimental-web-platform-features flag.
- Note that this feature may change at any moment without notice, as warned
about in the flag description.
Bug: 150835
Change-Id: If03c2dc0d4d2f3d3131ed4d0222f2f92b413d0b5
Reviewed-on:https://chromium-review.googlesource.com/c/1419103
Auto-Submit: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624271}
[modify]https://crrev.com/23e4dacc93f11c419056e798308c2c22dc5b14da/third_party/blink/renderer/platform/runtime_enabled_features.json5
commit 23e4dacc93f11c419056e798308c2c22dc5b14da
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri Jan 18 20:51:39 2019
Async Clipboard: Change readImage/writeImage from test to experimental
- Allows for testing and subsequent feedback of this experimental feature via
the enable-experimental-web-platform-features flag.
- Note that this feature may change at any moment without notice, as warned
about in the flag description.
Bug: 150835
Change-Id: If03c2dc0d4d2f3d3131ed4d0222f2f92b413d0b5
Reviewed-on:
Auto-Submit: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624271}
[modify]
na...@google.com <na...@google.com> #93
[Empty comment from Monorail migration]
na...@google.com <na...@google.com> #94
[Empty comment from Monorail migration]
js...@google.com <js...@google.com> #95
[Empty comment from Monorail migration]
hu...@chromium.org <hu...@chromium.org> #96
[Empty comment from Monorail migration]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #97
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/f6c93639c81811225662e9d293cb9875be89da74
commit f6c93639c81811225662e9d293cb9875be89da74
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri Feb 08 05:27:46 2019
Async Clipboard: Integrate readImage/writeImage into generic read/write
- read/write now use Blobs instead of DataTransfer, and can only read/write one
type at a time.
- read/write can now read/write images in addition to existing text support.
- readImageExperimental and writeImageExperimental removed.
- Images will be encoded in the same manner as before this CL, whereas text
will be emitted with utf-8 encoding.
- read will prefer to return an image if one is available, and will return text
otherwise.
- Relevant tests updated.
Future Work:
- Use vectors or lists or some collection of Blobs to read/write many types at
a time, to work towards feature parity with DataTransfer.
Bug: 916823, 150835
Change-Id: I89d12ba137954731acb7180ac2fb6d15b0c264ae
Reviewed-on:https://chromium-review.googlesource.com/c/1435220
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#630205}
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/renderer/modules/clipboard/clipboard.cc
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/renderer/modules/clipboard/clipboard.h
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/renderer/modules/clipboard/clipboard.idl
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/renderer/modules/clipboard/clipboard_file_reader.cc
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/renderer/modules/clipboard/clipboard_file_reader.h
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/renderer/modules/clipboard/clipboard_promise.h
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/NeverFixTests
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/clipboard/async-clipboard/async-navigator-clipboard-basics.https.html
[add]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/clipboard/async-clipboard/async-write-blobtext-read-blobtext.https.html
[add]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/clipboard/async-clipboard/async-write-blobtext-read-text.https.html
[delete]https://crrev.com/9d5fac8062618642087ace76e7c69648677aa0a1/third_party/blink/web_tests/clipboard/async-clipboard/async-write-dttext-read-dttext.https.html
[delete]https://crrev.com/9d5fac8062618642087ace76e7c69648677aa0a1/third_party/blink/web_tests/clipboard/async-clipboard/async-write-dttext-read-text.https.html
[add]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/clipboard/async-clipboard/async-write-text-read-blobtext.https.html
[delete]https://crrev.com/9d5fac8062618642087ace76e7c69648677aa0a1/third_party/blink/web_tests/clipboard/async-clipboard/async-write-text-read-dttext.https.html
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/clipboard/async-clipboard/async-write-text-read-text.https.html
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/clipboard/async-clipboard/readtext-denied.https.html
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/clipboard/async-clipboard/writetext-denied.https.html
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/external/wpt/clipboard-apis/async-navigator-clipboard-basics.https.html
[add]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobtext-read-blobtext-manual.https.html
[add]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobtext-read-text-manual.https.html
[delete]https://crrev.com/9d5fac8062618642087ace76e7c69648677aa0a1/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-dttext-read-dttext-manual.https.html
[delete]https://crrev.com/9d5fac8062618642087ace76e7c69648677aa0a1/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-dttext-read-text-manual.https.html
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-image-read-image-manual.https.html
[add]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-text-read-blobtext-manual.https.html
[delete]https://crrev.com/9d5fac8062618642087ace76e7c69648677aa0a1/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-text-read-dttext-manual.https.html
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-text-read-text-manual.https.html
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/http/tests/clipboard/async-write-image-read-image.html
[modify]https://crrev.com/f6c93639c81811225662e9d293cb9875be89da74/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
commit f6c93639c81811225662e9d293cb9875be89da74
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri Feb 08 05:27:46 2019
Async Clipboard: Integrate readImage/writeImage into generic read/write
- read/write now use Blobs instead of DataTransfer, and can only read/write one
type at a time.
- read/write can now read/write images in addition to existing text support.
- readImageExperimental and writeImageExperimental removed.
- Images will be encoded in the same manner as before this CL, whereas text
will be emitted with utf-8 encoding.
- read will prefer to return an image if one is available, and will return text
otherwise.
- Relevant tests updated.
Future Work:
- Use vectors or lists or some collection of Blobs to read/write many types at
a time, to work towards feature parity with DataTransfer.
Bug: 916823, 150835
Change-Id: I89d12ba137954731acb7180ac2fb6d15b0c264ae
Reviewed-on:
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#630205}
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[add]
[add]
[delete]
[delete]
[add]
[delete]
[modify]
[modify]
[modify]
[modify]
[add]
[add]
[delete]
[delete]
[modify]
[add]
[delete]
[modify]
[modify]
[modify]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #98
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/e8da7bf151cacd646a82215ba214de8eb0654ab5
commit e8da7bf151cacd646a82215ba214de8eb0654ab5
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Tue Feb 12 22:35:33 2019
Async Clipboard: Specify exceptions
- Previously, async clipboard promise rejections had no DOMException tied to
them. This CL adds exceptions for when async clipboard operations fail.
- These are simply mock exceptions until more precise exceptions are added into
the spec.
Bug: 150835
Change-Id: I3f4352352f48274ca659672d455d92801d89919e
Reviewed-on:https://chromium-review.googlesource.com/c/1464077
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631416}
[modify]https://crrev.com/e8da7bf151cacd646a82215ba214de8eb0654ab5/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
[modify]https://crrev.com/e8da7bf151cacd646a82215ba214de8eb0654ab5/third_party/blink/web_tests/clipboard/async-clipboard/readtext-denied.https.html
[modify]https://crrev.com/e8da7bf151cacd646a82215ba214de8eb0654ab5/third_party/blink/web_tests/clipboard/async-clipboard/writetext-denied.https.html
commit e8da7bf151cacd646a82215ba214de8eb0654ab5
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Tue Feb 12 22:35:33 2019
Async Clipboard: Specify exceptions
- Previously, async clipboard promise rejections had no DOMException tied to
them. This CL adds exceptions for when async clipboard operations fail.
- These are simply mock exceptions until more precise exceptions are added into
the spec.
Bug: 150835
Change-Id: I3f4352352f48274ca659672d455d92801d89919e
Reviewed-on:
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631416}
[modify]
[modify]
[modify]
hu...@chromium.org <hu...@chromium.org> #99
[Empty comment from Monorail migration]
hu...@chromium.org <hu...@chromium.org> #100
[Empty comment from Monorail migration]
gr...@google.com <gr...@google.com> #101
[Empty comment from Monorail migration]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #102
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/097a951abd7860696c11175b3879967bc8adaa4d
commit 097a951abd7860696c11175b3879967bc8adaa4d
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri Mar 08 04:36:24 2019
Async Clipboard: Read/Write Blob->sequence<Blob>
- read(Blob) updated to read(sequence<Blob>).
- write() returns sequence<Blob> instead of Blob now.
- All available and valid types are returned in read() or allowed for write().
- Tests updated and added for these API changes.
Also:
- Updated header file function ordering.
- Duplicate MIME types not allowed on write (consistent w/existing clipboard).
Bug: 150835
Change-Id: I5b08e648a5313222552757dfa6fa0db6a7e46f68
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1471492
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#638905}
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/renderer/core/clipboard/system_clipboard.cc
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/renderer/core/clipboard/system_clipboard.h
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/renderer/modules/clipboard/clipboard.cc
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/renderer/modules/clipboard/clipboard.h
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/renderer/modules/clipboard/clipboard.idl
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/renderer/modules/clipboard/clipboard_promise.h
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/NeverFixTests
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/clipboard/async-clipboard/async-navigator-clipboard-basics.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/clipboard/async-clipboard/async-write-blobtext-read-blobtext.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/clipboard/async-clipboard/async-write-blobtext-read-text.https.html
[add]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/clipboard/async-clipboard/async-write-duplicate-mime-type.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/clipboard/async-clipboard/async-write-text-read-blobtext.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/clipboard/async-clipboard/writetext-denied.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/external/wpt/clipboard-apis/async-navigator-clipboard-basics.https.html
[add]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobs-read-blobs-manual.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobtext-read-blobtext-manual.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobtext-read-text-manual.https.html
[add]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-duplicate-mime-type-manual.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-image-read-image-manual.https.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-text-read-blobtext-manual.https.html
[add]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/http/tests/clipboard/async-write-blobs-read-blobs.html
[modify]https://crrev.com/097a951abd7860696c11175b3879967bc8adaa4d/third_party/blink/web_tests/http/tests/clipboard/async-write-image-read-image.html
commit 097a951abd7860696c11175b3879967bc8adaa4d
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri Mar 08 04:36:24 2019
Async Clipboard: Read/Write Blob->sequence<Blob>
- read(Blob) updated to read(sequence<Blob>).
- write() returns sequence<Blob> instead of Blob now.
- All available and valid types are returned in read() or allowed for write().
- Tests updated and added for these API changes.
Also:
- Updated header file function ordering.
- Duplicate MIME types not allowed on write (consistent w/existing clipboard).
Bug: 150835
Change-Id: I5b08e648a5313222552757dfa6fa0db6a7e46f68
Reviewed-on:
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#638905}
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[add]
[modify]
[modify]
[modify]
[add]
[modify]
[modify]
[add]
[modify]
[modify]
[add]
[modify]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #103
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/348c5d586e2729d95859dfd3cf0ca5d54bc62d41
commit 348c5d586e2729d95859dfd3cf0ca5d54bc62d41
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Tue Mar 19 23:43:19 2019
Async Clipboard: Update read/write to use a record instead of sequence
- Update read/write functions and tests to be closer to the future intended API
surface, as described by the explainer:
https://docs.google.com/document/d/1lpi3-9vBP_1b7hZc2xBs0s_HaACJ6UigZZqHlJSNeJg/edit
- Remove uniqueness checks, as the JS dictionary type will enforce this.
Bug: 150835
Change-Id: I8735b89b3d84496722812900d094987d819c30c2
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1529127
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#642262}
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/renderer/modules/clipboard/clipboard.cc
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/renderer/modules/clipboard/clipboard.h
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/renderer/modules/clipboard/clipboard.idl
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/renderer/modules/clipboard/clipboard_promise.h
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/NeverFixTests
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/clipboard/async-clipboard/async-navigator-clipboard-basics.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/clipboard/async-clipboard/async-write-blobtext-read-blobtext.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/clipboard/async-clipboard/async-write-blobtext-read-text.https.html
[delete]https://crrev.com/2ff0cc57b647f32a527460b97d4efd12779f7276/third_party/blink/web_tests/clipboard/async-clipboard/async-write-duplicate-mime-type.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/clipboard/async-clipboard/async-write-text-read-blobtext.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/external/wpt/clipboard-apis/async-navigator-clipboard-basics.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobs-read-blobs-manual.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobtext-read-blobtext-manual.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobtext-read-text-manual.https.html
[delete]https://crrev.com/2ff0cc57b647f32a527460b97d4efd12779f7276/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-duplicate-mime-type-manual.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-image-read-image-manual.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-text-read-blobtext-manual.https.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/http/tests/clipboard/async-write-blobs-read-blobs.html
[modify]https://crrev.com/348c5d586e2729d95859dfd3cf0ca5d54bc62d41/third_party/blink/web_tests/http/tests/clipboard/async-write-image-read-image.html
commit 348c5d586e2729d95859dfd3cf0ca5d54bc62d41
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Tue Mar 19 23:43:19 2019
Async Clipboard: Update read/write to use a record instead of sequence
- Update read/write functions and tests to be closer to the future intended API
surface, as described by the explainer:
- Remove uniqueness checks, as the JS dictionary type will enforce this.
Bug: 150835
Change-Id: I8735b89b3d84496722812900d094987d819c30c2
Reviewed-on:
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#642262}
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[delete]
[modify]
[modify]
[modify]
[modify]
[modify]
[delete]
[modify]
[modify]
[modify]
[modify]
js...@chromium.org <js...@chromium.org> #104
[Empty comment from Monorail migration]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #105
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/4a2ce1efa2e3c1146ab146312acd5c1c9c02809b
commit 4a2ce1efa2e3c1146ab146312acd5c1c9c02809b
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri Apr 05 02:18:01 2019
Async Clipboard: Split out Clipboard type-specific logic for Encoding/Decoding.
- clipboard-type-dependent code mostly split out to
ClipboardReader/ClipboardWriter.
- ClipboardWriter/ClipboardReader have two child/sub/derived classes,
one for images and one for text.
- Also did minor refactoring, like appending a '_' for the clipboard
promise's sequence checker and removing the clipboardtype member var.
Bug: 150835
Change-Id: Ic870db9b5a0be7635419330d1c24b96eb51f0edb
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1535339
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#648039}
[modify]https://crrev.com/4a2ce1efa2e3c1146ab146312acd5c1c9c02809b/third_party/blink/renderer/modules/clipboard/BUILD.gn
[delete]https://crrev.com/82deafbd724b23648efe875da5577557d1dc446d/third_party/blink/renderer/modules/clipboard/clipboard_file_reader.cc
[delete]https://crrev.com/82deafbd724b23648efe875da5577557d1dc446d/third_party/blink/renderer/modules/clipboard/clipboard_file_reader.h
[modify]https://crrev.com/4a2ce1efa2e3c1146ab146312acd5c1c9c02809b/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
[modify]https://crrev.com/4a2ce1efa2e3c1146ab146312acd5c1c9c02809b/third_party/blink/renderer/modules/clipboard/clipboard_promise.h
[add]https://crrev.com/4a2ce1efa2e3c1146ab146312acd5c1c9c02809b/third_party/blink/renderer/modules/clipboard/clipboard_reader.cc
[add]https://crrev.com/4a2ce1efa2e3c1146ab146312acd5c1c9c02809b/third_party/blink/renderer/modules/clipboard/clipboard_reader.h
[add]https://crrev.com/4a2ce1efa2e3c1146ab146312acd5c1c9c02809b/third_party/blink/renderer/modules/clipboard/clipboard_writer.cc
[add]https://crrev.com/4a2ce1efa2e3c1146ab146312acd5c1c9c02809b/third_party/blink/renderer/modules/clipboard/clipboard_writer.h
commit 4a2ce1efa2e3c1146ab146312acd5c1c9c02809b
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri Apr 05 02:18:01 2019
Async Clipboard: Split out Clipboard type-specific logic for Encoding/Decoding.
- clipboard-type-dependent code mostly split out to
ClipboardReader/ClipboardWriter.
- ClipboardWriter/ClipboardReader have two child/sub/derived classes,
one for images and one for text.
- Also did minor refactoring, like appending a '_' for the clipboard
promise's sequence checker and removing the clipboardtype member var.
Bug: 150835
Change-Id: Ic870db9b5a0be7635419330d1c24b96eb51f0edb
Reviewed-on:
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#648039}
[modify]
[delete]
[delete]
[modify]
[modify]
[add]
[add]
[add]
[add]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #106
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/81ae501d391106c24b9b1e05165dc356c396b85e
commit 81ae501d391106c24b9b1e05165dc356c396b85e
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Wed Apr 17 19:04:23 2019
Async Clipboard: Create ClipboardItem and use for read/write.
- Creates a ClipboardItem.
- Uses ClipboardItem for navigator.clipboard.{read,write}()
- Updates navigator.clipboard tests and adds ClipboardItem tests.
- Final CL for shipping new Async Clipboard API w/image support! :D
Bug: 150835
Change-Id: Ic7059fbbb87c60487af8ad0d8a9e5ab92978f8f7
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1553383
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#651837}
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/BUILD.gn
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/clipboard.cc
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/clipboard.h
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/clipboard.idl
[add]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/clipboard_item.cc
[add]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/clipboard_item.h
[add]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/clipboard_item.idl
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/clipboard_promise.cc
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/clipboard/clipboard_promise.h
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/renderer/modules/modules_idl_files.gni
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/clipboard/async-clipboard/async-navigator-clipboard-basics.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/clipboard/async-clipboard/async-write-blobtext-read-blobtext.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/clipboard/async-clipboard/async-write-blobtext-read-text.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/clipboard/async-clipboard/async-write-text-read-blobtext.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/external/wpt/clipboard-apis/async-interfaces.https-expected.txt
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/external/wpt/clipboard-apis/async-navigator-clipboard-basics.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobs-read-blobs-manual.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobtext-read-blobtext-manual.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-blobtext-read-text-manual.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-image-read-image-manual.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/external/wpt/clipboard-apis/async-write-text-read-blobtext-manual.https.html
[add]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/external/wpt/clipboard-apis/clipboard-item.https.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/http/tests/clipboard/async-write-blobs-read-blobs.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/http/tests/clipboard/async-write-image-read-image.html
[modify]https://crrev.com/81ae501d391106c24b9b1e05165dc356c396b85e/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
commit 81ae501d391106c24b9b1e05165dc356c396b85e
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Wed Apr 17 19:04:23 2019
Async Clipboard: Create ClipboardItem and use for read/write.
- Creates a ClipboardItem.
- Uses ClipboardItem for navigator.clipboard.{read,write}()
- Updates navigator.clipboard tests and adds ClipboardItem tests.
- Final CL for shipping new Async Clipboard API w/image support! :D
Bug: 150835
Change-Id: Ic7059fbbb87c60487af8ad0d8a9e5ab92978f8f7
Reviewed-on:
Reviewed-by: Gary Kacmarcik <garykac@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Darwin Huang <huangdarwin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#651837}
[modify]
[modify]
[modify]
[modify]
[add]
[add]
[add]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[modify]
[add]
[modify]
[modify]
[modify]
pw...@chromium.org <pw...@chromium.org> #107
[Empty comment from Monorail migration]
hu...@chromium.org <hu...@chromium.org> #108
[Empty comment from Monorail migration]
js...@chromium.org <js...@chromium.org> #109
Updated target ship milestone. Waiting on TAG review.
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #110
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/c9f372c908bb51a8028ca12eec6d2e92f7699b26
commit c9f372c908bb51a8028ca12eec6d2e92f7699b26
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri May 31 19:58:17 2019
Async Clipboard: Remove experimental flag from navigator.clipboard.{read,write}
Enables the Async Clipboard API's read and write functions, with ClipboardItem,
on stable, by updating runtime_enabled_features flags from experimental to stable.
Spec:https://w3c.github.io/clipboard-apis/#async-clipboard-api
Intent to Ship:https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/TssvWe8TzBc
Bug: 150835
Change-Id: I602defa5f300832c2322e3dccb444b4c807311ef
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1567224
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#665227}
[modify]https://crrev.com/c9f372c908bb51a8028ca12eec6d2e92f7699b26/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify]https://crrev.com/c9f372c908bb51a8028ca12eec6d2e92f7699b26/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
commit c9f372c908bb51a8028ca12eec6d2e92f7699b26
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Fri May 31 19:58:17 2019
Async Clipboard: Remove experimental flag from navigator.clipboard.{read,write}
Enables the Async Clipboard API's read and write functions, with ClipboardItem,
on stable, by updating runtime_enabled_features flags from experimental to stable.
Spec:
Intent to Ship:
Bug: 150835
Change-Id: I602defa5f300832c2322e3dccb444b4c807311ef
Reviewed-on:
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#665227}
[modify]
[modify]
pw...@chromium.org <pw...@chromium.org> #111
Requesting permission to merge https://crrev.com/c/1567224 to M76. We missed the branch due to logistical issues (I didn't add a reviewer to the CL correctly), and this is a highly anticipated feature that was targeted for M76.
The CL enables a feature that has been available under the "Enable experimental Web Platform features" flag since M75, so we think that the code is solid and there are no crashers lurking in there.
The CL enables a feature that has been available under the "Enable experimental Web Platform features" flag since M75, so we think that the code is solid and there are no crashers lurking in there.
sh...@chromium.org <sh...@chromium.org> #112
This bug requires manual review: There is .json file changes and we are only 59 days from stable. Please confirm this does not require string translation.
Before a merge request will be considered, the following information is required to be added to this bug:
1. Does your merge fit within the Merge Decision Guidelines?
- Chrome:https://goto.google.com/chrome-release-branch-merge-guidelines
- Chrome OS:https://goto.google.com/cros-release-branch-merge-guidelines
2. Links to the CLs you are requesting to merge.
3. Has the change landed and been verified on master/ToT?
4. Why are these changes required in this milestone after branch?
5. Is this a new feature?
6. If it is a new feature, is it behind a flag using finch?
Please contact the milestone owner if you have questions.
Owners: govind@(Android), kariahda@(iOS), cindyb@(ChromeOS), abdulsyed@(Desktop)
For more details visithttps://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Before a merge request will be considered, the following information is required to be added to this bug:
1. Does your merge fit within the Merge Decision Guidelines?
- Chrome:
- Chrome OS:
2. Links to the CLs you are requesting to merge.
3. Has the change landed and been verified on master/ToT?
4. Why are these changes required in this milestone after branch?
5. Is this a new feature?
6. If it is a new feature, is it behind a flag using finch?
Please contact the milestone owner if you have questions.
Owners: govind@(Android), kariahda@(iOS), cindyb@(ChromeOS), abdulsyed@(Desktop)
For more details visit
pw...@chromium.org <pw...@chromium.org> #113
Removing the Check-String-Translation label. This CL enables a Web Platform feature that has been code-complete since M75. Furthermore, the Web Platform feature does not add new UI (confirmation prompts, etc.)
1. Does your merge fit within the Merge Decision Guidelines?
- Chrome:https://goto.google.com/chrome-release-branch-merge-guidelines
Yes.
This CL enables a feature that has been available behind a flag since M75.
2. Links to the CLs you are requesting to merge.
https://crrev.com/c/1567224
3. Has the change landed and been verified on master/ToT?
Yes
4. Why are these changes required in this milestone after branch?
We missed the branch by one day due to logistical issues. I intended to ask chrishtr@ to review the CL on 05/30 at 1pm [1], but didn't add the email to the reviewer list correctly. I only realized this on 05/31 at 6pm, and asked for a review then [2]. The CL landed on 05/31 [3]. This CL enables an API that has significant developer demand -- this bug currently has 1878 stars. The API was promised for M76, and we would like to deliver on that promise.
5. Is this a new feature?
No.
6. If it is a new feature, is it behind a flag using finch?
N/A
[1]https://chromium-review.googlesource.com/c/chromium/src/+/1567224/6#message-c1885e558254a9c20e13d28aa390b740e79550cc
[2]https://chromium-review.googlesource.com/c/chromium/src/+/1567224/6#message-bbccbfa2b1e7cf76df78d403fbe6227eb1f58ea1
[3]https://chromium-review.googlesource.com/c/chromium/src/+/1567224/6#message-9e4274718e3efa4f1d97b924714a0ead373739d0
1. Does your merge fit within the Merge Decision Guidelines?
- Chrome:
Yes.
This CL enables a feature that has been available behind a flag since M75.
2. Links to the CLs you are requesting to merge.
3. Has the change landed and been verified on master/ToT?
Yes
4. Why are these changes required in this milestone after branch?
We missed the branch by one day due to logistical issues. I intended to ask chrishtr@ to review the CL on 05/30 at 1pm [1], but didn't add the email to the reviewer list correctly. I only realized this on 05/31 at 6pm, and asked for a review then [2]. The CL landed on 05/31 [3]. This CL enables an API that has significant developer demand -- this bug currently has 1878 stars. The API was promised for M76, and we would like to deliver on that promise.
5. Is this a new feature?
No.
6. If it is a new feature, is it behind a flag using finch?
N/A
[1]
[2]
[3]
bu...@chops-service-accounts.iam.gserviceaccount.com <bu...@chops-service-accounts.iam.gserviceaccount.com> #114
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/522805d749a04c936a6917c1cca4e7af95c08681
commit 522805d749a04c936a6917c1cca4e7af95c08681
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Sat Jun 01 22:52:45 2019
Async Clipboard: Remove experimental flag from navigator.clipboard.{read,write}
Enables the Async Clipboard API's read and write functions, with ClipboardItem,
on stable, by updating runtime_enabled_features flags from experimental to stable.
Spec:https://w3c.github.io/clipboard-apis/#async-clipboard-api
Intent to Ship:https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/TssvWe8TzBc
(cherry picked from commit c9f372c908bb51a8028ca12eec6d2e92f7699b26)
Bug: 150835
Change-Id: I602defa5f300832c2322e3dccb444b4c807311ef
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1567224
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#665227}
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1639530
Cr-Commit-Position: refs/branch-heads/3809@{#7}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
[modify]https://crrev.com/522805d749a04c936a6917c1cca4e7af95c08681/third_party/blink/renderer/platform/runtime_enabled_features.json5
[modify]https://crrev.com/522805d749a04c936a6917c1cca4e7af95c08681/third_party/blink/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt
commit 522805d749a04c936a6917c1cca4e7af95c08681
Author: Darwin Huang <huangdarwin@chromium.org>
Date: Sat Jun 01 22:52:45 2019
Async Clipboard: Remove experimental flag from navigator.clipboard.{read,write}
Enables the Async Clipboard API's read and write functions, with ClipboardItem,
on stable, by updating runtime_enabled_features flags from experimental to stable.
Spec:
Intent to Ship:
(cherry picked from commit c9f372c908bb51a8028ca12eec6d2e92f7699b26)
Bug: 150835
Change-Id: I602defa5f300832c2322e3dccb444b4c807311ef
Reviewed-on:
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#665227}
Reviewed-on:
Cr-Commit-Position: refs/branch-heads/3809@{#7}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
[modify]
[modify]
pw...@chromium.org <pw...@chromium.org> #115
I'm sorry... I misread the approval email from https://crbug.com/968179#c13 and merged for this bug instead. I'll revert the CL above if the merge request here is denied.
go...@chromium.org <go...@chromium.org> #116
Per https://crbug.com/chromium/150835#c112 , this change is OK to merge to M76. Thank you for explanation and merge.
go...@chromium.org <go...@chromium.org> #117
Removing "Merge-Approved-76" label as change is already merged to M76 at #113.
go...@chromium.org <go...@chromium.org> #118
[Empty comment from Monorail migration]
hu...@chromium.org <hu...@chromium.org> #119
To all following this bug, it is now fixed (yay!).
Images may now be programmatically copied through use of the Async Clipboard API. This is exposed only as "image/png" for now, and all images are re-encoded for security purposes.
This will release in stable in M76, on 6/30.
This can also be enabled in M75 (released in stable tomorrow) through enabling the experimental flag (chrome://flags/#enable-experimental-web-platform-features), for those interested in seeing this API in action earlier.
For more information on the release dates:https://chromiumdash.appspot.com/schedule
For more information on the feature:https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/TssvWe8TzBc
(For those interested in raw (not-re-encoded) images, this work will be tracked inhttps://crbug.com/897289 )
(For those interested in other image types, like image/jpeg, this work will be tracked inhttps://crbug.com/954390 )
Images may now be programmatically copied through use of the Async Clipboard API. This is exposed only as "image/png" for now, and all images are re-encoded for security purposes.
This will release in stable in M76, on 6/30.
This can also be enabled in M75 (released in stable tomorrow) through enabling the experimental flag (chrome://flags/#enable-experimental-web-platform-features), for those interested in seeing this API in action earlier.
For more information on the release dates:
For more information on the feature:
(For those interested in raw (not-re-encoded) images, this work will be tracked in
(For those interested in other image types, like image/jpeg, this work will be tracked in
cr...@appspot.gserviceaccount.com <cr...@appspot.gserviceaccount.com> #120
Here's a summary of the rules that were executed:
- OnlyMergeApprovedChange: Rule Failed -- Revision 522805d749a04c936a6917c1cca4e7af95c08681 was merged to refs/branch-heads/3809 branch with no merge approval from a TPM!
Please explain why this change was merged to the branch!
- AcknowledgeMerge: Notification Required --
- OnlyMergeApprovedChange: Rule Failed -- Revision 522805d749a04c936a6917c1cca4e7af95c08681 was merged to refs/branch-heads/3809 branch with no merge approval from a TPM!
Please explain why this change was merged to the branch!
- AcknowledgeMerge: Notification Required --
cr...@appspot.gserviceaccount.com <cr...@appspot.gserviceaccount.com> #121
The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src.git/+/522805d749a04c936a6917c1cca4e7af95c08681
Commit: 522805d749a04c936a6917c1cca4e7af95c08681
Author: huangdarwin@chromium.org
Commiter: pwnall@chromium.org
Date: 2019-06-01 22:52:45 +0000 UTC
Async Clipboard: Remove experimental flag from navigator.clipboard.{read,write}
Enables the Async Clipboard API's read and write functions, with ClipboardItem,
on stable, by updating runtime_enabled_features flags from experimental to stable.
Spec:https://w3c.github.io/clipboard-apis/#async-clipboard-api
Intent to Ship:https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/TssvWe8TzBc
(cherry picked from commit c9f372c908bb51a8028ca12eec6d2e92f7699b26)
Bug: 150835
Change-Id: I602defa5f300832c2322e3dccb444b4c807311ef
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1567224
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#665227}
Reviewed-on:https://chromium-review.googlesource.com/c/chromium/src/+/1639530
Cr-Commit-Position: refs/branch-heads/3809@{#7}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
Commit: 522805d749a04c936a6917c1cca4e7af95c08681
Author: huangdarwin@chromium.org
Commiter: pwnall@chromium.org
Date: 2019-06-01 22:52:45 +0000 UTC
Async Clipboard: Remove experimental flag from navigator.clipboard.{read,write}
Enables the Async Clipboard API's read and write functions, with ClipboardItem,
on stable, by updating runtime_enabled_features flags from experimental to stable.
Spec:
Intent to Ship:
(cherry picked from commit c9f372c908bb51a8028ca12eec6d2e92f7699b26)
Bug: 150835
Change-Id: I602defa5f300832c2322e3dccb444b4c807311ef
Reviewed-on:
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#665227}
Reviewed-on:
Cr-Commit-Position: refs/branch-heads/3809@{#7}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
ab...@google.com <ab...@google.com> #122
[Empty comment from Monorail migration]
hu...@chromium.org <hu...@chromium.org> #123
For developers visiting this bug from various links on the internet, this is already in Chrome Stable now. Here's an article detailing how to use the Async Clipboard API with image support: https://developers.google.com/web/updates/2019/07/image-support-for-async-clipboard
js...@chromium.org <js...@chromium.org> #124
Retroactively bumping to P1 via the Fugu rubrik that we staffed this and have interested partners
lu...@google.com <lu...@google.com> #125
[Empty comment from Monorail migration]
is...@google.com <is...@google.com> #126
This issue was migrated from crbug.com/chromium/150835?no_tracker_redirect=1
[Auto-CCs applied]
[Monorail blocked-on:crbug.com/chromium/915986 ]
[Monorail blocking:crbug.com/chromium/163389 , crbug.com/chromium/356210 , crbug.com/chromium/504700 , crbug.com/chromium/593140 , crbug.com/chromium/643386 , crbug.com/chromium/863849 , crbug.com/chromium/897289 , crbug.com/chromium/917505 , crbug.com/chromium/917517 , crbug.com/chromium/929311 , crbug.com/chromium/931839 , crbug.com/chromium/954390 ]
[Monorail mergedwith:crbug.com/chromium/462917 , crbug.com/chromium/525342 , crbug.com/chromium/674589 , crbug.com/chromium/805821 ]
[Monorail components added to Component Tags custom field.]
[Auto-CCs applied]
[Monorail blocked-on:
[Monorail blocking:
[Monorail mergedwith:
[Monorail components added to Component Tags custom field.]
Description
There is currently no way to add an image mime type to the clipboard data for a copy event in Chrome. To support copying raw image data in Docs, it would be useful to add support for jpg, png, gif, tiff, and bmp image formats.
Note: See
Comparable chrome.* APIs: chrome.clipboard
Public Discussion: TBD
Explainer:
Spec:
ChromeStatus Entry:
Other context (may be Googler-only, sorry!):