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_ 57