EventListeners for non-Node EventTargets can get GC'd too early |
||||||
Issue descriptionRevision range first seen: before 404148, probably no earlier than 403928 Failing about 50% of the time on Mac right now. Link to first failing step log: https://uberchromegw.corp.google.com/i/chromium.perf/builders/Mac%2010.11%20Perf%20%282%29/builds/2206/steps/blob_storage.blob_storage/logs/stdio If the test is disabled, please downgrade to Pri-2. Will attempt to bisect. Maybe related to issue 595069 ? Log: [ RUN ] blob-mass-create-150KBx200 (INFO) 2016-07-07 14:01:39,959 chrome_tracing_agent._CreateTraceConfigFile:248 Trace config file string: {"trace_config": {"included_categories": ["Blob", "blink.console"], "record_mode": "record-as-much-as-possible"}} (INFO) 2016-07-07 14:01:39,987 tracing_backend.StartTracing:131 Start Tracing Request: {'params': {'transferMode': 'ReturnAsStream', 'traceConfig': {'recordMode': 'recordAsMuchAsPossible', 'includedCategories': ['Blob', 'blink.console']}}, 'method': 'Tracing.start'} (INFO) 2016-07-07 14:01:39,990 cache_temperature.EnsurePageCacheTemperature:55 PageCacheTemperature: any (WARNING) 2016-07-07 14:02:53,471 action_runner.__exit__:714 Exception was raised in the with statement block, the end of interaction record is not marked. (INFO) 2016-07-07 14:02:53,472 browser.DumpStateUponFailure:326 *************** BROWSER STANDARD OUTPUT *************** (INFO) 2016-07-07 14:02:53,472 browser.DumpStateUponFailure:328 2016-07-07 14:00:56.984 Google Chrome[7824:15042] NSWindow warning: adding an unknown subview: <FullSizeContentView: 0x7fc6d3eb6180>. Break on NSLog to debug. 2016-07-07 14:00:56.984 Google Chrome[7824:15042] Call stack: ( "+callStackSymbols disabled for performance reasons" ) (INFO) 2016-07-07 14:02:53,472 browser.DumpStateUponFailure:331 *********** END OF BROWSER STANDARD OUTPUT ************ (INFO) 2016-07-07 14:02:53,472 browser.DumpStateUponFailure:333 ********************* BROWSER LOG ********************* (INFO) 2016-07-07 14:02:53,472 browser.DumpStateUponFailure:335 No log file (INFO) 2016-07-07 14:02:53,472 browser.DumpStateUponFailure:338 ***************** END OF BROWSER LOG ****************** Traceback (most recent call last): File "/b/build/slave/Mac_10_11_Perf__2_/build/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py", line 85, in _RunStoryAndProcessErrorIfNeeded state.RunStory(results) File "/b/build/slave/Mac_10_11_Perf__2_/build/src/third_party/catapult/telemetry/telemetry/page/shared_page_state.py", line 319, in RunStory self._current_page.Run(self) File "/b/build/slave/Mac_10_11_Perf__2_/build/src/third_party/catapult/telemetry/telemetry/page/__init__.py", line 99, in Run self.RunPageInteractions(action_runner) File "/b/build/slave/Mac_10_11_Perf__2_/build/src/tools/perf/page_sets/blob_workshop.py", line 61, in RunPageInteractions 'doneReading === true || errors', 60) File "/b/build/slave/Mac_10_11_Perf__2_/build/src/third_party/catapult/telemetry/telemetry/internal/actions/action_runner.py", line 186, in WaitForJavaScriptCondition self._tab.WaitForJavaScriptExpression(condition, timeout_in_seconds) File "/b/build/slave/Mac_10_11_Perf__2_/build/src/third_party/catapult/telemetry/telemetry/internal/browser/web_contents.py", line 136, in WaitForJavaScriptExpression e.message + '\n' + debug_message) TimeoutException: Timed out while waiting 60s for IsJavaScriptExpressionTrue. Console output: (debug) :1: Interaction.Action_CreateBlob/repeatable: 3.114ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.785ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.703ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.456ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.291ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.299ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.322ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.351ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.315ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.378ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.321ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.285ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.431ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.316ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.307ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.321ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.289ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.283ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.321ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.328ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.326ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.317ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.376ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.293ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.283ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.330ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.294ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.323ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.338ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.303ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.334ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.385ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.300ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.330ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.297ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.309ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.281ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.341ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.315ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.258ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.307ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.259ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.299ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 3.619ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.320ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.326ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.425ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.264ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.318ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.314ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.331ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.266ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.368ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.342ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.307ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.283ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.262ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.370ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.265ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.293ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.282ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.399ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.379ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.308ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.492ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.319ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.343ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.359ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.317ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.305ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.300ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.297ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.302ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.258ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.296ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.396ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.341ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.253ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.309ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.311ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.344ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.319ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.293ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.275ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.332ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.333ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.287ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.337ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.332ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.305ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.310ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.318ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.275ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.334ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.297ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.293ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.294ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.283ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.409ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.351ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.326ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.318ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.300ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.353ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.288ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.305ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.319ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.236ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.362ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.312ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.271ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.291ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.337ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.309ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.322ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.386ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.371ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.288ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.376ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.275ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.297ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.321ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.295ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.351ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.302ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.333ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.287ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.374ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.289ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.282ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.843ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.905ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.378ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.286ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.327ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.378ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.280ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.336ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.336ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.312ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.285ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.293ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.333ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.296ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.283ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.287ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.360ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.257ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.307ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.307ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.269ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.282ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.334ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.320ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.310ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.277ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.268ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.350ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.495ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.274ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.352ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.289ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.297ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.299ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.457ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.261ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.283ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.277ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.283ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.332ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.337ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.360ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.419ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.324ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.327ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.305ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.305ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.292ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.299ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.294ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.382ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.301ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.295ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.362ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.308ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.297ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.301ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.332ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.297ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.289ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.292ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.323ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.315ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.312ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.290ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.296ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.309ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.316ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.300ms (debug) :1: Interaction.Action_CreateBlob/repeatable: 2.330ms [ FAILED ] blob-mass-create-150KBx200 (73684 ms)
,
Jul 9 2016
=== Auto-CCing suspected CL author jochen@chromium.org === Hi jochen@chromium.org, the bisect results pointed to your CL below as possibly causing a regression. Please have a look at this info and see whether your CL be related. ===== BISECT JOB RESULTS ===== Status: completed ===== SUSPECTED CL(s) ===== Subject : Remove constructor from remaining functions that aren't constructors Author : jochen Commit description: BUG= 625823 R=haraken@chromium.org,pfeldman@chromium.org Review-Url: https://codereview.chromium.org/2124183003 Cr-Commit-Position: refs/heads/master@{#404137} Commit : 587b0b37724cdfc0eec5ed091b94eb8276bc05ce Date : Thu Jul 07 12:35:31 2016 ===== TESTED REVISIONS ===== Revision Exit Code Std Dev N Good? chromium@403928 0 N/A 20 good chromium@404038 0 N/A 20 good chromium@404093 0 N/A 20 good chromium@404121 0 N/A 20 good chromium@404135 0 N/A 20 good chromium@404136 0 N/A 20 good chromium@404137 1 N/A 20 bad <-- chromium@404139 1 N/A 20 bad chromium@404142 1 N/A 20 bad chromium@404148 1 N/A 20 bad Bisect job ran on: linux_perf_bisect Bug ID: 626736 Test Command: src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --also-run-disabled-tests blob_storage.blob_storage Test Metric: Action_CreateBlob-blob-writes/blob-mass-create-150KBx200 Relative Change: Zero to non-zero Score: 99.9 Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/linux_perf_bisect/builds/6585 Job details: https://chromeperf.appspot.com/buildbucket_job_status/9007679413925877904 Not what you expected? We'll investigate and get back to you! https://chromeperf.appspot.com/bad_bisect?try_job_id=5818680332517376 | O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq | X | for more information addressing perf regression bugs. For feedback, | / \ | file a bug with component Tests>AutoBisect. Thank you!
,
Jul 11 2016
I guess it's possible that this is what broke this test somehow - bisect seems pretty definitive. jochen@ can you please take a look or try speculatively reverting your patch?
,
Jul 11 2016
i'll either fix or revert within the next 24h
,
Jul 12 2016
Created revert here https://codereview.chromium.org/2139393002/
,
Jul 12 2016
I actually figured out what's wrong here, and since it's not related to my CL I cancelled the revert. What's happening is that the event listener on the file reader gets garbage collected. That's because we only keep event listeners for nodes alive, and not event targets in general. Will try to distill this into a layout test and then fix
,
Jul 13 2016
Yeah, for non-Node event listeners, we currently need to use hasPendingActivity to keep alive the file reader object while it has event listeners. It should be replaced with traceWrapper() once it's ready.
,
Jul 13 2016
hasPendingActivity is not enough, no? It won't keep the event listeners on the file reader alive
,
Jul 13 2016
Ah, you're right. Yeah, we should extend the ability to keep alive event listeners to non-Node objects.
,
Jul 13 2016
turns out that the event listener thing isn't to blame here. It seems wrong though anyway, so I've send you a CL for it. The actual bug is that FileReader marks itself as inactive before firing the events, os if GC happens to kick in between those two points in time, stuff breaks. I tried to write tests for both cases, but didn't manage to come up with anything more stable than running the blob workshop benchmark ten times in a row :-/
,
Jul 13 2016
Could this potentially explain issue 592124 ?
,
Jul 13 2016
hum, it looks different as there the file reader appears to still exist.
,
Jul 13 2016
Kentaro pointed out that for non-nodes, we already keep event listeners alive, so the only bug here was that FileReader set its state to DONE before firing events.
,
Jul 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b4fd7ed776b57dd923cdb8bd43e0c43edc11d3f9 commit b4fd7ed776b57dd923cdb8bd43e0c43edc11d3f9 Author: jochen <jochen@chromium.org> Date: Wed Jul 13 10:59:09 2016 FileReader shouldn't mark itself as inactive before firing events BUG= 626736 R=haraken@chromium.org Review-Url: https://codereview.chromium.org/2143353003 Cr-Commit-Position: refs/heads/master@{#405118} [modify] https://crrev.com/b4fd7ed776b57dd923cdb8bd43e0c43edc11d3f9/third_party/WebKit/Source/core/fileapi/FileReader.cpp [modify] https://crrev.com/b4fd7ed776b57dd923cdb8bd43e0c43edc11d3f9/third_party/WebKit/Source/core/fileapi/FileReader.h
,
Jul 13 2016
,
Jul 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b4fd7ed776b57dd923cdb8bd43e0c43edc11d3f9 commit b4fd7ed776b57dd923cdb8bd43e0c43edc11d3f9 Author: jochen <jochen@chromium.org> Date: Wed Jul 13 10:59:09 2016 FileReader shouldn't mark itself as inactive before firing events BUG= 626736 R=haraken@chromium.org Review-Url: https://codereview.chromium.org/2143353003 Cr-Commit-Position: refs/heads/master@{#405118} [modify] https://crrev.com/b4fd7ed776b57dd923cdb8bd43e0c43edc11d3f9/third_party/WebKit/Source/core/fileapi/FileReader.cpp [modify] https://crrev.com/b4fd7ed776b57dd923cdb8bd43e0c43edc11d3f9/third_party/WebKit/Source/core/fileapi/FileReader.h |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by rbyers@chromium.org
, Jul 8 2016