| Index: content/browser/devtools/protocol/page_handler.cc
|
| diff --git a/content/browser/devtools/protocol/page_handler.cc b/content/browser/devtools/protocol/page_handler.cc
|
| index 03e4af0b7efd7ce916ea16fe75e8e48d17c33287..572c65c9bc1f344cc1f76f60a46625443d413ab5 100644
|
| --- a/content/browser/devtools/protocol/page_handler.cc
|
| +++ b/content/browser/devtools/protocol/page_handler.cc
|
| @@ -285,15 +285,24 @@ Response PageHandler::NavigateToHistoryEntry(int entry_id) {
|
| }
|
|
|
| void PageHandler::CaptureScreenshot(
|
| + Maybe<std::string> format,
|
| + Maybe<int> quality,
|
| std::unique_ptr<CaptureScreenshotCallback> callback) {
|
| if (!host_ || !host_->GetRenderWidgetHost()) {
|
| callback->sendFailure(Response::InternalError());
|
| return;
|
| }
|
|
|
| + ui::SnapshotEncoding snapshot_encoding = format.fromMaybe(kPng) == kPng
|
| + ? ui::SnapshotEncoding::PNG
|
| + : ui::SnapshotEncoding::JPEG;
|
| + ui::SnapshotQuality snapshot_quality =
|
| + quality.fromMaybe(kDefaultScreenshotQuality);
|
| +
|
| host_->GetRenderWidgetHost()->GetSnapshotFromBrowser(
|
| - base::Bind(&PageHandler::ScreenshotCaptured,
|
| - weak_factory_.GetWeakPtr(), base::Passed(std::move(callback))));
|
| + base::Bind(&PageHandler::ScreenshotCaptured, weak_factory_.GetWeakPtr(),
|
| + base::Passed(std::move(callback))),
|
| + snapshot_encoding, snapshot_quality);
|
| }
|
|
|
| Response PageHandler::StartScreencast(Maybe<std::string> format,
|
| @@ -560,16 +569,16 @@ void PageHandler::ScreencastFrameEncoded(cc::CompositorFrameMetadata metadata,
|
|
|
| void PageHandler::ScreenshotCaptured(
|
| std::unique_ptr<CaptureScreenshotCallback> callback,
|
| - const unsigned char* png_data,
|
| - size_t png_size) {
|
| - if (!png_data || !png_size) {
|
| + const unsigned char* image_data,
|
| + size_t data_size) {
|
| + if (!image_data || !data_size) {
|
| callback->sendFailure(Response::Error("Unable to capture screenshot"));
|
| return;
|
| }
|
|
|
| std::string base_64_data;
|
| base::Base64Encode(
|
| - base::StringPiece(reinterpret_cast<const char*>(png_data), png_size),
|
| + base::StringPiece(reinterpret_cast<const char*>(image_data), data_size),
|
| &base_64_data);
|
| callback->sendSuccess(base_64_data);
|
| }
|
|
|