Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6839)

Unified Diff: chrome/renderer/resources/extensions/platform_app.js

Issue 10832352: Throw exceptions when attempts are made to use localStorage in packaged apps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Throw exceptions when attempts are made to use localStorage in packaged apps. Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/test/data/extensions/platform_apps/storage/test.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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'));
« no previous file with comments | « no previous file | chrome/test/data/extensions/platform_apps/storage/test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698