diff options
Diffstat (limited to 'chromium/content/browser/devtools')
8 files changed, 33 insertions, 173 deletions
diff --git a/chromium/content/browser/devtools/devtools_protocol.cc b/chromium/content/browser/devtools/devtools_protocol.cc index 948ed6be8a4..83980846556 100644 --- a/chromium/content/browser/devtools/devtools_protocol.cc +++ b/chromium/content/browser/devtools/devtools_protocol.cc @@ -190,11 +190,6 @@ void DevToolsProtocol::Handler::SendNotification( SendRawMessage(notification->Serialize()); } -void DevToolsProtocol::Handler::SendAsyncResponse( - scoped_refptr<DevToolsProtocol::Response> response) { - SendRawMessage(response->Serialize()); -} - void DevToolsProtocol::Handler::SendRawMessage(const std::string& message) { if (!notifier_.is_null()) notifier_.Run(message); diff --git a/chromium/content/browser/devtools/devtools_protocol.h b/chromium/content/browser/devtools/devtools_protocol.h index 2f7ce0bfecb..0012947382c 100644 --- a/chromium/content/browser/devtools/devtools_protocol.h +++ b/chromium/content/browser/devtools/devtools_protocol.h @@ -141,8 +141,6 @@ class DevToolsProtocol { void SendNotification(const std::string& method, base::DictionaryValue* params); - void SendAsyncResponse(scoped_refptr<DevToolsProtocol::Response> response); - // Sends message to client, the caller is presumed to properly // format the message. void SendRawMessage(const std::string& message); diff --git a/chromium/content/browser/devtools/devtools_protocol_constants.cc b/chromium/content/browser/devtools/devtools_protocol_constants.cc index 7fbec4b665b..c689ea1b7cb 100644 --- a/chromium/content/browser/devtools/devtools_protocol_constants.cc +++ b/chromium/content/browser/devtools/devtools_protocol_constants.cc @@ -8,40 +8,32 @@ namespace content { namespace devtools { namespace Inspector { - namespace detached { const char kName[] = "Inspector.detached"; const char kParamReason[] = "reason"; } // detached - namespace targetCrashed { const char kName[] = "Inspector.targetCrashed"; } // targetCrashed - } // Inspector namespace DOM { - namespace setFileInputFiles { const char kName[] = "DOM.setFileInputFiles"; const char kParamFiles[] = "files"; } // setFileInputFiles - } // DOM namespace Page { - namespace handleJavaScriptDialog { const char kName[] = "Page.handleJavaScriptDialog"; const char kParamAccept[] = "accept"; const char kParamPromptText[] = "promptText"; } // handleJavaScriptDialog - namespace navigate { const char kName[] = "Page.navigate"; const char kParamUrl[] = "url"; } // navigate - namespace captureScreenshot { const char kName[] = "Page.captureScreenshot"; const char kParamFormat[] = "format"; @@ -49,31 +41,12 @@ namespace captureScreenshot { const char kParamScale[] = "scale"; const char kResponseData[] = "data"; } // captureScreenshot - -namespace startScreencast { - const char kName[] = "Page.startScreencast"; - const char kParamFormat[] = "format"; - const char kParamQuality[] = "quality"; - const char kParamScale[] = "scale"; -} // startScreencast - -namespace stopScreencast { - const char kName[] = "Page.stopScreencast"; -} // stopScreencast - -namespace screencastFrame { - const char kName[] = "Page.screencastFrame"; - const char kResponseData[] = "data"; -} // screencastFrame - } // Page namespace Worker { - namespace disconnectedFromWorker { const char kName[] = "Worker.disconnectedFromWorker"; } // disconnectedFromWorker - } // Worker namespace Tracing { @@ -97,7 +70,6 @@ namespace dataCollected { const char kName[] = "Tracing.dataCollected"; const char kValue[] = "value"; } - } // Tracing } // devtools diff --git a/chromium/content/browser/devtools/devtools_protocol_constants.h b/chromium/content/browser/devtools/devtools_protocol_constants.h index fdf182a3dbb..a05493318e1 100644 --- a/chromium/content/browser/devtools/devtools_protocol_constants.h +++ b/chromium/content/browser/devtools/devtools_protocol_constants.h @@ -15,16 +15,13 @@ namespace content { namespace devtools { namespace Inspector { - namespace detached { extern const char kName[]; extern const char kParamReason[]; } // detached - namespace targetCrashed { extern const char kName[]; } // targetCrashed - } // Inspector namespace DOM { @@ -35,18 +32,15 @@ namespace setFileInputFiles { } // DOM namespace Page { - namespace handleJavaScriptDialog { extern const char kName[]; extern const char kParamAccept[]; extern const char kParamPromptText[]; } // handleJavaScriptDialog - namespace navigate { extern const char kName[]; extern const char kParamUrl[]; } // navigate - namespace captureScreenshot { extern const char kName[]; extern const char kParamFormat[]; @@ -54,23 +48,6 @@ namespace captureScreenshot { extern const char kParamScale[]; extern const char kResponseData[]; } // captureScreenshot - -namespace startScreencast { - extern const char kName[]; - extern const char kParamFormat[]; - extern const char kParamQuality[]; - extern const char kParamScale[]; -} // startScreencast - -namespace stopScreencast { - extern const char kName[]; -} // stopScreencast - -namespace screencastFrame { - extern const char kName[]; - extern const char kResponseData[]; -} // screencastFrame - } // Page namespace Tracing { @@ -98,11 +75,9 @@ namespace dataCollected { namespace Worker { - namespace disconnectedFromWorker { extern const char kName[]; } // disconnectedFromWorker - } // Worker } // devtools diff --git a/chromium/content/browser/devtools/render_view_devtools_agent_host.cc b/chromium/content/browser/devtools/render_view_devtools_agent_host.cc index 99686a00079..7455c160d8e 100644 --- a/chromium/content/browser/devtools/render_view_devtools_agent_host.cc +++ b/chromium/content/browser/devtools/render_view_devtools_agent_host.cc @@ -17,7 +17,6 @@ #include "content/browser/site_instance_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/devtools_messages.h" -#include "content/common/view_messages.h" #include "content/public/browser/content_browser_client.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_types.h" @@ -312,17 +311,11 @@ bool RenderViewDevToolsAgentHost::OnRvhMessageReceived( IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCache, OnClearBrowserCache) IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCookies, OnClearBrowserCookies) - IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_SwapCompositorFrame, - handled = false; OnSwapCompositorFrame()) IPC_MESSAGE_UNHANDLED(handled = false) IPC_END_MESSAGE_MAP() return handled; } -void RenderViewDevToolsAgentHost::OnSwapCompositorFrame() { - overrides_handler_->OnSwapCompositorFrame(); -} - void RenderViewDevToolsAgentHost::OnSaveAgentRuntimeState( const std::string& state) { if (!render_view_host_) diff --git a/chromium/content/browser/devtools/render_view_devtools_agent_host.h b/chromium/content/browser/devtools/render_view_devtools_agent_host.h index 89855441146..00f73a6b2a0 100644 --- a/chromium/content/browser/devtools/render_view_devtools_agent_host.h +++ b/chromium/content/browser/devtools/render_view_devtools_agent_host.h @@ -59,7 +59,6 @@ class CONTENT_EXPORT RenderViewDevToolsAgentHost void RenderViewHostDestroyed(RenderViewHost* rvh); void RenderViewCrashed(); bool OnRvhMessageReceived(const IPC::Message& message); - void OnSwapCompositorFrame(); void OnDispatchOnInspectorFrontend(const std::string& message); void OnSaveAgentRuntimeState(const std::string& state); diff --git a/chromium/content/browser/devtools/renderer_overrides_handler.cc b/chromium/content/browser/devtools/renderer_overrides_handler.cc index f5d6c1cd546..57266676e87 100644 --- a/chromium/content/browser/devtools/renderer_overrides_handler.cc +++ b/chromium/content/browser/devtools/renderer_overrides_handler.cc @@ -34,7 +34,7 @@ #include "ui/snapshot/snapshot.h" #include "url/gurl.h" -namespace content { +using base::TimeTicks; namespace { @@ -42,31 +42,10 @@ static const char kPng[] = "png"; static const char kJpeg[] = "jpeg"; static int kDefaultScreenshotQuality = 80; -void ParseCaptureParameters(DevToolsProtocol::Command* command, - std::string* format, - int* quality, - double* scale) { - *quality = kDefaultScreenshotQuality; - *scale = 1; - base::DictionaryValue* params = command->params(); - if (params) { - params->GetString(devtools::Page::captureScreenshot::kParamFormat, - format); - params->GetInteger(devtools::Page::captureScreenshot::kParamQuality, - quality); - params->GetDouble(devtools::Page::captureScreenshot::kParamScale, - scale); - } - if (format->empty()) - *format = kPng; - if (*quality < 0 || *quality > 100) - *quality = kDefaultScreenshotQuality; - if (*scale <= 0 || *scale > 1) - *scale = 1; -} - } // namespace +namespace content { + RendererOverridesHandler::RendererOverridesHandler(DevToolsAgentHost* agent) : agent_(agent), weak_factory_(this) { @@ -90,45 +69,10 @@ RendererOverridesHandler::RendererOverridesHandler(DevToolsAgentHost* agent) base::Bind( &RendererOverridesHandler::PageCaptureScreenshot, base::Unretained(this))); - RegisterCommandHandler( - devtools::Page::startScreencast::kName, - base::Bind( - &RendererOverridesHandler::PageStartScreencast, - base::Unretained(this))); - RegisterCommandHandler( - devtools::Page::stopScreencast::kName, - base::Bind( - &RendererOverridesHandler::PageStopScreencast, - base::Unretained(this))); } RendererOverridesHandler::~RendererOverridesHandler() {} -void RendererOverridesHandler::OnSwapCompositorFrame() { - if (!screencast_command_) - return; - - std::string format; - int quality = kDefaultScreenshotQuality; - double scale = 1; - ParseCaptureParameters(screencast_command_.get(), &format, &quality, &scale); - - RenderViewHost* host = agent_->GetRenderViewHost(); - RenderWidgetHostViewPort* view_port = - RenderWidgetHostViewPort::FromRWHV(host->GetView()); - - gfx::Rect view_bounds = host->GetView()->GetViewBounds(); - gfx::Size snapshot_size = gfx::ToFlooredSize( - gfx::ScaleSize(view_bounds.size(), scale)); - - view_port->CopyFromCompositingSurface( - view_bounds, snapshot_size, - base::Bind(&RendererOverridesHandler::ScreenshotCaptured, - weak_factory_.GetWeakPtr(), - scoped_refptr<DevToolsProtocol::Command>(), format, quality, - scale)); -} - scoped_refptr<DevToolsProtocol::Response> RendererOverridesHandler::GrantPermissionsForSetFileInputFiles( scoped_refptr<DevToolsProtocol::Command> command) { @@ -211,10 +155,25 @@ RendererOverridesHandler::PageNavigate( scoped_refptr<DevToolsProtocol::Response> RendererOverridesHandler::PageCaptureScreenshot( scoped_refptr<DevToolsProtocol::Command> command) { + // Parse input parameters. std::string format; int quality = kDefaultScreenshotQuality; double scale = 1; - ParseCaptureParameters(command.get(), &format, &quality, &scale); + base::DictionaryValue* params = command->params(); + if (params) { + params->GetString(devtools::Page::captureScreenshot::kParamFormat, + &format); + params->GetInteger(devtools::Page::captureScreenshot::kParamQuality, + &quality); + params->GetDouble(devtools::Page::captureScreenshot::kParamScale, + &scale); + } + if (format.empty()) + format = kPng; + if (quality < 0 || quality > 100) + quality = kDefaultScreenshotQuality; + if (scale <= 0 || scale > 1) + scale = 1; RenderViewHost* host = agent_->GetRenderViewHost(); gfx::Rect view_bounds = host->GetView()->GetViewBounds(); @@ -251,21 +210,6 @@ RendererOverridesHandler::PageCaptureScreenshot( return command->AsyncResponsePromise(); } -scoped_refptr<DevToolsProtocol::Response> -RendererOverridesHandler::PageStartScreencast( - scoped_refptr<DevToolsProtocol::Command> command) { - screencast_command_ = command; - OnSwapCompositorFrame(); - return command->SuccessResponse(NULL); -} - -scoped_refptr<DevToolsProtocol::Response> -RendererOverridesHandler::PageStopScreencast( - scoped_refptr<DevToolsProtocol::Command> command) { - screencast_command_ = NULL; - return command->SuccessResponse(NULL); -} - void RendererOverridesHandler::ScreenshotCaptured( scoped_refptr<DevToolsProtocol::Command> command, const std::string& format, @@ -274,10 +218,9 @@ void RendererOverridesHandler::ScreenshotCaptured( bool success, const SkBitmap& bitmap) { if (!success) { - if (command) { - SendAsyncResponse( - command->InternalErrorResponse("Unable to capture screenshot")); - } + SendRawMessage( + command->InternalErrorResponse("Unable to capture screenshot")-> + Serialize()); return; } @@ -304,35 +247,27 @@ void RendererOverridesHandler::ScreenshotCaptured( } if (!encoded) { - if (command) { - SendAsyncResponse( - command->InternalErrorResponse("Unable to encode screenshot")); - } + SendRawMessage( + command->InternalErrorResponse("Unable to encode screenshot")-> + Serialize()); return; } std::string base_64_data; if (!base::Base64Encode(base::StringPiece( - reinterpret_cast<char*>(&data[0]), - data.size()), + reinterpret_cast<char*>(&data[0]), + data.size()), &base_64_data)) { - if (command) { - SendAsyncResponse( - command->InternalErrorResponse("Unable to base64 encode")); - } + SendRawMessage( + command->InternalErrorResponse("Unable to base64 encode screenshot")-> + Serialize()); return; } base::DictionaryValue* response = new base::DictionaryValue(); - if (command) { - response->SetString( - devtools::Page::captureScreenshot::kResponseData, base_64_data); - SendAsyncResponse(command->SuccessResponse(response)); - } else { - response->SetString( - devtools::Page::screencastFrame::kResponseData, base_64_data); - SendNotification(devtools::Page::screencastFrame::kName, response); - } + response->SetString( + devtools::Page::captureScreenshot::kResponseData, base_64_data); + SendRawMessage(command->SuccessResponse(response)->Serialize()); } } // namespace content diff --git a/chromium/content/browser/devtools/renderer_overrides_handler.h b/chromium/content/browser/devtools/renderer_overrides_handler.h index 7e5814b9d28..1d4213d8be6 100644 --- a/chromium/content/browser/devtools/renderer_overrides_handler.h +++ b/chromium/content/browser/devtools/renderer_overrides_handler.h @@ -26,8 +26,6 @@ class RendererOverridesHandler : public DevToolsProtocol::Handler { explicit RendererOverridesHandler(DevToolsAgentHost* agent); virtual ~RendererOverridesHandler(); - void OnSwapCompositorFrame(); - private: scoped_refptr<DevToolsProtocol::Response> GrantPermissionsForSetFileInputFiles( @@ -38,10 +36,6 @@ class RendererOverridesHandler : public DevToolsProtocol::Handler { scoped_refptr<DevToolsProtocol::Command> command); scoped_refptr<DevToolsProtocol::Response> PageCaptureScreenshot( scoped_refptr<DevToolsProtocol::Command> command); - scoped_refptr<DevToolsProtocol::Response> PageStartScreencast( - scoped_refptr<DevToolsProtocol::Command> command); - scoped_refptr<DevToolsProtocol::Response> PageStopScreencast( - scoped_refptr<DevToolsProtocol::Command> command); void ScreenshotCaptured( scoped_refptr<DevToolsProtocol::Command> command, @@ -53,7 +47,6 @@ class RendererOverridesHandler : public DevToolsProtocol::Handler { DevToolsAgentHost* agent_; base::WeakPtrFactory<RendererOverridesHandler> weak_factory_; - scoped_refptr<DevToolsProtocol::Command> screencast_command_; DISALLOW_COPY_AND_ASSIGN(RendererOverridesHandler); }; |