OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/renderer_overrides_handler.h" | 5 #include "content/browser/devtools/renderer_overrides_handler.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/barrier_closure.h" | 10 #include "base/barrier_closure.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 RendererOverridesHandler::RendererOverridesHandler() | 75 RendererOverridesHandler::RendererOverridesHandler() |
76 : page_domain_enabled_(false), | 76 : page_domain_enabled_(false), |
77 has_last_compositor_frame_metadata_(false), | 77 has_last_compositor_frame_metadata_(false), |
78 capture_retry_count_(0), | 78 capture_retry_count_(0), |
79 touch_emulation_enabled_(false), | 79 touch_emulation_enabled_(false), |
80 color_picker_enabled_(false), | 80 color_picker_enabled_(false), |
81 last_cursor_x_(-1), | 81 last_cursor_x_(-1), |
82 last_cursor_y_(-1), | 82 last_cursor_y_(-1), |
83 weak_factory_(this) { | 83 weak_factory_(this) { |
84 RegisterCommandHandler( | 84 RegisterCommandHandler( |
85 devtools::DOM::setFileInputFiles::kName, | |
86 base::Bind( | |
87 &RendererOverridesHandler::GrantPermissionsForSetFileInputFiles, | |
88 base::Unretained(this))); | |
89 RegisterCommandHandler( | |
90 devtools::Network::canEmulateNetworkConditions::kName, | 85 devtools::Network::canEmulateNetworkConditions::kName, |
91 base::Bind( | 86 base::Bind( |
92 &RendererOverridesHandler::CanEmulateNetworkConditions, | 87 &RendererOverridesHandler::CanEmulateNetworkConditions, |
93 base::Unretained(this))); | 88 base::Unretained(this))); |
94 RegisterCommandHandler( | 89 RegisterCommandHandler( |
95 devtools::Network::clearBrowserCache::kName, | 90 devtools::Network::clearBrowserCache::kName, |
96 base::Bind( | 91 base::Bind( |
97 &RendererOverridesHandler::ClearBrowserCache, | 92 &RendererOverridesHandler::ClearBrowserCache, |
98 base::Unretained(this))); | 93 base::Unretained(this))); |
99 RegisterCommandHandler( | 94 RegisterCommandHandler( |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 gfx::Rect viewport_bounds_dip(gfx::ToRoundedSize(viewport_size_dip)); | 287 gfx::Rect viewport_bounds_dip(gfx::ToRoundedSize(viewport_size_dip)); |
293 view->CopyFromCompositingSurface( | 288 view->CopyFromCompositingSurface( |
294 viewport_bounds_dip, snapshot_size_dip, | 289 viewport_bounds_dip, snapshot_size_dip, |
295 base::Bind(&RendererOverridesHandler::ScreencastFrameCaptured, | 290 base::Bind(&RendererOverridesHandler::ScreencastFrameCaptured, |
296 weak_factory_.GetWeakPtr(), | 291 weak_factory_.GetWeakPtr(), |
297 format, quality, last_compositor_frame_metadata_), | 292 format, quality, last_compositor_frame_metadata_), |
298 kN32_SkColorType); | 293 kN32_SkColorType); |
299 } | 294 } |
300 } | 295 } |
301 | 296 |
302 // DOM agent handlers -------------------------------------------------------- | |
303 | |
304 scoped_refptr<DevToolsProtocol::Response> | |
305 RendererOverridesHandler::GrantPermissionsForSetFileInputFiles( | |
306 scoped_refptr<DevToolsProtocol::Command> command) { | |
307 base::DictionaryValue* params = command->params(); | |
308 base::ListValue* file_list = NULL; | |
309 const char* param = | |
310 devtools::DOM::setFileInputFiles::kParamFiles; | |
311 if (!params || !params->GetList(param, &file_list)) | |
312 return command->InvalidParamResponse(param); | |
313 if (!host_) | |
314 return NULL; | |
315 | |
316 for (size_t i = 0; i < file_list->GetSize(); ++i) { | |
317 base::FilePath::StringType file; | |
318 if (!file_list->GetString(i, &file)) | |
319 return command->InvalidParamResponse(param); | |
320 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadFile( | |
321 host_->GetProcess()->GetID(), base::FilePath(file)); | |
322 } | |
323 return NULL; | |
324 } | |
325 | |
326 | |
327 // Network agent handlers ---------------------------------------------------- | 297 // Network agent handlers ---------------------------------------------------- |
328 | 298 |
329 scoped_refptr<DevToolsProtocol::Response> | 299 scoped_refptr<DevToolsProtocol::Response> |
330 RendererOverridesHandler::CanEmulateNetworkConditions( | 300 RendererOverridesHandler::CanEmulateNetworkConditions( |
331 scoped_refptr<DevToolsProtocol::Command> command) { | 301 scoped_refptr<DevToolsProtocol::Command> command) { |
332 base::DictionaryValue* result = new base::DictionaryValue(); | 302 base::DictionaryValue* result = new base::DictionaryValue(); |
333 result->SetBoolean(devtools::kResult, false); | 303 result->SetBoolean(devtools::kResult, false); |
334 return command->SuccessResponse(result); | 304 return command->SuccessResponse(result); |
335 } | 305 } |
336 | 306 |
(...skipping 815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1152 return; | 1122 return; |
1153 bool enabled = touch_emulation_enabled_ || screencast_command_.get(); | 1123 bool enabled = touch_emulation_enabled_ || screencast_command_.get(); |
1154 host_->SetTouchEventEmulationEnabled(enabled); | 1124 host_->SetTouchEventEmulationEnabled(enabled); |
1155 WebContentsImpl* web_contents = static_cast<WebContentsImpl*>( | 1125 WebContentsImpl* web_contents = static_cast<WebContentsImpl*>( |
1156 WebContents::FromRenderViewHost(host_)); | 1126 WebContents::FromRenderViewHost(host_)); |
1157 if (web_contents) | 1127 if (web_contents) |
1158 web_contents->SetForceDisableOverscrollContent(enabled); | 1128 web_contents->SetForceDisableOverscrollContent(enabled); |
1159 } | 1129 } |
1160 | 1130 |
1161 } // namespace content | 1131 } // namespace content |
OLD | NEW |