OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 CHROME_RENDERER_EXTENSIONS_BLOB_NATIVE_HANDLER_H_ | 5 #ifndef CHROME_RENDERER_EXTENSIONS_BLOB_NATIVE_HANDLER_H_ |
6 #define CHROME_RENDERER_EXTENSIONS_BLOB_NATIVE_HANDLER_H_ | 6 #define CHROME_RENDERER_EXTENSIONS_BLOB_NATIVE_HANDLER_H_ |
7 | 7 |
8 #include "chrome/renderer/extensions/chrome_v8_extension.h" | 8 #include "extensions/renderer/object_backed_native_handler.h" |
9 | 9 |
10 namespace extensions { | 10 namespace extensions { |
| 11 class ScriptContext; |
11 | 12 |
12 // 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 |
13 // browser process extension implementation via argument modification. This is | 14 // browser process extension implementation via argument modification. This is |
14 // necessary to support extension functions that take Blob parameters, as Blobs | 15 // necessary to support extension functions that take Blob parameters, as Blobs |
15 // 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. |
16 // | 17 // |
17 // 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 |
18 // app using this technique must be sure to keep a reference. | 19 // app using this technique must be sure to keep a reference. |
19 class BlobNativeHandler : public ObjectBackedNativeHandler { | 20 class BlobNativeHandler : public ObjectBackedNativeHandler { |
20 public: | 21 public: |
21 explicit BlobNativeHandler(ChromeV8Context* context); | 22 explicit BlobNativeHandler(ScriptContext* context); |
22 }; | 23 }; |
23 | 24 |
24 } // namespace extensions | 25 } // namespace extensions |
25 | 26 |
26 #endif // CHROME_RENDERER_EXTENSIONS_BLOB_NATIVE_HANDLER_H_ | 27 #endif // CHROME_RENDERER_EXTENSIONS_BLOB_NATIVE_HANDLER_H_ |
OLD | NEW |