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 |