1 // Copyright (c) 2012 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.
5 #ifndef CHROME_RENDERER_EXTENSIONS_SEND_REQUEST_NATIVES_H_
6 #define CHROME_RENDERER_EXTENSIONS_SEND_REQUEST_NATIVES_H_
8 #include "chrome/renderer/extensions/chrome_v8_extension.h"
9 #include "chrome/renderer/extensions/dispatcher.h"
11 #include "v8/include/v8.h"
13 namespace extensions
{
14 class ChromeV8Context
;
17 // Native functions exposed to extensions via JS for calling API functions in
19 class SendRequestNatives
: public ChromeV8Extension
{
21 SendRequestNatives(Dispatcher
* dispatcher
,
22 RequestSender
* request_sender
,
23 ChromeV8Context
* context
);
26 v8::Handle
<v8::Value
> GetNextRequestId(const v8::Arguments
& args
);
28 // Starts an API request to the browser, with an optional callback. The
29 // callback will be dispatched to EventBindings::HandleResponse.
30 v8::Handle
<v8::Value
> StartRequest(const v8::Arguments
& args
);
32 // Gets a reference to an object's global object.
33 v8::Handle
<v8::Value
> GetGlobal(const v8::Arguments
& args
);
35 RequestSender
* request_sender_
;
37 ChromeV8Context
* context_
;
39 DISALLOW_COPY_AND_ASSIGN(SendRequestNatives
);
42 } // namespace extensions
44 #endif // CHROME_RENDERER_EXTENSIONS_SEND_REQUEST_NATIVES_H_