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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 | 58 |
59 using blink::WebGestureEvent; | 59 using blink::WebGestureEvent; |
60 using blink::WebInputEvent; | 60 using blink::WebInputEvent; |
61 using blink::WebMouseEvent; | 61 using blink::WebMouseEvent; |
62 | 62 |
63 namespace content { | 63 namespace content { |
64 | 64 |
65 RendererOverridesHandler::RendererOverridesHandler() | 65 RendererOverridesHandler::RendererOverridesHandler() |
66 : weak_factory_(this) { | 66 : weak_factory_(this) { |
67 RegisterCommandHandler( | 67 RegisterCommandHandler( |
68 devtools::DOM::setFileInputFiles::kName, | |
69 base::Bind( | |
70 &RendererOverridesHandler::GrantPermissionsForSetFileInputFiles, | |
71 base::Unretained(this))); | |
72 RegisterCommandHandler( | |
73 devtools::Network::canEmulateNetworkConditions::kName, | 68 devtools::Network::canEmulateNetworkConditions::kName, |
74 base::Bind( | 69 base::Bind( |
75 &RendererOverridesHandler::CanEmulateNetworkConditions, | 70 &RendererOverridesHandler::CanEmulateNetworkConditions, |
76 base::Unretained(this))); | 71 base::Unretained(this))); |
77 RegisterCommandHandler( | 72 RegisterCommandHandler( |
78 devtools::Network::clearBrowserCache::kName, | 73 devtools::Network::clearBrowserCache::kName, |
79 base::Bind( | 74 base::Bind( |
80 &RendererOverridesHandler::ClearBrowserCache, | 75 &RendererOverridesHandler::ClearBrowserCache, |
81 base::Unretained(this))); | 76 base::Unretained(this))); |
82 RegisterCommandHandler( | 77 RegisterCommandHandler( |
(...skipping 15 matching lines...) Expand all Loading... |
98 | 93 |
99 void RendererOverridesHandler::SetRenderViewHost( | 94 void RendererOverridesHandler::SetRenderViewHost( |
100 RenderViewHostImpl* host) { | 95 RenderViewHostImpl* host) { |
101 host_ = host; | 96 host_ = host; |
102 } | 97 } |
103 | 98 |
104 void RendererOverridesHandler::ClearRenderViewHost() { | 99 void RendererOverridesHandler::ClearRenderViewHost() { |
105 host_ = NULL; | 100 host_ = NULL; |
106 } | 101 } |
107 | 102 |
108 // DOM agent handlers -------------------------------------------------------- | |
109 | |
110 scoped_refptr<DevToolsProtocol::Response> | |
111 RendererOverridesHandler::GrantPermissionsForSetFileInputFiles( | |
112 scoped_refptr<DevToolsProtocol::Command> command) { | |
113 base::DictionaryValue* params = command->params(); | |
114 base::ListValue* file_list = NULL; | |
115 const char* param = | |
116 devtools::DOM::setFileInputFiles::kParamFiles; | |
117 if (!params || !params->GetList(param, &file_list)) | |
118 return command->InvalidParamResponse(param); | |
119 if (!host_) | |
120 return NULL; | |
121 | |
122 for (size_t i = 0; i < file_list->GetSize(); ++i) { | |
123 base::FilePath::StringType file; | |
124 if (!file_list->GetString(i, &file)) | |
125 return command->InvalidParamResponse(param); | |
126 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadFile( | |
127 host_->GetProcess()->GetID(), base::FilePath(file)); | |
128 } | |
129 return NULL; | |
130 } | |
131 | |
132 | |
133 // Network agent handlers ---------------------------------------------------- | 103 // Network agent handlers ---------------------------------------------------- |
134 | 104 |
135 scoped_refptr<DevToolsProtocol::Response> | 105 scoped_refptr<DevToolsProtocol::Response> |
136 RendererOverridesHandler::CanEmulateNetworkConditions( | 106 RendererOverridesHandler::CanEmulateNetworkConditions( |
137 scoped_refptr<DevToolsProtocol::Command> command) { | 107 scoped_refptr<DevToolsProtocol::Command> command) { |
138 base::DictionaryValue* result = new base::DictionaryValue(); | 108 base::DictionaryValue* result = new base::DictionaryValue(); |
139 result->SetBoolean(devtools::kResult, false); | 109 result->SetBoolean(devtools::kResult, false); |
140 return command->SuccessResponse(result); | 110 return command->SuccessResponse(result); |
141 } | 111 } |
142 | 112 |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 return command->AsyncResponsePromise(); | 315 return command->AsyncResponsePromise(); |
346 } | 316 } |
347 | 317 |
348 void RendererOverridesHandler::PageQueryUsageAndQuotaCompleted( | 318 void RendererOverridesHandler::PageQueryUsageAndQuotaCompleted( |
349 scoped_refptr<DevToolsProtocol::Command> command, | 319 scoped_refptr<DevToolsProtocol::Command> command, |
350 scoped_ptr<base::DictionaryValue> response_data) { | 320 scoped_ptr<base::DictionaryValue> response_data) { |
351 SendAsyncResponse(command->SuccessResponse(response_data.release())); | 321 SendAsyncResponse(command->SuccessResponse(response_data.release())); |
352 } | 322 } |
353 | 323 |
354 } // namespace content | 324 } // namespace content |
OLD | NEW |