You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by br...@apache.org on 2013/06/25 20:58:03 UTC

[5/9] git commit: Delete old copies of Chrome files from www/crx_files.

Delete old copies of Chrome files from www/crx_files.

Only the config.platform.xml files are still used.


Project: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/commit/ee57b46c
Tree: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/tree/ee57b46c
Diff: http://git-wip-us.apache.org/repos/asf/cordova-app-harness/diff/ee57b46c

Branch: refs/heads/master
Commit: ee57b46c34d4d6b518b4c9a15cb6778e2ee78629
Parents: e80bb1d
Author: Braden Shepherdson <br...@gmail.com>
Authored: Fri Jun 14 09:57:12 2013 -0400
Committer: Braden Shepherdson <br...@gmail.com>
Committed: Thu Jun 20 10:43:56 2013 -0400

----------------------------------------------------------------------
 www/crx_files/www/chromeapp.html                |  15 --
 www/crx_files/www/chromeappstyles.css           |  14 --
 www/crx_files/www/chromebgpage.html             |  11 -
 www/crx_files/www/cordova_plugins.json          |   1 -
 .../www/plugins/chrome.common/events.js         |  53 -----
 .../www/plugins/chrome.fileSystem/fileSystem.js | 142 ------------
 www/crx_files/www/plugins/chrome.i18n/i18n.js   | 185 ----------------
 .../www/plugins/chrome.identity/identity.js     | 161 --------------
 .../www/plugins/chrome.socket/socket.js         | 216 -------------------
 .../www/plugins/chrome.storage/storage.js       | 202 -----------------
 .../www/plugins/chrome/api/app/runtime.js       |   7 -
 .../www/plugins/chrome/api/app/window.js        | 156 --------------
 .../www/plugins/chrome/api/bootstrap.js         |  13 --
 .../www/plugins/chrome/api/helpers/stubs.js     |  11 -
 www/crx_files/www/plugins/chrome/api/mobile.js  |  58 -----
 www/crx_files/www/plugins/chrome/api/runtime.js |  58 -----
 16 files changed, 1303 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/chromeapp.html
----------------------------------------------------------------------
diff --git a/www/crx_files/www/chromeapp.html b/www/crx_files/www/chromeapp.html
deleted file mode 100644
index 3cbd68d..0000000
--- a/www/crx_files/www/chromeapp.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<!--
-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.
--->
-<html>
-    <head>
-        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-        <meta name="format-detection" content="telephone=no">
-        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
-        <script src="cordova.js"></script>
-    </head>
-    <body></body>
-</html>

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/chromeappstyles.css
----------------------------------------------------------------------
diff --git a/www/crx_files/www/chromeappstyles.css b/www/crx_files/www/chromeappstyles.css
deleted file mode 100644
index 277f4fe..0000000
--- a/www/crx_files/www/chromeappstyles.css
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * 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.
- */
-
-/*
- * Contains extra user-agent styles to apply to all Chrome App windows.
- *
- * These should be kept in sync with:
- * http://code.google.com/searchframe#OAMlx_jo-ck/src/chrome/renderer/resources/extensions/platform_app.css
- */
-body { -webkit-user-select: none; }
-html, body { overflow: hidden; }

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/chromebgpage.html
----------------------------------------------------------------------
diff --git a/www/crx_files/www/chromebgpage.html b/www/crx_files/www/chromebgpage.html
deleted file mode 100644
index b732eaa..0000000
--- a/www/crx_files/www/chromebgpage.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<!--
-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.
--->
-<html>
-  <body>
-    <script>parent.chrome.mobile.impl.bgInit(this)</script>
-  </body>
-</html>

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/cordova_plugins.json
----------------------------------------------------------------------
diff --git a/www/crx_files/www/cordova_plugins.json b/www/crx_files/www/cordova_plugins.json
deleted file mode 100644
index fe11f7c..0000000
--- a/www/crx_files/www/cordova_plugins.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"file":"plugins/chrome/api/bootstrap.js","id":"chrome.bootstrap","runs":true},{"file":"plugins/chrome/api/app/runtime.js","id":"chrome.app.runtime","clobbers":["chrome.app.runtime"]},{"file":"plugins/chrome/api/app/window.js","id":"chrome.app.window","clobbers":["chrome.app.window"]},{"file":"plugins/chrome/api/helpers/stubs.js","id":"chrome.helpers.stubs"},{"file":"plugins/chrome/api/mobile.js","id":"chrome.mobile.impl","clobbers":["chrome.mobile.impl"]},{"file":"plugins/chrome/api/runtime.js","id":"chrome.runtime","clobbers":["chrome.runtime"]},{"file":"plugins/chrome.common/events.js","id":"chrome.common.events","clobbers":["chrome.Event"]},{"file":"plugins/chrome.fileSystem/fileSystem.js","id":"chrome.fileSystem.FileSystem","clobbers":["chrome.fileSystem"]},{"file":"plugins/chrome.i18n/i18n.js","id":"chrome.i18n.I18n","clobbers":["chrome.i18n"]},{"file":"plugins/chrome.identity/identity.js","id":"chrome.identity.Identity","clobbers":["chrome.identity","chrome.experimental.iden
 tity"]},{"file":"plugins/chrome.socket/socket.js","id":"chrome.socket.Socket","clobbers":["chrome.socket"]},{"file":"plugins/chrome.storage/storage.js","id":"chrome.storage.Storage","clobbers":["chrome.storage"]}]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome.common/events.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome.common/events.js b/www/crx_files/www/plugins/chrome.common/events.js
deleted file mode 100644
index 6f868b1..0000000
--- a/www/crx_files/www/plugins/chrome.common/events.js
+++ /dev/null
@@ -1,53 +0,0 @@
-cordova.define("chrome.common.events", function(require, exports, module) {// 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.
-
-var Event = function(opt_eventName) {
-  this.name = opt_eventName || '';
-  this.listeners = [];
-};
-
-// Deliberately not filtering functions that are already added.
-// I tested on desktop and it will call your callback once for each addListener.
-Event.prototype.addListener = function(cb) {
-  this.listeners.push(cb);
-};
-
-Event.prototype.findListener_ = function(cb) {
-  for(var i = 0; i < this.listeners.length; i++) {
-    if (this.listeners[i] == cb) {
-      return i;
-    }
-  }
-
-  return -1;
-};
-
-Event.prototype.removeListener = function(cb) {
-  var index = this.findListener_(cb);
-  if (index >= 0) {
-    this.listeners.splice(index, 1);
-  }
-};
-
-Event.prototype.hasListener = function(cb) {
-  return this.findListener_(cb) >= 0;
-};
-
-Event.prototype.hasListeners = function() {
-  return this.listeners.length > 0;
-};
-
-Event.prototype.fire = function() {
-  for (var i = 0; i < this.listeners.length; i++) {
-    this.listeners[i].apply(this, arguments);
-  }
-};
-
-// Stubs since we don't support Rules.
-Event.prototype.addRules = function() { };
-Event.prototype.getRules = function() { };
-Event.prototype.removeRules = function() { };
-
-module.exports = Event;
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome.fileSystem/fileSystem.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome.fileSystem/fileSystem.js b/www/crx_files/www/plugins/chrome.fileSystem/fileSystem.js
deleted file mode 100644
index ce613e5..0000000
--- a/www/crx_files/www/plugins/chrome.fileSystem/fileSystem.js
+++ /dev/null
@@ -1,142 +0,0 @@
-cordova.define("chrome.fileSystem.FileSystem", function(require, exports, module) {// 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.
-
-var platformId = cordova.require('cordova/platform').id;
-var FileEntry = cordova.require('cordova/plugin/FileEntry');
-
-exports.getDisplayPath = function(fileEntry, callback) {
-  callback(fileEntry.fullPath);
-};
-
-exports.getWritableEntry = function(fileEntry, callback) {
-  callback(null);
-};
-
-exports.isWritableEntry = function(fileEntry, callback) {
-  callback(false);
-};
-
-exports.chooseEntry = function(options, callback) {
-  // Ensure that the type is either unspecified or specified as 'openFile', as nothing else is supported.
-  if (options.type && options.type != 'openFile') {
-    // TODO(maxw): Determine a "more correct" way to fail here.
-    callback(null);
-    return;
-  }
-
-  // Create the callback for getFile.
-  // It creates a file entry and passes it to the chooseEntry callback.
-  var onFileReceived = function(nativeUri) {
-    var onUriResolved = function(fileEntry) {
-      callback(fileEntry);
-    };
-
-    var onUriResolveError = function(e) {
-      console.log(e.target.error.code);
-    };
-
-    resolveLocalFileSystemURI(nativeUri, onUriResolved, onUriResolveError);
-  };
-
-  if (platformId == 'ios') {
-    getFileIos(options, onFileReceived);
-  } else if (platformId == 'android') {
-    getFileAndroid(options, onFileReceived);
-  }
-};
-
-function getFileIos(options, onFileReceivedCallback) {
-  // Determine the media type.
-  var mediaType = determineMediaType(options.accepts, options.acceptsAllTypes);
-
-  // Prepare the options for getting the file.
-  var getFileOptions = { destinationType: navigator.camera.DestinationType.NATIVE_URI,
-                         sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,
-                         mediaType: mediaType };
-
-  // Use the camera to get an image or video.
-  navigator.camera.getPicture(onFileReceivedCallback, null, getFileOptions);
-}
-
-function getFileAndroid(options, onFileReceivedCallback) {
-  var AndroidFileChooser = cordova.require('cordova/plugin/android/filechooser');
-
-  // Determine the relevant mime types.
-  var mimeTypes = determineMimeTypes(options.accepts, options.acceptsAllTypes);
-
-  // Use the file chooser to get a file.
-  AndroidFileChooser.chooseFile(onFileReceivedCallback, null, mimeTypes);
-}
-
-function determineMediaType(acceptOptions, acceptsAllTypes) {
-  if (acceptsAllTypes) {
-    return navigator.camera.MediaType.ALLMEDIA;
-  }
-
-  var imageMimeTypeRegex = /^image\//;
-  var videoMimeTypeRegex = /^video\//;
-  var imageExtensionRegex = /^(?:jpg|png)$/;
-  var videoExtensionRegex = /^mov$/;
-  var imagesAllowed = false;
-  var videosAllowed = false;
-
-  // Iterate through all accept options.
-  // If we see anything image related, allow images.  If we see anything video related, allow videos.
-  if (acceptOptions) {
-    for (var i = 0; i < acceptOptions.length; i++) {
-      if (acceptOptions[i].mimeTypes) {
-        for (var j = 0; j < acceptOptions[i].mimeTypes.length; j++) {
-          if (imageMimeTypeRegex.test(acceptOptions[i].mimeTypes[j])) {
-            imagesAllowed = true;
-          } else if (videoMimeTypeRegex.test(acceptOptions[i].mimeTypes[j])) {
-            videosAllowed = true;
-          }
-        }
-      }
-      if (acceptOptions[i].extensions) {
-        for (var k = 0; k < acceptOptions[i].extensions.length; k++) {
-          if (imageExtensionRegex.test(acceptOptions[i].extensions[k])) {
-            imagesAllowed = true;
-          } else if (videoExtensionRegex.test(acceptOptions[i].extensions[k])) {
-            videosAllowed = true;
-          }
-        }
-      }
-    }
-  }
-
-  if (imagesAllowed && !videosAllowed) {
-    return navigator.camera.MediaType.PICTURE;
-  } else if (!imagesAllowed && videosAllowed) {
-    return navigator.camera.MediaType.VIDEO;
-  }
-
-  return navigator.camera.MediaType.ALLMEDIA;
-}
-
-function determineMimeTypes(acceptOptions, acceptsAllTypes) {
-  if (acceptsAllTypes) {
-    return [ '*/*' ];
-  }
-
-  // Pull out all the mime types.
-  // TODO(maxw): Determine mime types from extensions and add them to the returned list.
-  var mimeTypes = [ ];
-  if (acceptOptions) {
-    for (var i = 0; i < acceptOptions.length; i++) {
-      if (acceptOptions[i].mimeTypes) {
-        for (var j = 0; j < acceptOptions[i].mimeTypes.length; j++) {
-          mimeTypes.push(acceptOptions[i].mimeTypes[j]);
-        }
-      }
-    }
-  }
-
-  if (mimeTypes.length !== 0) {
-    return mimeTypes;
-  }
-
-  return [ '*/*' ];
-}
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome.i18n/i18n.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome.i18n/i18n.js b/www/crx_files/www/plugins/chrome.i18n/i18n.js
deleted file mode 100644
index 905466c..0000000
--- a/www/crx_files/www/plugins/chrome.i18n/i18n.js
+++ /dev/null
@@ -1,185 +0,0 @@
-cordova.define("chrome.i18n.I18n", function(require, exports, module) {// 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.
-
-var exec = cordova.require('cordova/exec');
-var runtime = require('chrome.runtime');
-
-exports.getAcceptLanguages = function(callback) {
-    // In the chrome implementation, acceptLanguage value can change with updates so we make a native call to get the system language
-    exec(callback, callback, 'ChromeI18n', 'getAcceptLanguages', []);
-};
-
-exports.getMessage = function(messageName, substitutions) {
-    // In the chrome implementation, the locale to translate to DOES NOT change with updates, it is keyed of window.navigator.language which is static for a session.
-    // This is implemented in _getLocalesToUse()
-    if(
-        (typeof messageName !== 'string') ||
-        (Array.isArray(substitutions) && substitutions.length > 9)
-    ) {
-        return;
-    }
-    messageName = messageName.toLowerCase();
-    var ret = '';
-    var localeChain = _getLocalesToUse();
-    var contentsForMessageName = _getMessageFromMessageJson(messageName, localeChain);
-    if(contentsForMessageName) {
-        ret = _applySubstitutions(contentsForMessageName, substitutions);
-    }
-    return ret;
-};
-
-function _endsWith(string, endString) {
-    if(endString.length > string.length) {
-        return false;
-    } else {
-        return (string.lastIndexOf(endString) === string.length - endString.length);
-    }
-}
-
-function _getFilePathForLocale(locale) {
-    return 'locales/' + locale.toLowerCase() + '/messages.json';
-}
-
-function _toLowerCaseMessageAndPlaceholders(obj) {
-    if(typeof obj !== 'undefined') {
-        var newObj = {};
-        for(var field in obj) {
-            if(obj[field].placeholders) {
-                var newPlaceholders = {};
-                for(var placeholderField in obj[field].placeholders) {
-                    newPlaceholders[placeholderField.toLowerCase()] = obj[field].placeholders[placeholderField];
-                }
-                obj[field].placeholders = newPlaceholders;
-            }
-            newObj[field.toLowerCase()] = obj[field];
-        }
-        return newObj;
-    }
-}
-
-function _getDefaultLocale() {
-    var manifestJson = runtime.getManifest();
-    if(manifestJson.default_locale) {
-        return manifestJson.default_locale;
-    } else {
-        throw new Error('Default locale not defined');
-    }
-}
-
-var memoizedJsonContents = {};
-function _getMessageFromMessageJson(messageName, localeChain) {
-    for(var i = 0; i < localeChain.length; i++) {
-        var locale = localeChain[i];
-        if (!memoizedJsonContents[locale]) {
-            var fileName = _getFilePathForLocale(locale);
-            var xhr = new XMLHttpRequest();
-            xhr.open('GET', fileName, false /* sync */);
-            xhr.send(null);
-            var contents = eval('(' + xhr.responseText + ')');
-            // convert all fields to lower case to check case insensitively
-            contents = _toLowerCaseMessageAndPlaceholders(contents);
-            memoizedJsonContents[locale] = contents;
-        }
-        if(memoizedJsonContents[locale][messageName]) {
-            return memoizedJsonContents[locale][messageName];
-        }
-    }
-}
-
-function _isLocaleAvailable(locale) {
-    var fileName = _getFilePathForLocale(locale);
-    var xhr = new XMLHttpRequest();
-    xhr.open('HEAD', fileName, false /* sync */);
-    xhr.send(null);
-    availableLocales[locale] = (xhr.status === 200);
-}
-
-var chosenLocales;
-function _getLocalesToUse() {
-    if(!chosenLocales) {
-        // language returned by window.navigator is in format en-US, need to change it to en_us
-        var windowLocale = window.navigator.language.replace('-', '_').toLowerCase();
-        var localesToUse = [windowLocale];
-        // Construct fallback chain
-        var lastIndex;
-        while((lastIndex = windowLocale.lastIndexOf('_')) !== -1) {
-            windowLocale = windowLocale.substring(0, lastIndex);
-            localesToUse.push(windowLocale);
-        }
-        var defaultLocale = _getDefaultLocale().toLowerCase();
-        if(localesToUse.indexOf(defaultLocale) == -1) {
-            localesToUse.push(defaultLocale);
-        }
-
-        chosenLocales = [] ;
-        for(var i = 0; i < localesToUse.length; i++) {
-            var currentLocale = localesToUse[i];
-            if(_isLocaleAvailable(currentLocale)) {
-                chosenLocales.push(currentLocale);
-            }
-        }
-    }
-    if(chosenLocales.length == 0) {
-        throw new Error('No usable locale.');
-    }
-    return chosenLocales;
-}
-
-function _getSubstitutionString(match, substitutions) {
-    if(match == '$$') {
-        return '$';
-    } else if(match == '$') {
-        return '';
-    }
-    else {
-        var locBaseOne = parseInt(match.substring(1));
-        if(isNaN(locBaseOne) || locBaseOne <= 0) {
-            return '';
-        }
-
-        if(substitutions[locBaseOne - 1]) {
-            return substitutions[locBaseOne - 1];
-        } else {
-            return '';
-        }
-    }
-}
-
-function _getPlaceholderText(placeholders, substitutions, match) {
-    // Switch to lower case to do case insensitive checking for matches
-    var placeholderField = match.substring(1, match.length - 1);
-    placeholderField = placeholderField.toLowerCase();
-    if(placeholders[placeholderField]) {
-        // form $1, $2 etc or '$$' or '$'
-        var placeholderText = placeholders[placeholderField].content.replace(/\$(([0-9]+)|\$)?/g, function(match) {
-            var substitutionString = _getSubstitutionString(match, substitutions);
-            return substitutionString;
-        });
-        return placeholderText;
-    } else {
-        return '';
-    }
-}
-
-function _applySubstitutions(messageObject, substitutions) {
-    if(typeof substitutions === 'undefined') {
-        substitutions = [];
-    } else if(Object.prototype.toString.call(substitutions) !== '[object Array]') {
-        substitutions = [substitutions];
-    }
-    // Look for any strings of form $WORD$ eg: $1stName$, form $1, $2 etc or any lone '$'
-    // Order of preference is as in this comment
-    var ret = messageObject.message.replace( /\$(([0-9a-zA-Z_]*\$)|([0-9]*))?/g, function(matchedString) {
-        // check which category of matchedString it is
-        if(matchedString.match(/\$[0-9a-zA-Z_]+\$/)) { // form $WORD$
-            var placeholderText = _getPlaceholderText(messageObject.placeholders, substitutions, matchedString);
-            return placeholderText;
-        } else { // form $1, $2 etc or '$$' or '$'
-            var substitutionString = _getSubstitutionString(matchedString, substitutions);
-            return substitutionString;
-        }
-    });
-    return ret;
-}
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome.identity/identity.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome.identity/identity.js b/www/crx_files/www/plugins/chrome.identity/identity.js
deleted file mode 100644
index 54f1597..0000000
--- a/www/crx_files/www/plugins/chrome.identity/identity.js
+++ /dev/null
@@ -1,161 +0,0 @@
-cordova.define("chrome.identity.Identity", function(require, exports, module) {// 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.
-
-var platformId = cordova.require('cordova/platform').id;
-var runtime = require('chrome.runtime');
-
-exports.TokenDetails = function(interactive) {
-    this.interactive = interactive || false;
-};
-
-exports.WebAuthFlowDetails = function(url, interactive, width, height, left, top) {
-    if (typeof url == 'undefined') {
-        throw new Error('Url required');
-    }
-    this.url = url;
-    this.interactive = interactive || false;
-    this.width = width;
-    this.height = height;
-    this.left = left;
-    this.top = top;
-};
-
-exports.getAuthToken = function(details, callback) {
-    if(typeof details == 'function') {
-        callback = details;
-        details = new exports.TokenDetails();
-    }
-    if (typeof callback == 'undefined') {
-        chrome.runtime.lastError = { 'message' : 'Callback function required' };
-        // Not calling callback as it wasnt provided
-        return;
-    }
-    var win = function(token) {
-        callback(token);
-    };
-    var fail = function() {
-        callback();
-    };
-
-    if (platformId == 'android') {
-        // Use native implementation for logging into google accounts
-        cordova.exec(win, fail, 'ChromeIdentity', 'getAuthToken', [details]);
-    } else {
-        // Use web app oauth flow
-        _getAuthTokenJS(win, fail, details);
-    }
-};
-
-exports.launchWebAuthFlow = function(details, callback) {
-    var failed = false;
-    var failMessage;
-    if (typeof details == 'undefined') {
-        failed = true;
-        failMessage = 'WebAuthFlowDetails required';
-    } else if (typeof callback == 'undefined') {
-        failed = true;
-        failMessage = 'Callback function required';
-    }
-
-    if(failed === true) {
-        chrome.runtime.lastError = { 'message' : failMessage };
-        // Not calling callback as it wasnt provided
-        return;
-    }
-
-    var finalURL = details.url;
-    var extractedRedirectedURL = _getParameterFromUrl(finalURL, 'redirect_uri', '?', '#');
-
-    if(typeof extractedRedirectedURL == 'undefined') {
-        chrome.runtime.lastError = { 'message' : 'launchWebAuthFlow: Parameter redirect_uri not found.' };
-        callback();
-    } else {
-        _launchInAppBrowser(finalURL, extractedRedirectedURL, callback);
-    }
-};
-
-function _getAuthTokenJS(win, fail , details) {
-    var failed = false;
-    var failMessage;
-    if(!details.interactive) {
-        // We cannot support non interactive mode.
-        // This requires the ability to use invisible InAppBrowser windows, which is not currently supported
-        failed = true;
-        failMessage = 'Unsupported mode - Non interactive mode is not supported';
-    }
-    var manifestJson = runtime.getManifest();
-    if(typeof manifestJson == 'undefined') {
-        failed = true;
-        failMessage = 'manifest.json is not defined';
-    } else if(typeof manifestJson.oauth2 == 'undefined') {
-        failed = true;
-        failMessage = 'oauth2 missing from manifest.json';
-    } else if(typeof manifestJson.oauth2.client_id == 'undefined') {
-        failed = true;
-        failMessage = 'client_id missing from manifest.json';
-    } else if(typeof manifestJson.oauth2.scopes == 'undefined') {
-        failed = true;
-        failMessage = 'scopes missing from manifest.json';
-    }
-
-    if(failed === true) {
-        chrome.runtime.lastError = { 'message' : failMessage };
-        fail();
-    }
-
-    var authURLBase = 'https://accounts.google.com/o/oauth2/auth?response_type=token';
-    var redirect_uri = 'http://www.google.com';
-    var client_id = manifestJson.oauth2.client_id;
-    var scope = manifestJson.oauth2.scopes;
-    var finalURL = authURLBase + '&redirect_uri=' + encodeURIComponent(redirect_uri) + '&client_id=' + encodeURIComponent(client_id) + '&scope=' + encodeURIComponent(scope.join('&'));
-
-    _launchInAppBrowser(finalURL, redirect_uri, function(newLoc) {
-        var token = _getParameterFromUrl(newLoc, 'access_token', '#');
-        if(typeof token == 'undefined') {
-            chrome.runtime.lastError = { 'message' : 'The redirect uri did not have the access token' };
-            fail();
-        } else {
-            win(token);
-        }
-    });
-}
-
-function _getParameterFromUrl(url, param, startString, endString) {
-    var splitUrl = url;
-    var urlParts;
-    if(typeof startString != 'undefined') {
-        urlParts = splitUrl.split(startString);
-        if(urlParts.length < 2) {
-            return;
-        } else {
-            splitUrl = urlParts[1];
-        }
-    }
-    if(typeof endString != 'undefined') {
-        urlParts = splitUrl.split(endString);
-        splitUrl = urlParts[0];
-    }
-    var vars = splitUrl.split('&');
-    for (var i = 0; i < vars.length; i++) {
-        var pair = vars[i].split('=');
-        // If first entry with this name
-        if (pair[0] === param) {
-            return decodeURIComponent(pair[1]);
-        }
-    }
-}
-
-function _launchInAppBrowser(authURL, redirectedURL, callback) {
-    var oAuthBrowser = window.open(authURL, '_blank', 'location=yes');
-    var listener = function(event) {
-        var newLoc = event.url;
-        if(newLoc.indexOf(redirectedURL) === 0 && newLoc.indexOf('#') !== -1) {
-            oAuthBrowser.removeEventListener('loadstart', listener);
-            oAuthBrowser.close();
-            callback(newLoc);
-        }
-    };
-    oAuthBrowser.addEventListener('loadstart', listener);
-}
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome.socket/socket.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome.socket/socket.js b/www/crx_files/www/plugins/chrome.socket/socket.js
deleted file mode 100644
index 389eec9..0000000
--- a/www/crx_files/www/plugins/chrome.socket/socket.js
+++ /dev/null
@@ -1,216 +0,0 @@
-cordova.define("chrome.socket.Socket", function(require, exports, module) {// 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.
-
-var platform = cordova.require('cordova/platform');
-var exec = cordova.require('cordova/exec');
-
-exports.create = function(socketMode, stuff, callback) {
-    if (typeof stuff == 'function') {
-        callback = stuff;
-        stuff = {};
-    }
-    var win = callback && function(socketId) {
-        var socketInfo = {
-            socketId: socketId
-        };
-        callback(socketInfo);
-    };
-    exec(win, null, 'ChromeSocket', 'create', [socketMode]);
-};
-
-exports.destroy = function(socketId) {
-    exec(null, null, 'ChromeSocket', 'destroy', [socketId]);
-};
-
-
-exports.connect = function(socketId, address, port, callback) {
-    var win = callback && function() {
-        callback(0);
-    };
-    var fail = callback && function() {
-        callback(-1);
-    };
-    exec(win, fail, 'ChromeSocket', 'connect', [socketId, address, port]);
-};
-
-exports.bind = function(socketId, address, port, callback) {
-    var win = callback && function() {
-        callback(0);
-    };
-    var fail = callback && function() {
-        callback(-1);
-    };
-    exec(win, fail, 'ChromeSocket', 'bind', [socketId, address, port]);
-};
-
-exports.disconnect = function(socketId) {
-    exec(null, null, 'ChromeSocket', 'disconnect', [socketId]);
-};
-
-
-exports.read = function(socketId, bufferSize, callback) {
-    if (typeof bufferSize == 'function') {
-        callback = bufferSize;
-        bufferSize = 0;
-    }
-    var win = callback && function(data) {
-        var readInfo = {
-            resultCode: data.byteLength || 1,
-            data: data
-        };
-        callback(readInfo);
-    };
-    var fail = callback && function() {
-        var readInfo = {
-            resultCode: 0
-        };
-        callback(readInfo);
-    };
-    exec(win, fail, 'ChromeSocket', 'read', [socketId, bufferSize]);
-};
-
-exports.write = function(socketId, data, callback) {
-    var type = Object.prototype.toString.call(data).slice(8, -1);
-    if (type != 'ArrayBuffer') {
-        throw new Error('chrome.socket.write - data is not an ArrayBuffer! (Got: ' + type + ')');
-    }
-    var win = callback && function(bytesWritten) {
-        var writeInfo = {
-            bytesWritten: bytesWritten
-        };
-        callback(writeInfo);
-    };
-    var fail = callback && function() {
-        var writeInfo = {
-            bytesWritten: 0
-        };
-        callback(writeInfo);
-    };
-    exec(win, fail, 'ChromeSocket', 'write', [socketId, data]);
-};
-
-
-exports.recvFrom = function(socketId, bufferSize, callback) {
-    if (typeof bufferSize == 'function') {
-        callback = bufferSize;
-        bufferSize = 0;
-    }
-    var win;
-    if (platform.id == 'android') {
-        win = callback && (function() {
-            var data;
-            var call = 0;
-            return function(arg) {
-                if (call === 0) {
-                    data = arg;
-                    call++;
-                } else {
-                    var recvFromInfo = {
-                        resultCode: data.byteLength || 1,
-                        data: data,
-                        address: arg.address,
-                        port: arg.port
-                    };
-
-                    callback(recvFromInfo);
-                }
-            };
-        })();
-    } else {
-        win = callback && function(data, address, port) {
-            var recvFromInfo = {
-                resultCode: data.byteLength || 1,
-                data: data,
-                address: address,
-                port: port
-            };
-            callback(recvFromInfo);
-        };
-    }
-
-    var fail = callback && function() {
-        var readInfo = {
-            resultCode: 0
-        };
-        callback(readInfo);
-    };
-    exec(win, fail, 'ChromeSocket', 'recvFrom', [socketId, bufferSize]);
-};
-
-exports.sendTo = function(socketId, data, address, port, callback) {
-    var type = Object.prototype.toString.call(data).slice(8, -1);
-    if (type != 'ArrayBuffer') {
-        throw new Error('chrome.socket.write - data is not an ArrayBuffer! (Got: ' + type + ')');
-    }
-    var win = callback && function(bytesWritten) {
-        var writeInfo = {
-            bytesWritten: bytesWritten
-        };
-        callback(writeInfo);
-    };
-    var fail = callback && function() {
-        var writeInfo = {
-            bytesWritten: 0
-        };
-        callback(writeInfo);
-    };
-    exec(win, fail, 'ChromeSocket', 'sendTo', [{ socketId: socketId, address: address, port: port }, data]);
-};
-
-
-exports.listen = function(socketId, address, port, backlog, callback) {
-    if (typeof backlog == 'function') {
-        callback = backlog;
-        backlog = 0;
-    }
-    var win = callback && function() {
-        callback(0);
-    };
-    var fail = callback && function() {
-        callback(-1);
-    };
-    exec(win, fail, 'ChromeSocket', 'listen', [socketId, address, port, backlog]);
-};
-
-exports.accept = function(socketId, callback) {
-    var win = callback && function(acceptedSocketId) {
-        var acceptInfo = {
-            resultCode: 0,
-            socketId: acceptedSocketId
-        };
-        callback(acceptInfo);
-    };
-    exec(win, null, 'ChromeSocket', 'accept', [socketId]);
-};
-
-
-exports.setKeepAlive = function() {
-    console.warn('chrome.socket.setKeepAlive not implemented yet');
-};
-
-exports.setNoDelay = function() {
-    console.warn('chrome.socket.setNoDelay not implemented yet');
-};
-
-exports.getInfo = function(socketId, callback) {
-    if (platform.id == 'android') {
-        console.warn('chrome.socket.getInfo not implemented yet');
-        return;
-    }
-    var win = callback && function(result) {
-        result.connected = !!result.connected;
-        callback(result);
-    };
-    exec(win, null, 'ChromeSocket', 'getInfo', [socketId]);
-};
-
-exports.getNetworkList = function(callback) {
-    if (platform.id == 'android') {
-        console.warn('chrome.socket.getNetworkList not implemented yet');
-        return;
-    }
-    exec(callback, null, 'ChromeSocket', 'getNetworkList', []);
-};
-
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome.storage/storage.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome.storage/storage.js b/www/crx_files/www/plugins/chrome.storage/storage.js
deleted file mode 100644
index 4d6da75..0000000
--- a/www/crx_files/www/plugins/chrome.storage/storage.js
+++ /dev/null
@@ -1,202 +0,0 @@
-cordova.define("chrome.storage.Storage", function(require, exports, module) {// 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.
-
-var exports = module.exports;
-var exec = cordova.require('cordova/exec');
-
-function StorageChange(oldValue, newValue) {
-    this.oldValue = oldValue;
-    this.newValue = newValue;
-}
-
-function _jsonReplacer(key) {
-    // Don't use the value passed in since it has already gone through toJSON().
-    var value = this[key];
-    // Refer to:
-    // chrome/src/content/renderer/v8_value_converter_impl.cc&l=165
-    if (value && (typeof value == 'object' || typeof value == 'function')) {
-        var typeName = Object.prototype.toString.call(value).slice(8, -1);
-        if (typeName != 'Array' && typeName != 'Object') {
-            value = {};
-        }
-    }
-    return value;
-}
-
-function _scrubValues(o) {
-    if (typeof o != 'undefined') {
-        var t = JSON.stringify(o, _jsonReplacer);
-        return JSON.parse(t);
-    }
-}
-
-function _calculateChanges(oldKeyVals, newKeyVals) {
-    var ret = {};
-    for(var key in newKeyVals) {
-        if (newKeyVals.hasOwnProperty(key)) {
-            ret[key] = new StorageChange(oldKeyVals[key], newKeyVals[key]);
-        }
-    }
-    return ret;
-}
-
-function _convertToObject(obj) {
-    var ret;
-    if (Array.isArray(obj)) {
-        ret = {};
-        for(var i = 0; i < obj.length; i++) {
-            ret[obj[i]] = undefined;
-        }
-    } else if (typeof obj == 'object') {
-        ret = obj;
-    } else if (typeof obj === 'string') {
-        ret = {};
-        ret[obj] = undefined;
-    }
-    return ret;
-}
-
-function StorageArea(syncStorage, changedEvent) {
-    this._sync = syncStorage;
-    this._changedEvent = changedEvent;
-}
-
-StorageArea.prototype._getAreaName = function() {
-    return (this._sync? 'sync' : 'local');
-};
-
-StorageArea.prototype.get = function(keys, callback) {
-    if (typeof keys == 'function') {
-        callback = keys;
-        keys = null;
-    } else if (typeof keys === 'string') {
-        keys = [keys];
-    }
-    var win = callback && function(args) {
-        callback(args);
-    };
-    var fail = callback && function() {
-        callback();
-    };
-    var param = _scrubValues(keys);
-    exec(win, fail, 'ChromeStorage', 'get', [this._sync, param]);
-};
-
-StorageArea.prototype.getBytesInUse = function(keys, callback) {
-    if (typeof keys == 'function') {
-        callback = keys;
-        keys = null;
-    } else if (typeof keys === 'string') {
-        keys = [keys];
-    }
-    var win = callback && function(bytes) {
-        callback(bytes);
-    };
-    var fail = callback && function() {
-        callback(-1);
-    };
-    var param = _scrubValues(keys);
-    exec(win, fail, 'ChromeStorage', 'getBytesInUse', [this._sync, param]);
-};
-
-StorageArea.prototype.set = function(keyVals, callback) {
-    if (typeof keyVals == 'function') {
-        callback = keyVals;
-        keyVals = null;
-    }
-    var self = this;
-    var param = _scrubValues(keyVals);
-    var fail = callback && function() {
-        callback(-1);
-    };
-    var win;
-    if(self._changedEvent.hasListeners()) {
-        win = function(oldKeyVals) {
-            if(callback) {
-                callback(0);
-            }
-            var newKeyVals = _convertToObject(param);
-            var storageChanges = _calculateChanges(oldKeyVals, newKeyVals);
-            self._changedEvent.fire(storageChanges, self._getAreaName());
-        };
-    } else {
-        win = callback && function() {
-            callback(0);
-        };
-    }
-    exec(win, fail, 'ChromeStorage', 'set', [self._sync, param]);
-};
-
-StorageArea.prototype.remove = function(keys, callback) {
-    if (typeof keys == 'function') {
-        callback = keys;
-        keys = null;
-    } else if (typeof keys === 'string') {
-        keys = [keys];
-    }
-    var self = this;
-    var param = _scrubValues(keys);
-    var fail = callback && function() {
-        callback(-1);
-    };
-    var win;
-    if(self._changedEvent.hasListeners()) {
-        win = function(oldKeyVals) {
-            if(callback) {
-                callback(0);
-            }
-            var newKeyVals = _convertToObject(Object.keys(oldKeyVals));
-            var storageChanges = _calculateChanges(oldKeyVals, newKeyVals);
-            self._changedEvent.fire(storageChanges, self._getAreaName());
-        };
-    } else {
-        win = callback && function() {
-            callback(0);
-        };
-    }
-    exec(win, fail, 'ChromeStorage', 'remove', [self._sync, param]);
-};
-
-StorageArea.prototype.clear = function(callback) {
-    var self = this;
-    var fail = callback && function() {
-        callback(-1);
-    };
-    var win;
-    if(self._changedEvent.hasListeners()) {
-       win = function(oldKeyVals) {
-           if(callback) {
-               callback(0);
-           }
-           var newKeyVals = _convertToObject(Object.keys(oldKeyVals));
-           var storageChanges = _calculateChanges(oldKeyVals, newKeyVals);
-           self._changedEvent.fire(storageChanges, self._getAreaName());
-       };
-    } else {
-        win = callback && function() {
-            callback(0);
-        };
-    }
-    exec(win, fail, 'ChromeStorage', 'clear', [self._sync]);
-};
-
-// TODO(braden): How do we want to handle this event when we're not in a Chrome app?
-var Event = require('chrome.common.events');
-if (Event) {
-  exports.onChanged = new Event('onChanged');
-}
-
-var local = new StorageArea(false, exports.onChanged);
-local.QUOTA_BYTES = 5242880;
-var sync = new StorageArea(true, exports.onChanged);
-sync.MAX_ITEMS = 512;
-sync.MAX_WRITE_OPERATIONS_PER_HOUR = 1000;
-sync.QUOTA_BYTES_PER_ITEM = 4096;
-sync.MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE = 10;
-sync.QUOTA_BYTES = 102400;
-
-exports.local = local;
-exports.sync = sync;
-
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome/api/app/runtime.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome/api/app/runtime.js b/www/crx_files/www/plugins/chrome/api/app/runtime.js
deleted file mode 100644
index 4a2288c..0000000
--- a/www/crx_files/www/plugins/chrome/api/app/runtime.js
+++ /dev/null
@@ -1,7 +0,0 @@
-cordova.define("chrome.app.runtime", function(require, exports, module) {// 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.
-
-var Event = require('chrome.common.events');
-exports.onLaunched = new Event('onLaunched');
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome/api/app/window.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome/api/app/window.js b/www/crx_files/www/plugins/chrome/api/app/window.js
deleted file mode 100644
index 3a6484d..0000000
--- a/www/crx_files/www/plugins/chrome/api/app/window.js
+++ /dev/null
@@ -1,156 +0,0 @@
-cordova.define("chrome.app.window", function(require, exports, module) {// 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.
-
-var Event = require('chrome.common.events');
-var mobile = require('chrome.mobile.impl');
-
-// The AppWindow created by chrome.app.window.create.
-var createdAppWindow = null;
-var dummyNode = document.createElement('a');
-
-function AppWindow() {
-  this.contentWindow = mobile.fgWindow;
-  this.id = '';
-}
-
-function unsupportedApi(api) {
-  return function() {
-    console.warn(api + ' is not supported on mobile.');
-  };
-}
-
-AppWindow.prototype = {
-  restore: unsupportedApi('AppWindow.restore'),
-  moveTo: unsupportedApi('AppWindow.moveTo'),
-  clearAttention: unsupportedApi('AppWindow.clearAttention'),
-  minimize: unsupportedApi('AppWindow.minimize'),
-  drawAttention: unsupportedApi('AppWindow.drawAttention'),
-  focus: unsupportedApi('AppWindow.focus'),
-  resizeTo: unsupportedApi('AppWindow.resizeTo'),
-  maximize: unsupportedApi('AppWindow.maximize'),
-  close: unsupportedApi('AppWindow.close'),
-  setBounds: unsupportedApi('AppWindow.setBounds'),
-  onBoundsChanged: new Event('onBoundsChanged'),
-  onClosed: new Event('onClosed')
-};
-AppWindow.prototype.getBounds = function() {
-  return {
-    width: 0,
-    height: 0,
-    left: 0,
-    top: 0
-  };
-};
-
-function copyAttributes(srcNode, destNode) {
-  var attrs = srcNode.attributes;
-  for (var i = 0, attr; attr = attrs[i]; ++i) {
-    destNode.setAttribute(attr.name, attr.value);
-  }
-}
-
-function applyAttributes(attrText, destNode) {
-  dummyNode.innerHTML = '<a ' + attrText + '>';
-  copyAttributes(dummyNode.firstChild, destNode);
-}
-
-// Evals the scripts serially since sometimes browsers don't execute
-// them in the order they are injected :(.
-// TODO: This is clearly slower for multiple scripts. We could maybe see if
-// injecting after DOM mutation events fire?
-function evalScripts(rootNode, afterFunc) {
-  var scripts = Array.prototype.slice.call(rootNode.getElementsByTagName('script'));
-  var doc = rootNode.ownerDocument;
-  function helper() {
-    var script = scripts.shift();
-    if (!script) {
-      afterFunc && afterFunc();
-      // Don't bother with inline scripts since they aren't evalled on desktop.
-    } else if (script.src) {
-      var replacement = doc.createElement('script');
-      copyAttributes(script, replacement);
-      replacement.onload = helper;
-      script.parentNode.replaceChild(replacement, script);
-    } else {
-      helper();
-    }
-  }
-  helper();
-}
-
-function rewritePage(pageContent, filePath) {
-  var fgBody = mobile.fgWindow.document.body;
-  var fgHead = fgBody.previousElementSibling;
-
-  // fgHead.innerHTML causes a DOMException on Android 2.3.
-  while (fgHead.lastChild) {
-    fgHead.removeChild(fgHead.lastChild);
-  }
-
-  var startIndex = pageContent.search(/<html([\s\S]*?)>/i);
-  if (startIndex != -1) {
-    startIndex += RegExp.lastMatch.length;
-    // Copy over the attributes of the <html> tag.
-    applyAttributes(RegExp.lastParen, fgBody.parentNode);
-  } else {
-    startIndex = 0;
-  }
-
-  function afterBase() {
-    fgHead.insertAdjacentHTML('beforeend', headHtml);
-    evalScripts(fgHead, function() {
-      mobile.eventIframe.insertAdjacentHTML('afterend', pageContent);
-      evalScripts(fgBody)
-    });
-  }
-  // Put everything before the body tag in the head.
-  var endIndex = pageContent.search(/<body([\s\S]*?)>/i);
-  if (endIndex == -1) {
-    mobile.eventIframe.insertAdjacentHTML('afterend', 'Load error: Page is missing body tag.');
-  } else {
-    applyAttributes(RegExp.lastParen, fgBody);
-
-    // Don't bother removing the <body>, </body>, </html>. The browser's sanitizer removes them for us.
-    var headHtml = pageContent.slice(startIndex, endIndex);
-    pageContent = pageContent.slice(endIndex);
-
-    fgHead.insertAdjacentHTML('beforeend', '<link rel="stylesheet" href="chromeappstyles.css">');
-    var baseUrl = filePath.replace(/\/.*?$/, '');
-    if (baseUrl != filePath) {
-      fgHead.insertAdjacentHTML('beforeend', '<base href="' + encodeURIComponent(baseUrl) + '/">\n');
-      // setTimeout required for <base> to take effect for <link> elements (browser bug).
-      window.setTimeout(afterBase, 0);
-    } else {
-      afterBase();
-    }
-  }
-}
-
-exports.create = function(filePath, options, callback) {
-  if (createdAppWindow) {
-    console.log('ERROR - chrome.app.window.create called multiple times. This is unsupported.');
-    return;
-  }
-  createdAppWindow = new AppWindow();
-  var xhr = new XMLHttpRequest();
-  xhr.open('GET', filePath, true);
-  xhr.onreadystatechange = function() {
-    if (xhr.readyState == 4) {
-      // Call the callback before the page contents loads.
-      if (callback) {
-        callback(createdAppWindow);
-      }
-      var pageContent = xhr.responseText || 'Page load failed.';
-      rewritePage(pageContent, filePath);
-      cordova.fireWindowEvent('DOMContentReady');
-      cordova.fireWindowEvent('load');
-    }
-  };
-  xhr.send();
-};
-
-exports.current = function() {
-  return window == mobile.fgWindow ? createdAppWindow : null;
-};
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome/api/bootstrap.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome/api/bootstrap.js b/www/crx_files/www/plugins/chrome/api/bootstrap.js
deleted file mode 100644
index 51c28dc..0000000
--- a/www/crx_files/www/plugins/chrome/api/bootstrap.js
+++ /dev/null
@@ -1,13 +0,0 @@
-cordova.define("chrome.bootstrap", function(require, exports, module) {// Copyright (c) 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.
-
-// Initialization code for the Chrome plugins API.
-// Adds a deviceready listener that initializes the Chrome wrapper.
-
-console.log('adding event');
-document.addEventListener('deviceready', function() {
-  console.log('deviceready caught');
-  require('chrome.mobile.impl').init();
-});
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome/api/helpers/stubs.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome/api/helpers/stubs.js b/www/crx_files/www/plugins/chrome/api/helpers/stubs.js
deleted file mode 100644
index ef57b83..0000000
--- a/www/crx_files/www/plugins/chrome/api/helpers/stubs.js
+++ /dev/null
@@ -1,11 +0,0 @@
-cordova.define("chrome.helpers.stubs", function(require, exports, module) {// 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.
-
-exports.createStub = function(obj, propName, value) {
-  obj.__defineGetter__(propName, function() {
-    console.warn('Access made to stub: ' + obj.__namespace__ + '.' + propName);
-    return value;
-  });
-};
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome/api/mobile.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome/api/mobile.js b/www/crx_files/www/plugins/chrome/api/mobile.js
deleted file mode 100644
index 28af8b8..0000000
--- a/www/crx_files/www/plugins/chrome/api/mobile.js
+++ /dev/null
@@ -1,58 +0,0 @@
-cordova.define("chrome.mobile.impl", function(require, exports, module) {// 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.
-
-var chrome = window.chrome;
-
-exports.fgWindow = window;
-exports.bgWindow = null;
-exports.eventIframe = null;
-
-function createBgChrome() {
-  return {
-    __proto__: chrome,
-    app: {
-      __proto__: chrome.app,
-      window: {
-        __proto__: chrome.app.window,
-        current: function() { return null; }
-      }
-    }
-  };
-}
-
-exports.init = function() {
-  // Self-destruct so that code in here can be GC'ed.
-  exports.init = null;
-  var iframe = document.createElement('iframe');
-  iframe.src = 'chromebgpage.html';
-  iframe.style.display = 'none';
-  exports.eventIframe = iframe;
-  document.body.appendChild(iframe);
-};
-
-exports.bgInit = function(bgWnd) {
-  // Self-destruct so that code in here can be GC'ed.
-  exports.bgInit = null;
-  exports.bgWindow = bgWnd;
-  bgWnd.chrome = createBgChrome();
-  bgWnd.cordova = cordova;
-  exports.fgWindow.opener = exports.bgWindow;
-
-  function onLoad() {
-    bgWnd.removeEventListener('load', onLoad, false);
-    setTimeout(function() {
-      chrome.app.runtime.onLaunched.fire();
-    }, 0);
-  }
-  bgWnd.addEventListener('load', onLoad, false);
-
-  var manifestJson = chrome.runtime.getManifest();
-  var scripts = manifestJson.app.background.scripts;
-  var toWrite = '';
-  for (var i = 0, src; src = scripts[i]; ++i) {
-    toWrite += '<script src="' + encodeURI(src) + '"></sc' + 'ript>\n';
-  }
-  bgWnd.document.write(toWrite);
-};
-});

http://git-wip-us.apache.org/repos/asf/cordova-app-harness/blob/ee57b46c/www/crx_files/www/plugins/chrome/api/runtime.js
----------------------------------------------------------------------
diff --git a/www/crx_files/www/plugins/chrome/api/runtime.js b/www/crx_files/www/plugins/chrome/api/runtime.js
deleted file mode 100644
index 58b3970..0000000
--- a/www/crx_files/www/plugins/chrome/api/runtime.js
+++ /dev/null
@@ -1,58 +0,0 @@
-cordova.define("chrome.runtime", function(require, exports, module) {// 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.
-
-var argscheck = cordova.require('cordova/argscheck');
-var Event = require('chrome.common.events');
-var stubs = require('chrome.helpers.stubs');
-var mobile = require('chrome.mobile.impl');
-var manifestJson = null;
-
-exports.onSuspend = new Event('onSuspend');
-exports.onInstalled = new Event('onInstalled');
-exports.onStartup = new Event('onStartup');
-exports.onSuspendCanceled = new Event('onSuspendCanceled');
-exports.onUpdateAvailable = new Event('onUpdateAvailable');
-
-var original_addListener = exports.onSuspend.addListener;
-
-// Uses a trampoline to bind the Cordova pause event on the first call.
-exports.onSuspend.addListener = function(f) {
-  window.document.addEventListener('pause', exports.onSuspend.fire, false);
-  exports.onSuspend.addListener = original_addListener;
-  exports.onSuspend.addListener(f);
-};
-
-exports.getManifest = function() {
-  if (!manifestJson) {
-    var xhr = new XMLHttpRequest();
-    xhr.open('GET', 'manifest.json', false /* sync */);
-    xhr.send(null);
-    manifestJson = eval('(' + xhr.responseText + ')'); //JSON.parse(xhr.responseText);
-  }
-  return manifestJson;
-};
-
-exports.getBackgroundPage = function(callback) {
-  argscheck.checkArgs('f', 'chrome.runtime.getBackgroundPage', arguments);
-  setTimeout(function() {
-    callback(mobile.bgWindow);
-  }, 0);
-};
-
-exports.getURL = function(subResource) {
-  argscheck.checkArgs('s', 'chrome.runtime.getURL', arguments);
-  if (subResource.charAt(0) == '/') {
-    subResource = subResource.slice(1);
-  }
-  var prefix = location.href.replace(/[^\/]*$/, '');
-  return prefix + subResource;
-};
-
-exports.reload = function() {
-  location.reload();
-};
-
-stubs.createStub(exports, 'id', '{appId}');
-stubs.createStub(exports, 'requestUpdateCheck', function(){});
-});