Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1111)

Side by Side Diff: content/browser/devtools/protocol/page_handler.cc

Issue 1408363004: [DevTools] Filter any messages from previous sessions in DevToolsAgentHostImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/devtools/protocol/page_handler.h" 5 #include "content/browser/devtools/protocol/page_handler.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 for (int i = 0; i != controller.GetEntryCount(); ++i) { 265 for (int i = 0; i != controller.GetEntryCount(); ++i) {
266 if (controller.GetEntryAtIndex(i)->GetUniqueID() == entry_id) { 266 if (controller.GetEntryAtIndex(i)->GetUniqueID() == entry_id) {
267 controller.GoToIndex(i); 267 controller.GoToIndex(i);
268 return Response::OK(); 268 return Response::OK();
269 } 269 }
270 } 270 }
271 271
272 return Response::InvalidParams("No entry with passed id"); 272 return Response::InvalidParams("No entry with passed id");
273 } 273 }
274 274
275 Response PageHandler::CaptureScreenshot(DevToolsCommandId command_id) { 275 Response PageHandler::CaptureScreenshot(int session_id,
276 DevToolsCommandId command_id) {
276 if (!host_ || !host_->GetRenderWidgetHost()) 277 if (!host_ || !host_->GetRenderWidgetHost())
277 return Response::InternalError("Could not connect to view"); 278 return Response::InternalError("Could not connect to view");
278 279
279 host_->GetRenderWidgetHost()->GetSnapshotFromBrowser( 280 host_->GetRenderWidgetHost()->GetSnapshotFromBrowser(
280 base::Bind(&PageHandler::ScreenshotCaptured, 281 base::Bind(&PageHandler::ScreenshotCaptured, weak_factory_.GetWeakPtr(),
281 weak_factory_.GetWeakPtr(), command_id)); 282 session_id, command_id));
282 return Response::OK(); 283 return Response::OK();
283 } 284 }
284 285
285 Response PageHandler::CanScreencast(bool* result) { 286 Response PageHandler::CanScreencast(bool* result) {
286 #if defined(OS_ANDROID) 287 #if defined(OS_ANDROID)
287 *result = true; 288 *result = true;
288 #else 289 #else
289 *result = false; 290 *result = false;
290 #endif // defined(OS_ANDROID) 291 #endif // defined(OS_ANDROID)
291 return Response::OK(); 292 return Response::OK();
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 ->set_device_height(screen_size_dip.height()) 485 ->set_device_height(screen_size_dip.height())
485 ->set_scroll_offset_x(metadata.root_scroll_offset.x()) 486 ->set_scroll_offset_x(metadata.root_scroll_offset.x())
486 ->set_scroll_offset_y(metadata.root_scroll_offset.y()) 487 ->set_scroll_offset_y(metadata.root_scroll_offset.y())
487 ->set_timestamp(timestamp.ToDoubleT()); 488 ->set_timestamp(timestamp.ToDoubleT());
488 client_->ScreencastFrame(ScreencastFrameParams::Create() 489 client_->ScreencastFrame(ScreencastFrameParams::Create()
489 ->set_data(data) 490 ->set_data(data)
490 ->set_metadata(param_metadata) 491 ->set_metadata(param_metadata)
491 ->set_frame_number(++screencast_frame_sent_)); 492 ->set_frame_number(++screencast_frame_sent_));
492 } 493 }
493 494
494 void PageHandler::ScreenshotCaptured(DevToolsCommandId command_id, 495 void PageHandler::ScreenshotCaptured(int session_id,
496 DevToolsCommandId command_id,
495 const unsigned char* png_data, 497 const unsigned char* png_data,
496 size_t png_size) { 498 size_t png_size) {
497 if (!png_data || !png_size) { 499 if (!png_data || !png_size) {
498 client_->SendError(command_id, 500 client_->SendError(session_id, command_id,
499 Response::InternalError("Unable to capture screenshot")); 501 Response::InternalError("Unable to capture screenshot"));
500 return; 502 return;
501 } 503 }
502 504
503 std::string base_64_data; 505 std::string base_64_data;
504 base::Base64Encode( 506 base::Base64Encode(
505 base::StringPiece(reinterpret_cast<const char*>(png_data), png_size), 507 base::StringPiece(reinterpret_cast<const char*>(png_data), png_size),
506 &base_64_data); 508 &base_64_data);
507 509
508 client_->SendCaptureScreenshotResponse(command_id, 510 client_->SendCaptureScreenshotResponse(
511 session_id, command_id,
509 CaptureScreenshotResponse::Create()->set_data(base_64_data)); 512 CaptureScreenshotResponse::Create()->set_data(base_64_data));
510 } 513 }
511 514
512 void PageHandler::OnColorPicked(int r, int g, int b, int a) { 515 void PageHandler::OnColorPicked(int r, int g, int b, int a) {
513 scoped_refptr<dom::RGBA> color = 516 scoped_refptr<dom::RGBA> color =
514 dom::RGBA::Create()->set_r(r)->set_g(g)->set_b(b)->set_a(a); 517 dom::RGBA::Create()->set_r(r)->set_g(g)->set_b(b)->set_a(a);
515 client_->ColorPicked(ColorPickedParams::Create()->set_color(color)); 518 client_->ColorPicked(ColorPickedParams::Create()->set_color(color));
516 } 519 }
517 520
518 } // namespace page 521 } // namespace page
519 } // namespace devtools 522 } // namespace devtools
520 } // namespace content 523 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698