1 // Copyright 2014 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.
5 #ifndef EXTENSIONS_RENDERER_BLOB_NATIVE_HANDLER_H_
6 #define EXTENSIONS_RENDERER_BLOB_NATIVE_HANDLER_H_
8 #include "extensions/renderer/object_backed_native_handler.h"
10 namespace extensions
{
13 // This native handler is used to extract Blobs' UUIDs and pass them over to the
14 // browser process extension implementation via argument modification. This is
15 // necessary to support extension functions that take Blob parameters, as Blobs
16 // are not serialized and sent over to the browser process in the normal way.
18 // Blobs sent via this method don't have their ref-counts incremented, so the
19 // app using this technique must be sure to keep a reference.
20 class BlobNativeHandler
: public ObjectBackedNativeHandler
{
22 explicit BlobNativeHandler(ScriptContext
* context
);
25 void TakeBrowserProcessBlob(const v8::FunctionCallbackInfo
<v8::Value
>& args
);
28 } // namespace extensions
30 #endif // EXTENSIONS_RENDERER_BLOB_NATIVE_HANDLER_H_