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

Side by Side Diff: third_party/WebKit/Source/core/html/parser/HTMLDocumentParser.h

Issue 2371663002: Introduce an injection point to configure the internal pointer of WeakPtr
Patch Set: fix Created 4 years, 2 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 * 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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 Member<HTMLParserScheduler> m_parserScheduler; 229 Member<HTMLParserScheduler> m_parserScheduler;
230 HTMLSourceTracker m_sourceTracker; 230 HTMLSourceTracker m_sourceTracker;
231 TextPosition m_textPosition; 231 TextPosition m_textPosition;
232 XSSAuditor m_xssAuditor; 232 XSSAuditor m_xssAuditor;
233 XSSAuditorDelegate m_xssAuditorDelegate; 233 XSSAuditorDelegate m_xssAuditorDelegate;
234 234
235 // FIXME: m_lastChunkBeforeScript, m_tokenizer, m_token, and m_input should be combined into a single state object 235 // FIXME: m_lastChunkBeforeScript, m_tokenizer, m_token, and m_input should be combined into a single state object
236 // so they can be set and cleared together and passed between threads togeth er. 236 // so they can be set and cleared together and passed between threads togeth er.
237 std::unique_ptr<TokenizedChunk> m_lastChunkBeforeScript; 237 std::unique_ptr<TokenizedChunk> m_lastChunkBeforeScript;
238 Deque<std::unique_ptr<TokenizedChunk>> m_speculations; 238 Deque<std::unique_ptr<TokenizedChunk>> m_speculations;
239 WeakPtrFactory<HTMLDocumentParser> m_weakFactory; 239 RevocableWeakMemberFactory<HTMLDocumentParser> m_weakFactory;
240 WeakPtr<BackgroundHTMLParser> m_backgroundParser; 240 WTF::WeakPtr<BackgroundHTMLParser> m_backgroundParser;
241 Member<HTMLResourcePreloader> m_preloader; 241 Member<HTMLResourcePreloader> m_preloader;
242 PreloadRequestStream m_queuedPreloads; 242 PreloadRequestStream m_queuedPreloads;
243 Vector<String> m_queuedDocumentWriteScripts; 243 Vector<String> m_queuedDocumentWriteScripts;
244 RefPtr<TokenizedChunkQueue> m_tokenizedChunkQueue; 244 RefPtr<TokenizedChunkQueue> m_tokenizedChunkQueue;
245 std::unique_ptr<DocumentWriteEvaluator> m_evaluator; 245 std::unique_ptr<DocumentWriteEvaluator> m_evaluator;
246 246
247 // If this is non-null, then there is a meta CSP token somewhere in the 247 // If this is non-null, then there is a meta CSP token somewhere in the
248 // speculation buffer. Preloads will be deferred until a token matching this 248 // speculation buffer. Preloads will be deferred until a token matching this
249 // pointer is parsed and the CSP policy is applied. Note that this pointer 249 // pointer is parsed and the CSP policy is applied. Note that this pointer
250 // tracks the *last* meta token in the speculation buffer, so it 250 // tracks the *last* meta token in the speculation buffer, so it
251 // overestimates how long to defer preloads. This is for simplicity, as the 251 // overestimates how long to defer preloads. This is for simplicity, as the
252 // alternative would require keeping track of token positions of preload 252 // alternative would require keeping track of token positions of preload
253 // requests. 253 // requests.
254 CompactHTMLToken* m_pendingCSPMetaToken; 254 CompactHTMLToken* m_pendingCSPMetaToken;
255 255
256 bool m_shouldUseThreading; 256 bool m_shouldUseThreading;
257 bool m_endWasDelayed; 257 bool m_endWasDelayed;
258 bool m_haveBackgroundParser; 258 bool m_haveBackgroundParser;
259 bool m_tasksWereSuspended; 259 bool m_tasksWereSuspended;
260 unsigned m_pumpSessionNestingLevel; 260 unsigned m_pumpSessionNestingLevel;
261 unsigned m_pumpSpeculationsSessionNestingLevel; 261 unsigned m_pumpSpeculationsSessionNestingLevel;
262 bool m_isParsingAtLineNumber; 262 bool m_isParsingAtLineNumber;
263 bool m_triedLoadingLinkHeaders; 263 bool m_triedLoadingLinkHeaders;
264 }; 264 };
265 265
266 } // namespace blink 266 } // namespace blink
267 267
268 #endif 268 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698