Index: mojo/public/js/new_bindings/base.js |
diff --git a/mojo/public/js/new_bindings/base.js b/mojo/public/js/new_bindings/base.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ef7aa32f73646c47bec8b51694b458ad50d929a7 |
--- /dev/null |
+++ b/mojo/public/js/new_bindings/base.js |
@@ -0,0 +1,33 @@ |
+// Copyright 2017 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. |
+ |
+'use strict'; |
+ |
+if (mojo && mojo.internal) { |
+ throw new Error('The Mojo bindings library has been initialized.'); |
+} |
+ |
+var mojo = mojo || {}; |
+mojo.internal = {}; |
+mojo.internal.global = this; |
+ |
+(function() { |
+ var internal = mojo.internal; |
+ |
+ function exposeNamespace(namespace) { |
+ var current = internal.global; |
+ var parts = namespace.split('.'); |
+ |
+ for (var part; parts.length && (part = parts.shift());) { |
+ if (!current[part]) { |
+ current[part] = {}; |
+ } |
+ current = current[part]; |
+ } |
+ |
+ return current; |
+ } |
+ |
+ internal.exposeNamespace = exposeNamespace; |
+})(); |