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 3 // found in the LICENSE file. 4 5 #ifndef CHROME_RENDERER_EXTENSIONS_PEPPER_REQUEST_NATIVES_H_ 6 #define CHROME_RENDERER_EXTENSIONS_PEPPER_REQUEST_NATIVES_H_ 7 8 #include "base/compiler_specific.h" 9 #include "chrome/renderer/extensions/object_backed_native_handler.h" 10 11 namespace base { 12 class Value; 13 } 14 15 namespace extensions { 16 17 // Custom bindings for handling API calls from pepper plugins. 18 class PepperRequestNatives : public ObjectBackedNativeHandler { 19 public: 20 explicit PepperRequestNatives(ChromeV8Context* context); 21 22 private: 23 // Sends a response to an API call to the pepper plugin which made the call. 24 // |args| should contain: 25 // |request_id|: An int containing the id of the request. 26 // |response|: An array containing the response. 27 // |error|: A string containing the error message if an error occurred or 28 // null if the call was successful. 29 void SendResponse(const v8::FunctionCallbackInfo<v8::Value>& args); 30 31 DISALLOW_COPY_AND_ASSIGN(PepperRequestNatives); 32 }; 33 34 } // namespace extensions 35 36 #endif // CHROME_RENDERER_EXTENSIONS_PEPPER_REQUEST_NATIVES_H_ 37