summaryrefslogtreecommitdiffstats
path: root/extensions/extensions_tests.gypi
diff options
context:
space:
mode:
authorkalman <kalman@chromium.org>2015-07-23 22:10:59 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-24 05:11:56 +0000
commit32d7af200850f2378d0a554f8fe046d8b14265ca (patch)
tree7827eafc60fecb60c9e4b78840e00b146fd73ad8 /extensions/extensions_tests.gypi
parent431311669957bc4d4674796bf80a9fed8ba2764a (diff)
downloadchromium_src-32d7af200850f2378d0a554f8fe046d8b14265ca.zip
chromium_src-32d7af200850f2378d0a554f8fe046d8b14265ca.tar.gz
chromium_src-32d7af200850f2378d0a554f8fe046d8b14265ca.tar.bz2
Bypass the v8 GC second pass callback set up by GCCallback for extension messaging.
This fixes a bug where an extension script context was being invalidated in between calls for the first and second pass v8::PersistentBase::SetWeak callbacks, which would invalidate a base::WeakPtr and crash. This bug can be trivially bypassed by removing the second pass entirely and relying on the post back to the current message loop. This also adds 2 tests, one where the script context is invalidated before GC, the other where GC happens before the script context is invalidated. This patch is a combination of jochen's https://crrev.com/1247093005 and kalman's https://crrev.com/1242273007, see those patches for more comments. BUG=512080 R=rdevlin.cronin@chromium.org,jochen@chromium.org,adamk@chromium.org Review URL: https://codereview.chromium.org/1250093008 Cr-Commit-Position: refs/heads/master@{#340224}
Diffstat (limited to 'extensions/extensions_tests.gypi')
-rw-r--r--extensions/extensions_tests.gypi1
1 files changed, 1 insertions, 0 deletions
diff --git a/extensions/extensions_tests.gypi b/extensions/extensions_tests.gypi
index c8b422b..eed12fb 100644
--- a/extensions/extensions_tests.gypi
+++ b/extensions/extensions_tests.gypi
@@ -145,6 +145,7 @@
'renderer/api_test_base.h',
'renderer/api_test_base_unittest.cc',
'renderer/event_unittest.cc',
+ 'renderer/gc_callback_unittest.cc',
'renderer/json_schema_unittest.cc',
'renderer/messaging_utils_unittest.cc',
'renderer/module_system_test.cc',