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

Side by Side Diff: third_party/WebKit/Source/core/dom/Document.h

Issue 2809733003: Move most of FrameLoader::CheckCompleted() to Document (Closed)
Patch Set: processingLoadEvent() as part of shouldComplete(), cleanup shouldComplete() Created 3 years, 8 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All
7 * rights reserved. 7 * rights reserved.
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
9 * (http://www.torchmobile.com/) 9 * (http://www.torchmobile.com/)
10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 // document of the entry settings object. 556 // document of the entry settings object.
557 void open(Document* entered_document, ExceptionState&); 557 void open(Document* entered_document, ExceptionState&);
558 // This is used internally and does not handle exceptions. 558 // This is used internally and does not handle exceptions.
559 void open(); 559 void open();
560 DocumentParser* ImplicitOpen(ParserSynchronizationPolicy); 560 DocumentParser* ImplicitOpen(ParserSynchronizationPolicy);
561 561
562 // This is the DOM API document.close() 562 // This is the DOM API document.close()
563 void close(ExceptionState&); 563 void close(ExceptionState&);
564 // This is used internally and does not handle exceptions. 564 // This is used internally and does not handle exceptions.
565 void close(); 565 void close();
566 // implicitClose() actually does the work of closing the input stream. 566
567 void ImplicitClose(); 567 void CheckCompleted();
568 568
569 bool DispatchBeforeUnloadEvent(ChromeClient&, 569 bool DispatchBeforeUnloadEvent(ChromeClient&,
570 bool is_reload, 570 bool is_reload,
571 bool& did_allow_navigation); 571 bool& did_allow_navigation);
572 void DispatchUnloadEvents(); 572 void DispatchUnloadEvents();
573 573
574 enum PageDismissalType { 574 enum PageDismissalType {
575 kNoDismissal, 575 kNoDismissal,
576 kBeforeUnloadDismissal, 576 kBeforeUnloadDismissal,
577 kPageHideDismissal, 577 kPageHideDismissal,
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 666
667 // https://html.spec.whatwg.org/multipage/dom.html#documentreadystate 667 // https://html.spec.whatwg.org/multipage/dom.html#documentreadystate
668 enum DocumentReadyState { kLoading, kInteractive, kComplete }; 668 enum DocumentReadyState { kLoading, kInteractive, kComplete };
669 669
670 void SetReadyState(DocumentReadyState); 670 void SetReadyState(DocumentReadyState);
671 bool IsLoadCompleted(); 671 bool IsLoadCompleted();
672 672
673 enum ParsingState { kParsing, kInDOMContentLoaded, kFinishedParsing }; 673 enum ParsingState { kParsing, kInDOMContentLoaded, kFinishedParsing };
674 void SetParsingState(ParsingState); 674 void SetParsingState(ParsingState);
675 bool Parsing() const { return parsing_state_ == kParsing; } 675 bool Parsing() const { return parsing_state_ == kParsing; }
676 bool IsInDOMContentLoaded() const {
677 return parsing_state_ == kInDOMContentLoaded;
678 }
679 bool HasFinishedParsing() const { return parsing_state_ == kFinishedParsing; } 676 bool HasFinishedParsing() const { return parsing_state_ == kFinishedParsing; }
680 677
681 bool ShouldScheduleLayout() const; 678 bool ShouldScheduleLayout() const;
682 int ElapsedTime() const; 679 int ElapsedTime() const;
683 680
684 bool CanCreateHistoryEntry() const; 681 bool CanCreateHistoryEntry() const;
685 682
686 TextLinkColors& GetTextLinkColors() { return text_link_colors_; } 683 TextLinkColors& GetTextLinkColors() { return text_link_colors_; }
687 VisitedLinkState& GetVisitedLinkState() const { return *visited_link_state_; } 684 VisitedLinkState& GetVisitedLinkState() const { return *visited_link_state_; }
688 685
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1036 kBeforeUnloadEventInProgress, 1033 kBeforeUnloadEventInProgress,
1037 kBeforeUnloadEventCompleted, 1034 kBeforeUnloadEventCompleted,
1038 kPageHideInProgress, 1035 kPageHideInProgress,
1039 kUnloadVisibilityChangeInProgress, 1036 kUnloadVisibilityChangeInProgress,
1040 kUnloadEventInProgress, 1037 kUnloadEventInProgress,
1041 kUnloadEventHandled 1038 kUnloadEventHandled
1042 }; 1039 };
1043 bool LoadEventStillNeeded() const { 1040 bool LoadEventStillNeeded() const {
1044 return load_event_progress_ == kLoadEventNotRun; 1041 return load_event_progress_ == kLoadEventNotRun;
1045 } 1042 }
1046 bool ProcessingLoadEvent() const {
1047 return load_event_progress_ == kLoadEventInProgress;
1048 }
1049 bool LoadEventFinished() const { 1043 bool LoadEventFinished() const {
1050 return load_event_progress_ >= kLoadEventCompleted; 1044 return load_event_progress_ >= kLoadEventCompleted;
1051 } 1045 }
1052 bool UnloadStarted() const { 1046 bool UnloadStarted() const {
1053 return load_event_progress_ >= kPageHideInProgress; 1047 return load_event_progress_ >= kPageHideInProgress;
1054 } 1048 }
1055 bool ProcessingBeforeUnload() const { 1049 bool ProcessingBeforeUnload() const {
1056 return load_event_progress_ == kBeforeUnloadEventInProgress; 1050 return load_event_progress_ == kBeforeUnloadEventInProgress;
1057 } 1051 }
1058 void SuppressLoadEvent(); 1052 void SuppressLoadEvent();
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
1149 } 1143 }
1150 V0CustomElementMicrotaskRunQueue* CustomElementMicrotaskRunQueue(); 1144 V0CustomElementMicrotaskRunQueue* CustomElementMicrotaskRunQueue();
1151 1145
1152 void ClearImportsController(); 1146 void ClearImportsController();
1153 void CreateImportsController(); 1147 void CreateImportsController();
1154 HTMLImportsController* ImportsController() const { 1148 HTMLImportsController* ImportsController() const {
1155 return imports_controller_; 1149 return imports_controller_;
1156 } 1150 }
1157 HTMLImportLoader* ImportLoader() const; 1151 HTMLImportLoader* ImportLoader() const;
1158 1152
1159 bool HaveImportsLoaded() const;
1160 void DidLoadAllImports(); 1153 void DidLoadAllImports();
1161 1154
1162 void AdjustFloatQuadsForScrollAndAbsoluteZoom(Vector<FloatQuad>&, 1155 void AdjustFloatQuadsForScrollAndAbsoluteZoom(Vector<FloatQuad>&,
1163 LayoutObject&); 1156 LayoutObject&);
1164 void AdjustFloatRectForScrollAndAbsoluteZoom(FloatRect&, LayoutObject&); 1157 void AdjustFloatRectForScrollAndAbsoluteZoom(FloatRect&, LayoutObject&);
1165 1158
1166 void SetContextFeatures(ContextFeatures&); 1159 void SetContextFeatures(ContextFeatures&);
1167 ContextFeatures& GetContextFeatures() const { return *context_features_; } 1160 ContextFeatures& GetContextFeatures() const { return *context_features_; }
1168 1161
1169 ElementDataCache* GetElementDataCache() { return element_data_cache_.Get(); } 1162 ElementDataCache* GetElementDataCache() { return element_data_cache_.Get(); }
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
1359 1352
1360 void InheritHtmlAndBodyElementStyles(StyleRecalcChange); 1353 void InheritHtmlAndBodyElementStyles(StyleRecalcChange);
1361 1354
1362 void UpdateUseShadowTreesIfNeeded(); 1355 void UpdateUseShadowTreesIfNeeded();
1363 void EvaluateMediaQueryListIfNeeded(); 1356 void EvaluateMediaQueryListIfNeeded();
1364 1357
1365 void UpdateStyleInvalidationIfNeeded(); 1358 void UpdateStyleInvalidationIfNeeded();
1366 void UpdateStyle(); 1359 void UpdateStyle();
1367 void NotifyLayoutTreeOfSubtreeChanges(); 1360 void NotifyLayoutTreeOfSubtreeChanges();
1368 1361
1362 // ImplicitClose() actually does the work of closing the input stream.
1363 void ImplicitClose();
1364 bool ShouldComplete();
1365
1369 void DetachParser(); 1366 void DetachParser();
1370 1367
1371 void BeginLifecycleUpdatesIfRenderingReady(); 1368 void BeginLifecycleUpdatesIfRenderingReady();
1372 1369
1373 bool IsDocument() const final { return true; } 1370 bool IsDocument() const final { return true; }
1374 1371
1375 void ChildrenChanged(const ChildrenChange&) override; 1372 void ChildrenChanged(const ChildrenChange&) override;
1376 1373
1377 String nodeName() const final; 1374 String nodeName() const final;
1378 NodeType getNodeType() const final; 1375 NodeType getNodeType() const final;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1424 } 1421 }
1425 1422
1426 const OriginAccessEntry& AccessEntryFromURL(); 1423 const OriginAccessEntry& AccessEntryFromURL();
1427 1424
1428 void SendSensitiveInputVisibility(); 1425 void SendSensitiveInputVisibility();
1429 void SendSensitiveInputVisibilityInternal(); 1426 void SendSensitiveInputVisibilityInternal();
1430 1427
1431 void RunExecutionContextTask(std::unique_ptr<ExecutionContextTask>, 1428 void RunExecutionContextTask(std::unique_ptr<ExecutionContextTask>,
1432 bool instrumenting); 1429 bool instrumenting);
1433 1430
1431 bool HaveImportsLoaded() const;
1432
1434 DocumentLifecycle lifecycle_; 1433 DocumentLifecycle lifecycle_;
1435 1434
1436 bool has_nodes_with_placeholder_style_; 1435 bool has_nodes_with_placeholder_style_;
1437 bool evaluate_media_queries_on_style_recalc_; 1436 bool evaluate_media_queries_on_style_recalc_;
1438 1437
1439 // If we do ignore the pending stylesheet count, then we need to add a boolean 1438 // If we do ignore the pending stylesheet count, then we need to add a boolean
1440 // to track that this happened so that we can do a full repaint when the 1439 // to track that this happened so that we can do a full repaint when the
1441 // stylesheets do eventually load. 1440 // stylesheets do eventually load.
1442 PendingSheetLayout pending_sheet_layout_; 1441 PendingSheetLayout pending_sheet_layout_;
1443 1442
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
1725 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true); 1724 DEFINE_TYPE_CASTS(TreeScope, Document, document, true, true);
1726 1725
1727 } // namespace blink 1726 } // namespace blink
1728 1727
1729 #ifndef NDEBUG 1728 #ifndef NDEBUG
1730 // Outside the WebCore namespace for ease of invocation from gdb. 1729 // Outside the WebCore namespace for ease of invocation from gdb.
1731 CORE_EXPORT void showLiveDocumentInstances(); 1730 CORE_EXPORT void showLiveDocumentInstances();
1732 #endif 1731 #endif
1733 1732
1734 #endif // Document_h 1733 #endif // Document_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698