Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / extensions / renderer / logging_native_handler.h
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_LOGGING_NATIVE_HANDLER_H_
6 #define EXTENSIONS_RENDERER_LOGGING_NATIVE_HANDLER_H_
7
8 #include <string>
9
10 #include "extensions/renderer/object_backed_native_handler.h"
11
12 namespace extensions {
13 class ScriptContext;
14
15 // Exposes logging.h macros to JavaScript bindings.
16 class LoggingNativeHandler : public ObjectBackedNativeHandler {
17  public:
18   explicit LoggingNativeHandler(ScriptContext* context);
19   virtual ~LoggingNativeHandler();
20
21   // Equivalent to CHECK(predicate) << message.
22   //
23   // void(predicate, message?)
24   void Check(const v8::FunctionCallbackInfo<v8::Value>& args);
25
26   // Equivalent to DCHECK(predicate) << message.
27   //
28   // void(predicate, message?)
29   void Dcheck(const v8::FunctionCallbackInfo<v8::Value>& args);
30
31   // Equivalent to DCHECK_IS_ON.
32   //
33   // bool()
34   void DcheckIsOn(const v8::FunctionCallbackInfo<v8::Value>& args);
35
36   // Equivalent to LOG(INFO) << message.
37   //
38   // void(message)
39   void Log(const v8::FunctionCallbackInfo<v8::Value>& args);
40
41   // Equivalent to LOG(WARNING) << message.
42   //
43   // void(message)
44   void Warning(const v8::FunctionCallbackInfo<v8::Value>& args);
45
46   void ParseArgs(const v8::FunctionCallbackInfo<v8::Value>& args,
47                  bool* check_value,
48                  std::string* error_message);
49
50   std::string ToStringOrDefault(const v8::Handle<v8::String>& v8_string,
51                                 const std::string& dflt);
52 };
53
54 }  // namespace extensions
55
56 #endif  // EXTENSIONS_RENDERER_LOGGING_NATIVE_HANDLER_H_