summaryrefslogtreecommitdiffstats
path: root/extensions/renderer/native_handler.h
diff options
context:
space:
mode:
authorkalman <kalman@chromium.org>2015-04-14 17:25:06 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-15 00:25:50 +0000
commitb0c1c5018d08b6e8d8de896d0d079386be50536f (patch)
tree24c01b875ed4f0236156bd632239b65708cff849 /extensions/renderer/native_handler.h
parentac57a89020219cf98422d07fe861b38d3f33073b (diff)
downloadchromium_src-b0c1c5018d08b6e8d8de896d0d079386be50536f.zip
chromium_src-b0c1c5018d08b6e8d8de896d0d079386be50536f.tar.gz
chromium_src-b0c1c5018d08b6e8d8de896d0d079386be50536f.tar.bz2
Reland: Move the event attach/detach logic on unload from event.js to event_bindings.cc.
Original patch: https://codereview.chromium.org/1074273002. 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/1057003005 Cr-Commit-Position: refs/heads/master@{#325156}
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: