| Index: chrome/browser/resources/chromeos/backloader/web/cros_validator.js
|
| diff --git a/chrome/browser/resources/chromeos/backloader/web/cros_validator.js b/chrome/browser/resources/chromeos/backloader/web/cros_validator.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b849fcfe8a6dc4bb7261a660fdcbd183cfc7b061
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/chromeos/backloader/web/cros_validator.js
|
| @@ -0,0 +1,48 @@
|
| +// Copyright (c) 2012 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.
|
| +
|
| +function ChromeOSValidator() {
|
| +}
|
| +
|
| +ChromeOSValidator.getInstance = function() {
|
| + if (!ChromeOSValidator.instance_) {
|
| + ChromeOSValidator.instance_ = new ChromeOSValidator();
|
| + }
|
| + return ChromeOSValidator.instance_;
|
| +};
|
| +
|
| +ChromeOSValidator.prototype = {
|
| + LOADER_ORIGIN: 'chrome-extension://nbicjcbcmclhihdkigkjgkgafckdfcom',
|
| + LOADER_PAGE: '/background.html',
|
| + callback_: undefined,
|
| +
|
| + validate: function(callback) {
|
| + this.callback_ = callback;
|
| + var msg = { method: 'validate' };
|
| + window.parent.postMessage(msg,
|
| + this.LOADER_ORIGIN + this.LOADER_PAGE);
|
| + },
|
| +
|
| + initialize: function() {
|
| + window.addEventListener('message', this.onMessage.bind(this), false);
|
| + },
|
| +
|
| + isValidMessage_: function(msg) {
|
| + return msg.origin == this.LOADER_ORIGIN;
|
| + },
|
| +
|
| + onMessage: function(e) {
|
| + var msg = e.data;
|
| + if (msg.method == 'validationResults' && this.isValidMessage_(e)) {
|
| + if (this.callback_)
|
| + this.callback_(msg.os == 'ChromeOS');
|
| + } else {
|
| + console.log('#### ChromeOSValidator.onMessage: unknown message');
|
| + if (this.callback_)
|
| + this.callback_(false);
|
| + }
|
| + }
|
| +};
|
| +
|
| +ChromeOSValidator.getInstance().initialize();
|
|
|