| 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..c147ec69968273d702a8a478f23612475659770a
|
| --- /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 (mojoBindings) {
|
| + throw new Error('mojoBindings has been initialized.');
|
| +}
|
| +
|
| +var mojoBindings = {};
|
| +mojoBindings.internal = {};
|
| +mojoBindings.internal.global = this;
|
| +
|
| +(function() {
|
| + var internal = mojoBindings.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;
|
| +})();
|
|
|