Delete chromeHidden! This involves (a) moving all the remaining modules
exported on chromeHidden into module system exports (notably Event and
JSONSchemaValidator) and (b) moving all of the local state stored on
chromeHidden into local variables.

[email protected]

BUG=55316, 244205

Review URL: https://codereview.chromium.org/16256026

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204396 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/renderer/extensions/logging_native_handler.h b/chrome/renderer/extensions/logging_native_handler.h
new file mode 100644
index 0000000..9097522
--- /dev/null
+++ b/chrome/renderer/extensions/logging_native_handler.h
@@ -0,0 +1,55 @@
+// Copyright 2013 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 CHROME_RENDERER_EXTENSIONS_LOGGING_NATIVE_HANDLER_H_
+#define CHROME_RENDERER_EXTENSIONS_LOGGING_NATIVE_HANDLER_H_
+
+#include <string>
+
+#include "chrome/renderer/extensions/object_backed_native_handler.h"
+
+namespace extensions {
+
+// Exposes logging.h macros to JavaScript bindings.
+class LoggingNativeHandler : public ObjectBackedNativeHandler {
+ public:
+  explicit LoggingNativeHandler(ChromeV8Context* context);
+  virtual ~LoggingNativeHandler();
+
+  // Equivalent to CHECK(predicate) << message.
+  //
+  // void(predicate, message?)
+  v8::Handle<v8::Value> Check(const v8::Arguments& args);
+
+  // Equivalent to DCHECK(predicate) << message.
+  //
+  // void(predicate, message?)
+  v8::Handle<v8::Value> Dcheck(const v8::Arguments& args);
+
+  // Equivalent to DCHECK_IS_ON().
+  //
+  // bool()
+  v8::Handle<v8::Value> DcheckIsOn(const v8::Arguments& args);
+
+  // Equivalent to LOG(INFO) << message.
+  //
+  // void(message)
+  v8::Handle<v8::Value> Log(const v8::Arguments& args);
+
+  // Equivalent to LOG(WARNING) << message.
+  //
+  // void(message)
+  v8::Handle<v8::Value> Warning(const v8::Arguments& args);
+
+  void ParseArgs(const v8::Arguments& args,
+                 bool* check_value,
+                 std::string* error_message);
+
+  std::string ToStringOrDefault(const v8::Handle<v8::String>& v8_string,
+                                const std::string& dflt);
+};
+
+}  // namespace extensions
+
+#endif  // CHROME_RENDERER_EXTENSIONS_LOGGING_NATIVE_HANDLER_H_