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

Side by Side Diff: chrome/renderer/render_thread.cc

Issue 40132: Refactor v8 extensions to make registration avoid having to use ChromiumBridg... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <objbase.h> 9 #include <objbase.h>
10 #endif 10 #endif
11 #include <algorithm> 11 #include <algorithm>
12 12
13 #include "chrome/renderer/render_thread.h" 13 #include "chrome/renderer/render_thread.h"
14 14
15 #include "base/command_line.h"
15 #include "base/shared_memory.h" 16 #include "base/shared_memory.h"
16 #include "chrome/common/chrome_plugin_lib.h" 17 #include "chrome/common/chrome_plugin_lib.h"
18 #include "chrome/common/chrome_switches.h"
17 #include "chrome/common/render_messages.h" 19 #include "chrome/common/render_messages.h"
18 #include "chrome/common/notification_service.h" 20 #include "chrome/common/notification_service.h"
19 #include "chrome/common/url_constants.h" 21 #include "chrome/common/url_constants.h"
20 #include "chrome/plugin/npobject_util.h" 22 #include "chrome/plugin/npobject_util.h"
21 // TODO(port) 23 // TODO(port)
22 #if defined(OS_WIN) 24 #if defined(OS_WIN)
23 #include "chrome/plugin/plugin_channel.h" 25 #include "chrome/plugin/plugin_channel.h"
24 #else 26 #else
25 #include <vector> 27 #include <vector>
26 #include "base/scoped_handle.h" 28 #include "base/scoped_handle.h"
27 #include "chrome/plugin/plugin_channel_base.h" 29 #include "chrome/plugin/plugin_channel_base.h"
28 #include "webkit/glue/weburlrequest.h" 30 #include "webkit/glue/weburlrequest.h"
29 #endif 31 #endif
30 #include "chrome/renderer/net/render_dns_master.h" 32 #include "chrome/renderer/net/render_dns_master.h"
31 #include "chrome/renderer/render_process.h" 33 #include "chrome/renderer/render_process.h"
32 #include "chrome/renderer/render_view.h" 34 #include "chrome/renderer/render_view.h"
33 #include "chrome/renderer/renderer_webkitclient_impl.h" 35 #include "chrome/renderer/renderer_webkitclient_impl.h"
34 #include "chrome/renderer/user_script_slave.h" 36 #include "chrome/renderer/user_script_slave.h"
35 #include "chrome/renderer/visitedlink_slave.h" 37 #include "chrome/renderer/visitedlink_slave.h"
38 #include "webkit/extensions/v8/gears_extension.h"
39 #include "webkit/extensions/v8/interval_extension.h"
40 #include "webkit/extensions/v8/playback_extension.h"
36 #include "webkit/glue/cache_manager.h" 41 #include "webkit/glue/cache_manager.h"
37 42
38 #include "WebKit.h" 43 #include "WebKit.h"
39 #include "WebString.h" 44 #include "WebString.h"
40 45
41 static const unsigned int kCacheStatsDelayMS = 2000 /* milliseconds */; 46 static const unsigned int kCacheStatsDelayMS = 2000 /* milliseconds */;
42 47
43 48
44 //----------------------------------------------------------------------------- 49 //-----------------------------------------------------------------------------
45 // Methods below are only called on the owner's thread: 50 // Methods below are only called on the owner's thread:
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 &RenderThread::InformHostOfCacheStats), 242 &RenderThread::InformHostOfCacheStats),
238 kCacheStatsDelayMS); 243 kCacheStatsDelayMS);
239 } 244 }
240 245
241 void RenderThread::EnsureWebKitInitialized() { 246 void RenderThread::EnsureWebKitInitialized() {
242 if (webkit_client_.get()) 247 if (webkit_client_.get())
243 return; 248 return;
244 webkit_client_.reset(new RendererWebKitClientImpl); 249 webkit_client_.reset(new RendererWebKitClientImpl);
245 WebKit::initialize(webkit_client_.get()); 250 WebKit::initialize(webkit_client_.get());
246 WebKit::registerURLSchemeAsLocal(ASCIIToUTF16(chrome::kChromeUIScheme)); 251 WebKit::registerURLSchemeAsLocal(ASCIIToUTF16(chrome::kChromeUIScheme));
252 WebKit::registerExtension(extensions_v8::GearsExtension::Get());
253 WebKit::registerExtension(extensions_v8::IntervalExtension::Get());
254
255 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
256 if (command_line.HasSwitch(switches::kPlaybackMode) ||
257 command_line.HasSwitch(switches::kRecordMode)) {
258 WebKit::registerExtension(extensions_v8::PlaybackExtension::Get());
259 }
247 } 260 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698