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
10namespace extensions {
11class 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.
20class 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