summaryrefslogtreecommitdiffstats
path: root/extensions/renderer/native_handler.h
diff options
context:
space:
mode:
authorkalman <kalman@chromium.org>2015-04-13 16:02:17 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-13 23:02:52 +0000
commitd99095034d2e88897ae82c8353f3327a3a1d03a5 (patch)
tree2e95876dfa630023c3ad100f86c95947164110df /extensions/renderer/native_handler.h
parent8c8162e4c9d3cc2310cc290b10b8d509f876b607 (diff)
downloadchromium_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.h3
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: