Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 454 ASSERT(!isStopped()); | 454 ASSERT(!isStopped()); |
| 455 | 455 |
| 456 // FIXME: Pass in current input length. | 456 // FIXME: Pass in current input length. |
| 457 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willWriteH TML(document(), lineNumber().zeroBasedInt()); | 457 InspectorInstrumentationCookie cookie = InspectorInstrumentation::willWriteH TML(document(), lineNumber().zeroBasedInt()); |
| 458 | 458 |
| 459 double startTime = currentTime(); | 459 double startTime = currentTime(); |
| 460 | 460 |
| 461 while (!m_speculations.isEmpty()) { | 461 while (!m_speculations.isEmpty()) { |
| 462 processParsedChunkFromBackgroundParser(m_speculations.takeFirst()); | 462 processParsedChunkFromBackgroundParser(m_speculations.takeFirst()); |
| 463 | 463 |
| 464 if (isWaitingForScripts() || isStopped()) | 464 // The order matters! If this isStopped(), isWaitingForScripts() can hit and ASSERT since |
| 465 // m_document can be null which is used to decide the readiness. | |
| 466 if (isStopped() || isWaitingForScripts()) | |
|
abarth-chromium
2013/07/26 17:17:34
Can you fix the instance on line 274 as well?
The
| |
| 465 break; | 467 break; |
| 466 | 468 |
| 467 if (currentTime() - startTime > parserTimeLimit && !m_speculations.isEmp ty()) { | 469 if (currentTime() - startTime > parserTimeLimit && !m_speculations.isEmp ty()) { |
| 468 m_parserScheduler->scheduleForResume(); | 470 m_parserScheduler->scheduleForResume(); |
| 469 break; | 471 break; |
| 470 } | 472 } |
| 471 } | 473 } |
| 472 | 474 |
| 473 InspectorInstrumentation::didWriteHTML(cookie, lineNumber().zeroBasedInt()); | 475 InspectorInstrumentation::didWriteHTML(cookie, lineNumber().zeroBasedInt()); |
| 474 } | 476 } |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 940 m_parserScheduler->suspend(); | 942 m_parserScheduler->suspend(); |
| 941 } | 943 } |
| 942 | 944 |
| 943 void HTMLDocumentParser::resumeScheduledTasks() | 945 void HTMLDocumentParser::resumeScheduledTasks() |
| 944 { | 946 { |
| 945 if (m_parserScheduler) | 947 if (m_parserScheduler) |
| 946 m_parserScheduler->resume(); | 948 m_parserScheduler->resume(); |
| 947 } | 949 } |
| 948 | 950 |
| 949 } | 951 } |
| OLD | NEW |