Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1286)

Unified Diff: Source/core/inspector/AsyncCallStackTracker.cpp

Issue 555163005: Deactivate IDBTransactions created within Microtasks (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Refactored fix Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« Source/core/dom/Microtask.cpp ('K') | « Source/core/dom/Microtask.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/inspector/AsyncCallStackTracker.cpp
diff --git a/Source/core/inspector/AsyncCallStackTracker.cpp b/Source/core/inspector/AsyncCallStackTracker.cpp
index 345ef307e8e62717c9f6606af9d20b509a1d290a..e416ac74151f653e8d0a62c529d820a33b4fe379 100644
--- a/Source/core/inspector/AsyncCallStackTracker.cpp
+++ b/Source/core/inspector/AsyncCallStackTracker.cpp
@@ -35,6 +35,7 @@
#include "bindings/core/v8/V8RecursionScope.h"
#include "core/dom/ExecutionContext.h"
#include "core/dom/ExecutionContextTask.h"
+#include "core/dom/Microtask.h"
#include "core/events/Event.h"
#include "core/events/EventTarget.h"
#include "core/xml/XMLHttpRequest.h"
@@ -417,7 +418,7 @@ PassRefPtrWillBeRawPtr<AsyncCallStackTracker::AsyncCallChain> AsyncCallStackTrac
void AsyncCallStackTracker::setCurrentAsyncCallChain(ExecutionContext* context, PassRefPtrWillBeRawPtr<AsyncCallChain> chain)
{
- if (chain && !V8RecursionScope::recursionLevel(toIsolate(context))) {
+ if (chain && (!V8RecursionScope::recursionLevel(toIsolate(context)) || (V8RecursionScope::recursionLevel(toIsolate(context)) == 1 && Microtask::performingCheckpoint(toIsolate(context))))) {
jsbell 2014/09/22 17:26:29 That's a lot of calls to toIsolate(context). I co
adamk 2014/09/22 18:30:57 I'd recommend pulling it out just to clean up the
jsbell 2014/09/22 18:49:51 Done.
// Current AsyncCallChain corresponds to the bottommost JS call frame.
m_currentAsyncCallChain = chain;
m_nestedAsyncCallCount = 1;
« Source/core/dom/Microtask.cpp ('K') | « Source/core/dom/Microtask.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698