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

Side by Side Diff: webkit/glue/cpp_bound_class.cc

Issue 387020: Upstreaming WebKit.gyp (Closed)
Patch Set: Created 11 years, 1 month 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
« no previous file with comments | « webkit/glue/context_menu_unittest.cc ('k') | webkit/glue/cpp_bound_class_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // This file contains definitions for CppBoundClass 5 // This file contains definitions for CppBoundClass
6 6
7 // Here's the control flow of a JS method getting forwarded to a class. 7 // Here's the control flow of a JS method getting forwarded to a class.
8 // - Something calls our NPObject with a function like "Invoke". 8 // - Something calls our NPObject with a function like "Invoke".
9 // - CppNPObject's static invoke() function forwards it to its attached 9 // - CppNPObject's static invoke() function forwards it to its attached
10 // CppBoundClass's Invoke() method. 10 // CppBoundClass's Invoke() method.
11 // - CppBoundClass has then overridden Invoke() to look up the function 11 // - CppBoundClass has then overridden Invoke() to look up the function
12 // name in its internal map of methods, and then calls the appropriate 12 // name in its internal map of methods, and then calls the appropriate
13 // method. 13 // method.
14 14
15 #include "base/compiler_specific.h" 15 #include "base/compiler_specific.h"
16 #include "base/logging.h" 16 #include "base/logging.h"
17 #include "base/string_util.h" 17 #include "base/string_util.h"
18 #include "webkit/api/public/WebBindings.h" 18 #include "third_party/WebKit/WebKit/chromium/public/WebBindings.h"
19 #include "webkit/api/public/WebFrame.h" 19 #include "third_party/WebKit/WebKit/chromium/public/WebFrame.h"
20 #include "webkit/api/public/WebString.h" 20 #include "third_party/WebKit/WebKit/chromium/public/WebString.h"
21 #include "webkit/glue/cpp_bound_class.h" 21 #include "webkit/glue/cpp_bound_class.h"
22 22
23 using WebKit::WebBindings; 23 using WebKit::WebBindings;
24 using WebKit::WebFrame; 24 using WebKit::WebFrame;
25 25
26 namespace { 26 namespace {
27 27
28 class CppVariantPropertyCallback : public CppBoundClass::PropertyCallback { 28 class CppVariantPropertyCallback : public CppBoundClass::PropertyCallback {
29 public: 29 public:
30 CppVariantPropertyCallback(CppVariant* value) : value_(value) { } 30 CppVariantPropertyCallback(CppVariant* value) : value_(value) { }
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 JSC::JSLock lock(false); 321 JSC::JSLock lock(false);
322 #endif 322 #endif
323 323
324 // BindToWindowObject will take its own reference to the NPObject, and clean 324 // BindToWindowObject will take its own reference to the NPObject, and clean
325 // up after itself. It will also (indirectly) register the object with V8, 325 // up after itself. It will also (indirectly) register the object with V8,
326 // so we must remember this so we can unregister it when we're destroyed. 326 // so we must remember this so we can unregister it when we're destroyed.
327 frame->bindToWindowObject(WideToUTF16Hack(classname), 327 frame->bindToWindowObject(WideToUTF16Hack(classname),
328 NPVARIANT_TO_OBJECT(*GetAsCppVariant())); 328 NPVARIANT_TO_OBJECT(*GetAsCppVariant()));
329 bound_to_frame_ = true; 329 bound_to_frame_ = true;
330 } 330 }
OLDNEW
« no previous file with comments | « webkit/glue/context_menu_unittest.cc ('k') | webkit/glue/cpp_bound_class_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698