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

Side by Side Diff: chrome/renderer/extensions/extension_helper.cc

Issue 12737007: Merge 188631 "Don't throw exceptions when v8 objects/contexts ar..." (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1443/src/
Patch Set: Created 7 years, 9 months 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 | Annotate | Revision Log
OLDNEW
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 "chrome/renderer/extensions/extension_helper.h" 5 #include "chrome/renderer/extensions/extension_helper.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/json/json_string_value_serializer.h" 10 #include "base/json/json_string_value_serializer.h"
11 #include "base/lazy_instance.h" 11 #include "base/lazy_instance.h"
12 #include "base/message_loop.h" 12 #include "base/message_loop.h"
13 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
14 #include "chrome/common/chrome_switches.h" 14 #include "chrome/common/chrome_switches.h"
15 #include "chrome/common/extensions/extension_messages.h" 15 #include "chrome/common/extensions/extension_messages.h"
16 #include "chrome/common/render_messages.h" 16 #include "chrome/common/render_messages.h"
17 #include "chrome/common/url_constants.h" 17 #include "chrome/common/url_constants.h"
18 #include "chrome/common/view_type.h" 18 #include "chrome/common/view_type.h"
19 #include "chrome/renderer/extensions/chrome_v8_context.h" 19 #include "chrome/renderer/extensions/chrome_v8_context.h"
20 #include "chrome/renderer/extensions/console.h"
20 #include "chrome/renderer/extensions/dispatcher.h" 21 #include "chrome/renderer/extensions/dispatcher.h"
21 #include "chrome/renderer/extensions/miscellaneous_bindings.h" 22 #include "chrome/renderer/extensions/miscellaneous_bindings.h"
22 #include "chrome/renderer/extensions/user_script_scheduler.h" 23 #include "chrome/renderer/extensions/user_script_scheduler.h"
23 #include "chrome/renderer/extensions/user_script_slave.h" 24 #include "chrome/renderer/extensions/user_script_slave.h"
24 #include "content/public/renderer/render_view.h" 25 #include "content/public/renderer/render_view.h"
25 #include "content/public/renderer/render_view_visitor.h" 26 #include "content/public/renderer/render_view_visitor.h"
26 #include "extensions/common/constants.h" 27 #include "extensions/common/constants.h"
27 #include "third_party/WebKit/Source/Platform/chromium/public/WebURLRequest.h" 28 #include "third_party/WebKit/Source/Platform/chromium/public/WebURLRequest.h"
28 #include "third_party/WebKit/Source/WebKit/chromium/public/WebConsoleMessage.h" 29 #include "third_party/WebKit/Source/WebKit/chromium/public/WebConsoleMessage.h"
29 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" 30 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 CHECK_GE(init_tab_id, 0); 358 CHECK_GE(init_tab_id, 0);
358 tab_id_ = init_tab_id; 359 tab_id_ = init_tab_id;
359 } 360 }
360 361
361 void ExtensionHelper::OnUpdateBrowserWindowId(int window_id) { 362 void ExtensionHelper::OnUpdateBrowserWindowId(int window_id) {
362 browser_window_id_ = window_id; 363 browser_window_id_ = window_id;
363 } 364 }
364 365
365 void ExtensionHelper::OnAddMessageToConsole(ConsoleMessageLevel level, 366 void ExtensionHelper::OnAddMessageToConsole(ConsoleMessageLevel level,
366 const std::string& message) { 367 const std::string& message) {
367 AddMessageToRootConsole(level, UTF8ToUTF16(message)); 368 console::AddMessage(render_view(), level, message);
368 } 369 }
369 370
370 void ExtensionHelper::OnAppWindowClosed() { 371 void ExtensionHelper::OnAppWindowClosed() {
371 v8::HandleScope scope; 372 v8::HandleScope scope;
372 v8::Handle<v8::Context> script_context = 373 v8::Handle<v8::Context> script_context =
373 render_view()->GetWebView()->mainFrame()->mainWorldScriptContext(); 374 render_view()->GetWebView()->mainFrame()->mainWorldScriptContext();
374 ChromeV8Context* chrome_v8_context = 375 ChromeV8Context* chrome_v8_context =
375 dispatcher_->v8_context_set().GetByV8Context(script_context); 376 dispatcher_->v8_context_set().GetByV8Context(script_context);
376 if (!chrome_v8_context) 377 if (!chrome_v8_context)
377 return; 378 return;
378 chrome_v8_context->CallChromeHiddenMethod("OnAppWindowClosed", 0, NULL, NULL); 379 chrome_v8_context->CallChromeHiddenMethod("OnAppWindowClosed", 0, NULL, NULL);
379 } 380 }
380 381
381 void ExtensionHelper::AddMessageToRootConsole(ConsoleMessageLevel level,
382 const std::string& message) {
383 AddMessageToRootConsole(level, ASCIIToUTF16(message));
384 }
385
386 void ExtensionHelper::AddMessageToRootConsole(ConsoleMessageLevel level,
387 const string16& message) {
388 if (render_view()->GetWebView() && render_view()->GetWebView()->mainFrame()) {
389 WebConsoleMessage::Level target_level = WebConsoleMessage::LevelLog;
390 switch (level) {
391 case content::CONSOLE_MESSAGE_LEVEL_DEBUG:
392 target_level = WebConsoleMessage::LevelDebug;
393 break;
394 case content::CONSOLE_MESSAGE_LEVEL_LOG:
395 target_level = WebConsoleMessage::LevelLog;
396 break;
397 case content::CONSOLE_MESSAGE_LEVEL_WARNING:
398 target_level = WebConsoleMessage::LevelWarning;
399 break;
400 case content::CONSOLE_MESSAGE_LEVEL_ERROR:
401 target_level = WebConsoleMessage::LevelError;
402 break;
403 }
404 render_view()->GetWebView()->mainFrame()->addMessageToConsole(
405 WebConsoleMessage(target_level, message));
406 }
407 }
408
409 } // namespace extensions 382 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/renderer/extensions/extension_helper.h ('k') | chrome/renderer/extensions/miscellaneous_bindings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698