We're currently only supporting png in Page.CaptureScreenshot - headless clients are asking for jpeg :)
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b6438b1ca6462f3cc014cd1bf18410957101a119 commit b6438b1ca6462f3cc014cd1bf18410957101a119 Author: eseckler <eseckler@chromium.org> Date: Tue Jan 24 15:18:55 2017 [devtools] Support different encodings for Page.CaptureScreenshot. This adds support for jpeg encoding of screenshots, similar to that for screencasts. For this purpose, the patch modifies ui::Grab*Snapshot* methods to return a gfx::Image instead of a png. Utility methods can then encode the gfx::Image to jpeg/png depending on its platform-specific backing representation. BUG= 676282 Review-Url: https://codereview.chromium.org/2592983002 Cr-Commit-Position: refs/heads/master@{#445730} [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/chrome/browser/android/feedback/screenshot_task.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/chrome/browser/chromeos/login/screenshot_testing/screenshot_tester.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/chrome/browser/chromeos/login/screenshot_testing/screenshot_tester.h [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.h [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.h [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/content/browser/devtools/protocol/devtools_protocol_browsertest.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/content/browser/devtools/protocol/page_handler.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/content/browser/devtools/protocol/page_handler.h [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/content/browser/renderer_host/render_widget_host_impl.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/content/browser/renderer_host/render_widget_host_impl.h [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/testing/buildbot/chromium.linux.json [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/testing/buildbot/chromium.mac.json [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/testing/buildbot/gn_isolate_map.pyl [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/third_party/WebKit/Source/core/inspector/browser_protocol.json [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/third_party/WebKit/Source/devtools/front_end/emulation/DeviceModeView.js [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/gfx/BUILD.gn [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/gfx/image/image_util.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/gfx/image/image_util.h [add] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/gfx/image/image_util_mac.mm [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/BUILD.gn [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/screenshot_grabber.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/screenshot_grabber.h [add] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot.h [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot_android.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot_async.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot_async.h [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot_aura.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot_aura_unittest.cc [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot_ios.mm [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot_mac.mm [modify] https://crrev.com/b6438b1ca6462f3cc014cd1bf18410957101a119/ui/snapshot/snapshot_mac_unittest.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a commit 1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a Author: mohsen <mohsen@chromium.org> Date: Tue Jan 24 16:32:56 2017 Revert of [devtools] Support different encodings for Page.CaptureScreenshot. (patchset #8 id:480001 of https://codereview.chromium.org/2592983002/ ) Reason for revert: Causing failures on "Mac10.11 Tests" builder: https://uberchromegw.corp.google.com/i/chromium.mac/builders/Mac10.11%20Tests/builds/6881 [ RUN ] GrabWindowSnapshotTest.TestGrabWindowSnapshot ../../ui/snapshot/snapshot_mac_unittest.mm:45: Failure Value of: CGImageGetWidth([rep CGImage]) Actual: 1 Expected: 400 * scaleFactor Which is: 400 ../../ui/snapshot/snapshot_mac_unittest.mm:49: Failure Expected: (red + green + blue) >= (3.0), actual: 0 vs 3 [ FAILED ] GrabWindowSnapshotTest.TestGrabWindowSnapshot (31 ms) Original issue's description: > [devtools] Support different encodings for Page.CaptureScreenshot. > > This adds support for jpeg encoding of screenshots, similar to that for > screencasts. For this purpose, the patch modifies ui::Grab*Snapshot* > methods to return a gfx::Image instead of a png. Utility methods can > then encode the gfx::Image to jpeg/png depending on its > platform-specific backing representation. > > BUG= 676282 > > Review-Url: https://codereview.chromium.org/2592983002 > Cr-Commit-Position: refs/heads/master@{#445730} > Committed: https://chromium.googlesource.com/chromium/src/+/b6438b1ca6462f3cc014cd1bf18410957101a119 TBR=enne@chromium.org,avi@chromium.org,dtrainor@chromium.org,oshima@chromium.org,pfeldman@chromium.org,sadrul@chromium.org,dpranke@chromium.org,eseckler@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 676282 Review-Url: https://codereview.chromium.org/2650903003 Cr-Commit-Position: refs/heads/master@{#445741} [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/chrome/browser/android/feedback/screenshot_task.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/chrome/browser/chromeos/login/screenshot_testing/screenshot_tester.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/chrome/browser/chromeos/login/screenshot_testing/screenshot_tester.h [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.h [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.h [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/content/browser/devtools/protocol/page_handler.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/content/browser/devtools/protocol/page_handler.h [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/content/browser/renderer_host/render_widget_host_impl.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/content/browser/renderer_host/render_widget_host_impl.h [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/testing/buildbot/chromium.linux.json [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/testing/buildbot/chromium.mac.json [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/testing/buildbot/gn_isolate_map.pyl [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/third_party/WebKit/Source/core/inspector/browser_protocol.json [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/third_party/WebKit/Source/devtools/front_end/emulation/DeviceModeView.js [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/gfx/BUILD.gn [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/gfx/image/image_util.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/gfx/image/image_util.h [delete] https://crrev.com/3d4141d40471d274b0b66d2e938821137bcc0f9c/ui/gfx/image/image_util_mac.mm [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/BUILD.gn [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/screenshot_grabber.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/screenshot_grabber.h [delete] https://crrev.com/3d4141d40471d274b0b66d2e938821137bcc0f9c/ui/snapshot/snapshot.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot.h [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot_android.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot_async.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot_async.h [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot_aura.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot_aura_unittest.cc [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot_ios.mm [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot_mac.mm [modify] https://crrev.com/1ae4ca9c8372d75a7cd617911c4e0bd4c65de33a/ui/snapshot/snapshot_mac_unittest.mm
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7233c1a70ea0194caf10f4365cf3520e5be7aa8f commit 7233c1a70ea0194caf10f4365cf3520e5be7aa8f Author: eseckler <eseckler@chromium.org> Date: Wed Jan 25 15:07:54 2017 [devtools] Support different encodings for Page.CaptureScreenshot. This adds support for jpeg encoding of screenshots, similar to that for screencasts. For this purpose, the patch modifies ui::Grab*Snapshot* methods to return a gfx::Image instead of a png. Utility methods can then encode the gfx::Image to jpeg/png depending on its platform-specific backing representation. BUG= 676282 Review-Url: https://codereview.chromium.org/2592983002 Cr-Original-Commit-Position: refs/heads/master@{#445730} Committed: https://chromium.googlesource.com/chromium/src/+/b6438b1ca6462f3cc014cd1bf18410957101a119 Review-Url: https://codereview.chromium.org/2592983002 Cr-Commit-Position: refs/heads/master@{#446021} [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/chrome/browser/android/feedback/screenshot_task.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/chrome/browser/chromeos/login/screenshot_testing/screenshot_tester.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/chrome/browser/chromeos/login/screenshot_testing/screenshot_tester.h [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/chrome/browser/chromeos/policy/remote_commands/device_command_screenshot_job.h [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/chrome/browser/chromeos/policy/remote_commands/screenshot_delegate.h [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/content/browser/devtools/protocol/devtools_protocol_browsertest.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/content/browser/devtools/protocol/page_handler.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/content/browser/devtools/protocol/page_handler.h [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/content/browser/renderer_host/render_widget_host_impl.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/content/browser/renderer_host/render_widget_host_impl.h [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/testing/buildbot/chromium.linux.json [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/testing/buildbot/chromium.mac.json [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/testing/buildbot/gn_isolate_map.pyl [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/third_party/WebKit/Source/core/inspector/browser_protocol.json [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/third_party/WebKit/Source/devtools/front_end/emulation/DeviceModeView.js [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/gfx/BUILD.gn [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/gfx/image/image_util.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/gfx/image/image_util.h [add] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/gfx/image/image_util_mac.mm [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/BUILD.gn [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/screenshot_grabber.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/screenshot_grabber.h [add] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot.h [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot_android.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot_async.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot_async.h [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot_aura.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot_aura_unittest.cc [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot_ios.mm [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot_mac.mm [modify] https://crrev.com/7233c1a70ea0194caf10f4365cf3520e5be7aa8f/ui/snapshot/snapshot_mac_unittest.mm
Comment 1 by eseckler@chromium.org
, Dec 21 2016