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

Side by Side Diff: webkit/port/bindings/v8/extensions/Gears.cpp

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
(Empty)
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "config.h"
6 #include "Gears.h"
7
8 namespace WebCore {
9
10 const char* kGearsExtensionName = "v8/Gears";
11
12 // Note: when a page touches the "google.gears.factory" object, this script
13 // touches the DOM. We expect the DOM to be available at that time.
14 const char* kGearsExtensionScript =
15 "var google;"
16 "if (!google)"
17 " google = {};"
18 "if (!google.gears)"
19 " google.gears = {};"
20 "(function() {"
21 " var factory = null;"
22 " google.gears.__defineGetter__('factory', function() {"
23 " if (!factory) {"
24 " factory = document.createElement('object');"
25 " factory.width = 0;"
26 " factory.height = 0;"
27 " factory.style.visibility = 'hidden';"
28 " factory.type = 'application/x-googlegears';"
29 " document.documentElement.appendChild(factory);"
30 " }"
31 " return factory;"
32 " });"
33 "})();";
34
35 class GearsExtensionWrapper : public v8::Extension {
36 public:
37 GearsExtensionWrapper() :
38 v8::Extension(kGearsExtensionName, kGearsExtensionScript) {}
39 };
40
41 v8::Extension* GearsExtension::Get() {
42 return new GearsExtensionWrapper();
43 }
44
45 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698