C++程序  |  41行  |  1.46 KB

// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef EXTENSIONS_RENDERER_PROCESS_INFO_NATIVE_HANDLER_H_
#define EXTENSIONS_RENDERER_PROCESS_INFO_NATIVE_HANDLER_H_

#include <string>

#include "extensions/renderer/object_backed_native_handler.h"

namespace extensions {

class ProcessInfoNativeHandler : public ObjectBackedNativeHandler {
 public:
  ProcessInfoNativeHandler(ScriptContext* context,
                           const std::string& extension_id,
                           const std::string& context_type,
                           bool is_incognito_context,
                           int manifest_version,
                           bool send_request_disabled);

 private:
  void GetExtensionId(const v8::FunctionCallbackInfo<v8::Value>& args);
  void GetContextType(const v8::FunctionCallbackInfo<v8::Value>& args);
  void InIncognitoContext(const v8::FunctionCallbackInfo<v8::Value>& args);
  void GetManifestVersion(const v8::FunctionCallbackInfo<v8::Value>& args);
  void IsSendRequestDisabled(const v8::FunctionCallbackInfo<v8::Value>& args);
  void HasSwitch(const v8::FunctionCallbackInfo<v8::Value>& args);

  std::string extension_id_;
  std::string context_type_;
  bool is_incognito_context_;
  int manifest_version_;
  bool send_request_disabled_;
};

}  // namespace extensions

#endif  // EXTENSIONS_RENDERER_PROCESS_INFO_NATIVE_HANDLER_H_