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

Side by Side Diff: third_party/WebKit/Source/core/html/parser/HTMLTreeBuilder.cpp

Issue 1642283002: Deal with frame removal by content scripts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Schedule microtask for document_end scripts Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google, Inc. All Rights Reserved. 2 * Copyright (C) 2010 Google, Inc. All Rights Reserved.
3 * Copyright (C) 2011, 2014 Apple Inc. All rights reserved. 3 * Copyright (C) 2011, 2014 Apple Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 String takeLeadingWhitespace() 181 String takeLeadingWhitespace()
182 { 182 {
183 return takeLeading<isHTMLSpace<UChar>>(); 183 return takeLeading<isHTMLSpace<UChar>>();
184 } 184 }
185 185
186 void skipLeadingNonWhitespace() 186 void skipLeadingNonWhitespace()
187 { 187 {
188 skipLeading<isNotHTMLSpace<UChar>>(); 188 skipLeading<isNotHTMLSpace<UChar>>();
189 } 189 }
190 190
191 void skipRemaining()
192 {
193 m_current = m_end;
194 }
195
191 String takeRemaining() 196 String takeRemaining()
192 { 197 {
193 ASSERT(!isEmpty()); 198 ASSERT(!isEmpty());
194 unsigned start = m_current; 199 unsigned start = m_current;
195 m_current = m_end; 200 m_current = m_end;
196 // Notice that substring is smart enough to return *this when start == 0 . 201 // Notice that substring is smart enough to return *this when start == 0 .
197 return String(m_characters->substring(start, m_end - start)); 202 return String(m_characters->substring(start, m_end - start));
198 } 203 }
199 204
200 void giveRemainingTo(StringBuilder& recipient) 205 void giveRemainingTo(StringBuilder& recipient)
(...skipping 2080 matching lines...) Expand 10 before | Expand all | Expand 10 after
2281 return; 2286 return;
2282 defaultForInitial(); 2287 defaultForInitial();
2283 // Fall through. 2288 // Fall through.
2284 } 2289 }
2285 case BeforeHTMLMode: { 2290 case BeforeHTMLMode: {
2286 ASSERT(insertionMode() == BeforeHTMLMode); 2291 ASSERT(insertionMode() == BeforeHTMLMode);
2287 buffer.skipLeadingWhitespace(); 2292 buffer.skipLeadingWhitespace();
2288 if (buffer.isEmpty()) 2293 if (buffer.isEmpty())
2289 return; 2294 return;
2290 defaultForBeforeHTML(); 2295 defaultForBeforeHTML();
2296 if (m_parser->isStopped()) {
kouhei (in TOK) 2016/02/10 01:38:02 I don't understand the intention of the change her
robwu 2016/02/10 10:19:52 When the HTML document consists of text only, e.g.
2297 buffer.skipRemaining();
2298 return;
2299 }
2291 // Fall through. 2300 // Fall through.
2292 } 2301 }
2293 case BeforeHeadMode: { 2302 case BeforeHeadMode: {
2294 ASSERT(insertionMode() == BeforeHeadMode); 2303 ASSERT(insertionMode() == BeforeHeadMode);
2295 buffer.skipLeadingWhitespace(); 2304 buffer.skipLeadingWhitespace();
2296 if (buffer.isEmpty()) 2305 if (buffer.isEmpty())
2297 return; 2306 return;
2298 defaultForBeforeHead(); 2307 defaultForBeforeHead();
2299 // Fall through. 2308 // Fall through.
2300 } 2309 }
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
2812 ASSERT(m_isAttached); 2821 ASSERT(m_isAttached);
2813 // Warning, this may detach the parser. Do not do anything else after this. 2822 // Warning, this may detach the parser. Do not do anything else after this.
2814 m_tree.finishedParsing(); 2823 m_tree.finishedParsing();
2815 } 2824 }
2816 2825
2817 void HTMLTreeBuilder::parseError(AtomicHTMLToken*) 2826 void HTMLTreeBuilder::parseError(AtomicHTMLToken*)
2818 { 2827 {
2819 } 2828 }
2820 2829
2821 } // namespace blink 2830 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698