Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var forEach = require('utils').forEach; | 5 var forEach = require('utils').forEach; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * Returns a function that throws a 'not available' exception when called. | 8 * Returns a function that throws a 'not available' exception when called. |
| 9 * | 9 * |
| 10 * @param {string} messagePrefix text to prepend to the exception message. | 10 * @param {string} messagePrefix text to prepend to the exception message. |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 110 // point to the page's document (it will be reset between now and then). | 110 // point to the page's document (it will be reset between now and then). |
| 111 // We can't listen for the "readystatechange" event on the document (because | 111 // We can't listen for the "readystatechange" event on the document (because |
| 112 // the object that it's dispatched on doesn't exist yet), but we can instead | 112 // the object that it's dispatched on doesn't exist yet), but we can instead |
| 113 // do it at the window level in the capturing phase. | 113 // do it at the window level in the capturing phase. |
| 114 window.addEventListener('readystatechange', function(event) { | 114 window.addEventListener('readystatechange', function(event) { |
| 115 if (document.readyState != 'loading') | 115 if (document.readyState != 'loading') |
| 116 return; | 116 return; |
| 117 | 117 |
| 118 // Deprecated document properties from | 118 // Deprecated document properties from |
| 119 // https://developer.mozilla.org/en/DOM/document. | 119 // https://developer.mozilla.org/en/DOM/document. |
| 120 // To deprecate document.all, simply changing its getter and setter would | |
| 121 // activate its cache mechanism, and degrade the performance. Here we assign | |
| 122 // it first to 'undefined' to avoid this. | |
| 123 document.all = undefined; | |
|
not at google - send to devlin
2013/05/29 15:58:05
is this the only property that will ever suffer fr
miket_OOO
2013/05/29 16:19:14
Ben, I'm probably misreading disableGetters (which
not at google - send to devlin
2013/05/29 16:24:31
I mean make disableGetters assign every property t
| |
| 120 disableGetters(document, 'document', | 124 disableGetters(document, 'document', |
| 121 ['alinkColor', 'all', 'bgColor', 'fgColor', 'linkColor', | 125 ['alinkColor', 'all', 'bgColor', 'fgColor', 'linkColor', |
| 122 'vlinkColor']); | 126 'vlinkColor']); |
| 123 }, true); | 127 }, true); |
| 124 | 128 |
| 125 // Disable onunload, onbeforeunload. | 129 // Disable onunload, onbeforeunload. |
| 126 Window.prototype.__defineSetter__( | 130 Window.prototype.__defineSetter__( |
| 127 'onbeforeunload', generateDisabledMethodStub('onbeforeunload')); | 131 'onbeforeunload', generateDisabledMethodStub('onbeforeunload')); |
| 128 Window.prototype.__defineSetter__( | 132 Window.prototype.__defineSetter__( |
| 129 'onunload', generateDisabledMethodStub('onunload')); | 133 'onunload', generateDisabledMethodStub('onunload')); |
| 130 var windowAddEventListener = Window.prototype.addEventListener; | 134 var windowAddEventListener = Window.prototype.addEventListener; |
| 131 Window.prototype.addEventListener = function(type) { | 135 Window.prototype.addEventListener = function(type) { |
| 132 if (type === 'unload' || type === 'beforeunload') | 136 if (type === 'unload' || type === 'beforeunload') |
| 133 generateDisabledMethodStub(type)(); | 137 generateDisabledMethodStub(type)(); |
| 134 else | 138 else |
| 135 return windowAddEventListener.apply(window, arguments); | 139 return windowAddEventListener.apply(window, arguments); |
| 136 }; | 140 }; |
| OLD | NEW |