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. 4 5 #ifndef EXTENSIONS_RENDERER_BLOB_NATIVE_HANDLER_H_ 6 #define EXTENSIONS_RENDERER_BLOB_NATIVE_HANDLER_H_ 7 8 #include "extensions/renderer/object_backed_native_handler.h" 9 10 namespace extensions { 11 class ScriptContext; 12 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. 17 // 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); 23 }; 24 25 } // namespace extensions 26 27 #endif // EXTENSIONS_RENDERER_BLOB_NATIVE_HANDLER_H_ 28