Suppression for crbug/241044.
[chromium-blink-merge.git] / chrome / renderer / extensions / send_request_natives.h
blob1e3437a5e6a120d16536ddc1d2e746f3b3a40d1b
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;
15 class RequestSender;
17 // Native functions exposed to extensions via JS for calling API functions in
18 // the browser.
19 class SendRequestNatives : public ChromeV8Extension {
20 public:
21 SendRequestNatives(Dispatcher* dispatcher,
22 RequestSender* request_sender,
23 ChromeV8Context* context);
25 private:
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_