summaryrefslogtreecommitdiffstats
path: root/extensions/renderer/blob_native_handler.cc
diff options
context:
space:
mode:
authorrockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-17 04:37:37 +0000
committerrockot@chromium.org <rockot@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-17 04:37:37 +0000
commit701a94eca898108d9c2db22137dcca5cc1670f3a (patch)
tree0755fe926595396a617356204177c66deb1bc439 /extensions/renderer/blob_native_handler.cc
parentab0a831fea8167144a88f3157dfd776f654d057a (diff)
downloadchromium_src-701a94eca898108d9c2db22137dcca5cc1670f3a.zip
chromium_src-701a94eca898108d9c2db22137dcca5cc1670f3a.tar.gz
chromium_src-701a94eca898108d9c2db22137dcca5cc1670f3a.tar.bz2
Move extensions bindings code out of //chrome
This moves several native handlers out of //chrome/renderer/extensions and into //extensions/renderer. Many of the changes are mechanical. Where applicable, ChromeV8Extension has been wiped out. BUG=359836 R=yoz@chromium.org TBR=reed@google.com for skia +DEPS TBR=ericu@chromium.org for fileapi +DEPS TBR=eseidel@chromium.org for WebKit/public/platform +DEPS TBR=sky@chromium.org for chrome/test TBR=maruel@chromium.org for PRESUBMIT.py Review URL: https://codereview.chromium.org/235943018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264413 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions/renderer/blob_native_handler.cc')
-rw-r--r--extensions/renderer/blob_native_handler.cc31
1 files changed, 31 insertions, 0 deletions
diff --git a/extensions/renderer/blob_native_handler.cc b/extensions/renderer/blob_native_handler.cc
new file mode 100644
index 0000000..c887af6
--- /dev/null
+++ b/extensions/renderer/blob_native_handler.cc
@@ -0,0 +1,31 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "extensions/renderer/blob_native_handler.h"
+
+#include "base/bind.h"
+#include "third_party/WebKit/public/platform/WebCString.h"
+#include "third_party/WebKit/public/platform/WebURL.h"
+#include "third_party/WebKit/public/web/WebBlob.h"
+
+namespace {
+
+// Expects a single Blob argument. Returns the Blob's UUID.
+void GetBlobUuid(const v8::FunctionCallbackInfo<v8::Value>& args) {
+ DCHECK_EQ(1, args.Length());
+ blink::WebBlob blob = blink::WebBlob::fromV8Value(args[0]);
+ args.GetReturnValue().Set(
+ v8::String::NewFromUtf8(args.GetIsolate(), blob.uuid().utf8().data()));
+}
+
+} // namespace
+
+namespace extensions {
+
+BlobNativeHandler::BlobNativeHandler(ScriptContext* context)
+ : ObjectBackedNativeHandler(context) {
+ RouteFunction("GetBlobUuid", base::Bind(&GetBlobUuid));
+}
+
+} // namespace extensions