| Index: Source/core/html/parser/HTMLScriptRunner.cpp
|
| diff --git a/Source/core/html/parser/HTMLScriptRunner.cpp b/Source/core/html/parser/HTMLScriptRunner.cpp
|
| index 1efcad2a0241b1de84fd00c71227a54f12af545b..871096253b10d046ba70f35ae60ed435ebeed42d 100644
|
| --- a/Source/core/html/parser/HTMLScriptRunner.cpp
|
| +++ b/Source/core/html/parser/HTMLScriptRunner.cpp
|
| @@ -286,7 +286,12 @@
|
| if (!scriptLoader)
|
| return;
|
|
|
| - Microtask::performCheckpoint();
|
| + // FIXME: This may be too agressive as we always deliver mutations at
|
| + // every script element, even if it's not ready to execute yet. There's
|
| + // unfortuantely no obvious way to tell if prepareScript is going to
|
| + // execute the script from out here.
|
| + if (!isExecutingScript())
|
| + Microtask::performCheckpoint();
|
|
|
| InsertionPointRecord insertionPointRecord(m_host->inputStream());
|
| NestingLevelIncrementer nestingLevelIncrementer(m_scriptNestingLevel);
|
|
|