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

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

Issue 9657026: Revert 125801 - Implement a module system for the extension bindings JS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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/chrome_private_custom_bindings.h" 5 #include "chrome/renderer/extensions/chrome_private_custom_bindings.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "chrome/common/extensions/extension_action.h" 11 #include "chrome/common/extensions/extension_action.h"
12 #include "chrome/renderer/extensions/extension_dispatcher.h" 12 #include "chrome/renderer/extensions/extension_dispatcher.h"
13 #include "grit/renderer_resources.h" 13 #include "grit/renderer_resources.h"
14 #include "third_party/skia/include/core/SkBitmap.h" 14 #include "third_party/skia/include/core/SkBitmap.h"
15 #include "v8/include/v8.h" 15 #include "v8/include/v8.h"
16 #include "webkit/glue/webkit_glue.h" 16 #include "webkit/glue/webkit_glue.h"
17 17
18 namespace extensions { 18 namespace extensions {
19 19
20 ChromePrivateCustomBindings::ChromePrivateCustomBindings( 20 ChromePrivateCustomBindings::ChromePrivateCustomBindings(
21 int dependency_count,
22 const char** dependencies,
21 ExtensionDispatcher* extension_dispatcher) 23 ExtensionDispatcher* extension_dispatcher)
22 : ChromeV8Extension(extension_dispatcher) { 24 : ChromeV8Extension(
23 RouteStaticFunction("DecodeJPEG", &DecodeJPEG); 25 "extensions/chrome_private_custom_bindings.js",
24 } 26 IDR_CHROME_PRIVATE_CUSTOM_BINDINGS_JS,
27 dependency_count,
28 dependencies,
29 extension_dispatcher) {}
25 30
26 // static 31 // static
27 v8::Handle<v8::Value> ChromePrivateCustomBindings::DecodeJPEG( 32 v8::Handle<v8::Value> ChromePrivateCustomBindings::DecodeJPEG(
28 const v8::Arguments& args) { 33 const v8::Arguments& args) {
29 ChromePrivateCustomBindings* v8_extension = 34 ChromePrivateCustomBindings* v8_extension =
30 GetFromArguments<ChromePrivateCustomBindings>(args); 35 GetFromArguments<ChromePrivateCustomBindings>(args);
31 const ::Extension* extension = 36 const ::Extension* extension =
32 v8_extension->GetExtensionForCurrentRenderView(); 37 v8_extension->GetExtensionForCurrentRenderView();
33 if (!extension) 38 if (!extension)
34 return v8::Undefined(); 39 return v8::Undefined();
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 // Note(mnaganov): to speed this up, you may use backing store 80 // Note(mnaganov): to speed this up, you may use backing store
76 // technique from CreateExternalArray() of v8/src/d8.cc. 81 // technique from CreateExternalArray() of v8/src/d8.cc.
77 v8::Local<v8::Array> bitmap_array(v8::Array::New(width * height)); 82 v8::Local<v8::Array> bitmap_array(v8::Array::New(width * height));
78 for (int i = 0; i != width * height; ++i) { 83 for (int i = 0; i != width * height; ++i) {
79 bitmap_array->Set(v8::Integer::New(i), 84 bitmap_array->Set(v8::Integer::New(i),
80 v8::Integer::New(pixels[i] & 0xFFFFFF)); 85 v8::Integer::New(pixels[i] & 0xFFFFFF));
81 } 86 }
82 return bitmap_array; 87 return bitmap_array;
83 } 88 }
84 89
90 v8::Handle<v8::FunctionTemplate> ChromePrivateCustomBindings::GetNativeFunction(
91 v8::Handle<v8::String> name) {
92 if (name->Equals(v8::String::New("DecodeJPEG")))
93 return v8::FunctionTemplate::New(DecodeJPEG, v8::External::New(this));
94
95 return ChromeV8Extension::GetNativeFunction(name);
96 }
97
85 } // namespace extensions 98 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/renderer/extensions/chrome_private_custom_bindings.h ('k') | chrome/renderer/extensions/chrome_v8_context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698