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