Clipboard: Implement ReadPng for Windows Read PNGs as raw bytes from the clipboard. PNGs and bitmaps are separate formats on Windows, and for now this only adds automated testing for reading PNGs through the bitmap format. Manual tests have verified that this works as-intended on Windows. To reproduce, follow a version of these instructions modified for Windows: https://crbug.com/1177229#c1 1) Build a version of Chrome locally with the ReadPng path fully implemented and where DataObjectItem::GetAsFile() calls ReadPng. See https://crrev.com/c/2961533 2) Download an image which has metadata, such as https://github.com/Exiv2/exiv2/blob/old-master/test/data/ReaganSmallPng.png 3) Confirm it has metadata using a clipboard inspector such as https://www.metadata2go.com/ 4) Navigate to https://evercoder.github.io/clipboard-inspector/ 5) Copy image to the system clipboard 6) Paste the image to the browser tab 7) Find the image corresponding to the ".items" property. It should be right under the text ".items - 2 items available" 8) Right-click on the image and select "Save link as ..." / "Save linked file as ..." 9) Check the image metadata using a clipboard inspector. It should match the image which was downloaded in step (2) Bug: 1201018 Change-Id: I04fa751891ce674016a5ba8f36a99093e5663818 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2861958 Commit-Queue: Austin Sullivan <asully@chromium.org> Reviewed-by: Darwin Huang <huangdarwin@chromium.org> Cr-Commit-Position: refs/heads/master@{#892396}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.