Remove linux_chromium_gn_dbg from the chromium CQ.
[chromium-blink-merge.git] / extensions / renderer / blob_native_handler.h
blob6f986e56647fa1663488f3a67b71cc49c1024760
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 {
11 class ScriptContext;
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 {
21 public:
22 explicit BlobNativeHandler(ScriptContext* context);
24 private:
25 void TakeBrowserProcessBlob(const v8::FunctionCallbackInfo<v8::Value>& args);
28 } // namespace extensions
30 #endif // EXTENSIONS_RENDERER_BLOB_NATIVE_HANDLER_H_