OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/webui/web_ui_impl.h" | 5 #include "content/browser/webui/web_ui_impl.h" |
6 | 6 |
7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "content/browser/child_process_security_policy_impl.h" | 10 #include "content/browser/child_process_security_policy_impl.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 base::string16 WebUI::GetJavascriptCall( | 30 base::string16 WebUI::GetJavascriptCall( |
31 const std::string& function_name, | 31 const std::string& function_name, |
32 const std::vector<const base::Value*>& arg_list) { | 32 const std::vector<const base::Value*>& arg_list) { |
33 base::string16 parameters; | 33 base::string16 parameters; |
34 std::string json; | 34 std::string json; |
35 for (size_t i = 0; i < arg_list.size(); ++i) { | 35 for (size_t i = 0; i < arg_list.size(); ++i) { |
36 if (i > 0) | 36 if (i > 0) |
37 parameters += char16(','); | 37 parameters += char16(','); |
38 | 38 |
39 base::JSONWriter::Write(arg_list[i], &json); | 39 base::JSONWriter::Write(arg_list[i], &json); |
40 parameters += UTF8ToUTF16(json); | 40 parameters += base::UTF8ToUTF16(json); |
41 } | 41 } |
42 return ASCIIToUTF16(function_name) + | 42 return base::ASCIIToUTF16(function_name) + |
43 char16('(') + parameters + char16(')') + char16(';'); | 43 char16('(') + parameters + char16(')') + char16(';'); |
44 } | 44 } |
45 | 45 |
46 WebUIImpl::WebUIImpl(WebContents* contents) | 46 WebUIImpl::WebUIImpl(WebContents* contents) |
47 : link_transition_type_(PAGE_TRANSITION_LINK), | 47 : link_transition_type_(PAGE_TRANSITION_LINK), |
48 bindings_(BINDINGS_POLICY_WEB_UI), | 48 bindings_(BINDINGS_POLICY_WEB_UI), |
49 web_contents_(contents) { | 49 web_contents_(contents) { |
50 DCHECK(contents); | 50 DCHECK(contents); |
51 } | 51 } |
52 | 52 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 WebUIController* WebUIImpl::GetController() const { | 137 WebUIController* WebUIImpl::GetController() const { |
138 return controller_.get(); | 138 return controller_.get(); |
139 } | 139 } |
140 | 140 |
141 void WebUIImpl::SetController(WebUIController* controller) { | 141 void WebUIImpl::SetController(WebUIController* controller) { |
142 controller_.reset(controller); | 142 controller_.reset(controller); |
143 } | 143 } |
144 | 144 |
145 void WebUIImpl::CallJavascriptFunction(const std::string& function_name) { | 145 void WebUIImpl::CallJavascriptFunction(const std::string& function_name) { |
146 DCHECK(IsStringASCII(function_name)); | 146 DCHECK(IsStringASCII(function_name)); |
147 base::string16 javascript = ASCIIToUTF16(function_name + "();"); | 147 base::string16 javascript = base::ASCIIToUTF16(function_name + "();"); |
148 ExecuteJavascript(javascript); | 148 ExecuteJavascript(javascript); |
149 } | 149 } |
150 | 150 |
151 void WebUIImpl::CallJavascriptFunction(const std::string& function_name, | 151 void WebUIImpl::CallJavascriptFunction(const std::string& function_name, |
152 const base::Value& arg) { | 152 const base::Value& arg) { |
153 DCHECK(IsStringASCII(function_name)); | 153 DCHECK(IsStringASCII(function_name)); |
154 std::vector<const base::Value*> args; | 154 std::vector<const base::Value*> args; |
155 args.push_back(&arg); | 155 args.push_back(&arg); |
156 ExecuteJavascript(GetJavascriptCall(function_name, args)); | 156 ExecuteJavascript(GetJavascriptCall(function_name, args)); |
157 } | 157 } |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 void WebUIImpl::AddMessageHandler(WebUIMessageHandler* handler) { | 226 void WebUIImpl::AddMessageHandler(WebUIMessageHandler* handler) { |
227 DCHECK(!handler->web_ui()); | 227 DCHECK(!handler->web_ui()); |
228 handler->set_web_ui(this); | 228 handler->set_web_ui(this); |
229 handler->RegisterMessages(); | 229 handler->RegisterMessages(); |
230 handlers_.push_back(handler); | 230 handlers_.push_back(handler); |
231 } | 231 } |
232 | 232 |
233 void WebUIImpl::ExecuteJavascript(const base::string16& javascript) { | 233 void WebUIImpl::ExecuteJavascript(const base::string16& javascript) { |
234 static_cast<RenderViewHostImpl*>( | 234 static_cast<RenderViewHostImpl*>( |
235 web_contents_->GetRenderViewHost())->ExecuteJavascriptInWebFrame( | 235 web_contents_->GetRenderViewHost())->ExecuteJavascriptInWebFrame( |
236 ASCIIToUTF16(frame_xpath_), javascript); | 236 base::ASCIIToUTF16(frame_xpath_), javascript); |
237 } | 237 } |
238 | 238 |
239 } // namespace content | 239 } // namespace content |
OLD | NEW |