| Index: chrome/renderer/resources/extensions/platform_app.js
|
| diff --git a/chrome/renderer/resources/extensions/platform_app.js b/chrome/renderer/resources/extensions/platform_app.js
|
| index b9e0f2f9ea909f5fb34ba3023b172c39b735aca9..94154706189f147d7f6449f13df7b55be6f3e437 100644
|
| --- a/chrome/renderer/resources/extensions/platform_app.js
|
| +++ b/chrome/renderer/resources/extensions/platform_app.js
|
| @@ -7,9 +7,11 @@
|
| *
|
| * @param {string} messagePrefix text to prepend to the exception message.
|
| */
|
| -function generateStub(messagePrefix) {
|
| +function generateStub(messagePrefix, opt_messageSuffix) {
|
| return function() {
|
| - throw messagePrefix + ' is not available in packaged apps.';
|
| + var message = messagePrefix + ' is not available in packaged apps.';
|
| + if (opt_messageSuffix) message = message + ' ' + opt_messageSuffix;
|
| + throw message;
|
| };
|
| }
|
|
|
| @@ -41,10 +43,11 @@ function stubOutMethods(object, objectName, methodNames) {
|
| * to by web developers, e.g. "document" instead of "HTMLDocument").
|
| * @param {Array.<string>} propertyNames property names
|
| */
|
| -function stubOutGetters(object, objectName, propertyNames) {
|
| +function stubOutGetters(object, objectName, propertyNames, opt_messageSuffix) {
|
| propertyNames.forEach(function(propertyName) {
|
| object.__defineGetter__(
|
| - propertyName, generateStub(objectName + '.' + propertyName));
|
| + propertyName, generateStub(
|
| + objectName + '.' + propertyName, opt_messageSuffix));
|
| });
|
| }
|
|
|
| @@ -75,6 +78,11 @@ stubOutGetters(window, 'window',
|
| ['locationbar', 'menubar', 'personalbar', 'scrollbars', 'statusbar',
|
| 'toolbar']);
|
|
|
| +// Disable window.localStorage.
|
| +stubOutGetters(window, 'window',
|
| + ['localStorage'],
|
| + 'Use chrome.storage.local instead.');
|
| +
|
| // Disable onunload, onbeforeunload.
|
| Window.prototype.__defineSetter__(
|
| 'onbeforeunload', generateStub('onbeforeunload'));
|
|
|