| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google, Inc. All Rights Reserved. | 2 * Copyright (C) 2013 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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 size_t tokensExtractedSincePreviousCheckpoint) { | 45 size_t tokensExtractedSincePreviousCheckpoint) { |
| 46 HTMLInputCheckpoint checkpoint = m_checkpoints.size(); | 46 HTMLInputCheckpoint checkpoint = m_checkpoints.size(); |
| 47 m_checkpoints.push_back(Checkpoint(m_current, m_segments.size(), | 47 m_checkpoints.push_back(Checkpoint(m_current, m_segments.size(), |
| 48 tokensExtractedSincePreviousCheckpoint)); | 48 tokensExtractedSincePreviousCheckpoint)); |
| 49 m_totalCheckpointTokenCount += tokensExtractedSincePreviousCheckpoint; | 49 m_totalCheckpointTokenCount += tokensExtractedSincePreviousCheckpoint; |
| 50 return checkpoint; | 50 return checkpoint; |
| 51 } | 51 } |
| 52 | 52 |
| 53 void BackgroundHTMLInputStream::invalidateCheckpointsBefore( | 53 void BackgroundHTMLInputStream::invalidateCheckpointsBefore( |
| 54 HTMLInputCheckpoint newFirstValidCheckpointIndex) { | 54 HTMLInputCheckpoint newFirstValidCheckpointIndex) { |
| 55 ASSERT(newFirstValidCheckpointIndex < m_checkpoints.size()); | 55 DCHECK_LT(newFirstValidCheckpointIndex, m_checkpoints.size()); |
| 56 // There is nothing to do for the first valid checkpoint. | 56 // There is nothing to do for the first valid checkpoint. |
| 57 if (m_firstValidCheckpointIndex == newFirstValidCheckpointIndex) | 57 if (m_firstValidCheckpointIndex == newFirstValidCheckpointIndex) |
| 58 return; | 58 return; |
| 59 | 59 |
| 60 ASSERT(newFirstValidCheckpointIndex > m_firstValidCheckpointIndex); | 60 DCHECK_GT(newFirstValidCheckpointIndex, m_firstValidCheckpointIndex); |
| 61 const Checkpoint& lastInvalidCheckpoint = | 61 const Checkpoint& lastInvalidCheckpoint = |
| 62 m_checkpoints[newFirstValidCheckpointIndex - 1]; | 62 m_checkpoints[newFirstValidCheckpointIndex - 1]; |
| 63 | 63 |
| 64 ASSERT(m_firstValidSegmentIndex <= | 64 DCHECK_LE(m_firstValidSegmentIndex, |
| 65 lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended); | 65 lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended); |
| 66 for (size_t i = m_firstValidSegmentIndex; | 66 for (size_t i = m_firstValidSegmentIndex; |
| 67 i < lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended; ++i) | 67 i < lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended; ++i) |
| 68 m_segments[i] = String(); | 68 m_segments[i] = String(); |
| 69 m_firstValidSegmentIndex = | 69 m_firstValidSegmentIndex = |
| 70 lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended; | 70 lastInvalidCheckpoint.numberOfSegmentsAlreadyAppended; |
| 71 | 71 |
| 72 for (size_t i = m_firstValidCheckpointIndex; i < newFirstValidCheckpointIndex; | 72 for (size_t i = m_firstValidCheckpointIndex; i < newFirstValidCheckpointIndex; |
| 73 ++i) | 73 ++i) |
| 74 m_checkpoints[i].clear(); | 74 m_checkpoints[i].clear(); |
| 75 m_firstValidCheckpointIndex = newFirstValidCheckpointIndex; | 75 m_firstValidCheckpointIndex = newFirstValidCheckpointIndex; |
| 76 | 76 |
| 77 updateTotalCheckpointTokenCount(); | 77 updateTotalCheckpointTokenCount(); |
| 78 } | 78 } |
| 79 | 79 |
| 80 void BackgroundHTMLInputStream::rewindTo(HTMLInputCheckpoint checkpointIndex, | 80 void BackgroundHTMLInputStream::rewindTo(HTMLInputCheckpoint checkpointIndex, |
| 81 const String& unparsedInput) { | 81 const String& unparsedInput) { |
| 82 ASSERT(checkpointIndex < | 82 DCHECK_LT(checkpointIndex, |
| 83 m_checkpoints | 83 m_checkpoints |
| 84 .size()); // If this ASSERT fires, checkpointIndex is invalid. | 84 .size()); // If this DCHECK fires, checkpointIndex is invalid. |
| 85 const Checkpoint& checkpoint = m_checkpoints[checkpointIndex]; | 85 const Checkpoint& checkpoint = m_checkpoints[checkpointIndex]; |
| 86 ASSERT(!checkpoint.isNull()); | 86 |
| 87 #if DCHECK_IS_ON() |
| 88 DCHECK(!checkpoint.isNull()); |
| 89 #endif |
| 87 | 90 |
| 88 bool isClosed = m_current.isClosed(); | 91 bool isClosed = m_current.isClosed(); |
| 89 | 92 |
| 90 m_current = checkpoint.input; | 93 m_current = checkpoint.input; |
| 91 | 94 |
| 92 for (size_t i = checkpoint.numberOfSegmentsAlreadyAppended; | 95 for (size_t i = checkpoint.numberOfSegmentsAlreadyAppended; |
| 93 i < m_segments.size(); ++i) { | 96 i < m_segments.size(); ++i) { |
| 94 ASSERT(!m_segments[i].isNull()); | 97 DCHECK(!m_segments[i].isNull()); |
| 95 m_current.append(SegmentedString(m_segments[i])); | 98 m_current.append(SegmentedString(m_segments[i])); |
| 96 } | 99 } |
| 97 | 100 |
| 98 if (!unparsedInput.isEmpty()) { | 101 if (!unparsedInput.isEmpty()) { |
| 99 m_current.prepend(SegmentedString(unparsedInput), | 102 m_current.prepend(SegmentedString(unparsedInput), |
| 100 SegmentedString::PrependType::NewInput); | 103 SegmentedString::PrependType::NewInput); |
| 101 } | 104 } |
| 102 | 105 |
| 103 if (isClosed && !m_current.isClosed()) | 106 if (isClosed && !m_current.isClosed()) |
| 104 m_current.close(); | 107 m_current.close(); |
| 105 | 108 |
| 106 ASSERT(m_current.isClosed() == isClosed); | 109 DCHECK_EQ(m_current.isClosed(), isClosed); |
| 107 | 110 |
| 108 m_segments.clear(); | 111 m_segments.clear(); |
| 109 m_checkpoints.clear(); | 112 m_checkpoints.clear(); |
| 110 m_firstValidCheckpointIndex = 0; | 113 m_firstValidCheckpointIndex = 0; |
| 111 m_firstValidSegmentIndex = 0; | 114 m_firstValidSegmentIndex = 0; |
| 112 | 115 |
| 113 updateTotalCheckpointTokenCount(); | 116 updateTotalCheckpointTokenCount(); |
| 114 } | 117 } |
| 115 | 118 |
| 116 void BackgroundHTMLInputStream::updateTotalCheckpointTokenCount() { | 119 void BackgroundHTMLInputStream::updateTotalCheckpointTokenCount() { |
| 117 m_totalCheckpointTokenCount = 0; | 120 m_totalCheckpointTokenCount = 0; |
| 118 for (const auto& checkpoint : m_checkpoints) { | 121 for (const auto& checkpoint : m_checkpoints) { |
| 119 m_totalCheckpointTokenCount += | 122 m_totalCheckpointTokenCount += |
| 120 checkpoint.tokensExtractedSincePreviousCheckpoint; | 123 checkpoint.tokensExtractedSincePreviousCheckpoint; |
| 121 } | 124 } |
| 122 } | 125 } |
| 123 | 126 |
| 124 } // namespace blink | 127 } // namespace blink |
| OLD | NEW |