diff options
author | kalman <kalman@chromium.org> | 2015-04-13 16:02:17 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-13 23:02:52 +0000 |
commit | d99095034d2e88897ae82c8353f3327a3a1d03a5 (patch) | |
tree | 2e95876dfa630023c3ad100f86c95947164110df /extensions/renderer/native_handler.h | |
parent | 8c8162e4c9d3cc2310cc290b10b8d509f876b607 (diff) | |
download | chromium_src-d99095034d2e88897ae82c8353f3327a3a1d03a5.zip chromium_src-d99095034d2e88897ae82c8353f3327a3a1d03a5.tar.gz chromium_src-d99095034d2e88897ae82c8353f3327a3a1d03a5.tar.bz2 |
Move the event attach/detach logic on unload from event.js to
event_bindings.cc.
This removes one of the reasons to call into JavaScript on context unload,
which can crash. It's also more robust; it's confusing trying to maintain a
data structure in JavaScript which reflects C++ state, which contributes to
bugs like crbug.com/474718.
Also clean up and formalise the script context invalidation system: CHECK
rather than guarding against multiple invalidations, only invalidate script
context related member variables, add an invalidation observer interface.
BUG=474718, 475536
R=rdevlin.cronin@chromium.org
Review URL: https://codereview.chromium.org/1074273002
Cr-Commit-Position: refs/heads/master@{#324933}
Diffstat (limited to 'extensions/renderer/native_handler.h')
-rw-r--r-- | extensions/renderer/native_handler.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/extensions/renderer/native_handler.h b/extensions/renderer/native_handler.h index c0660c8..1491feb 100644 --- a/extensions/renderer/native_handler.h +++ b/extensions/renderer/native_handler.h @@ -29,6 +29,9 @@ class NativeHandler { // // Subclasses should override to invalidate their own V8 state. If they do // they must call their superclass' Invalidate(). + // + // Invalidate() will be called on destruction, if it hasn't already been. + // Subclasses don't need to do it themselves. virtual void Invalidate(); protected: |