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

Side by Side Diff: Source/core/loader/FrameLoader.cpp

Issue 683013002: Extract a DOMWindow interface from LocalDOMWindow and use it in the idl. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: whee Created 6 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed.
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com>
6 * Copyright (C) Research In Motion Limited 2009. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2009. All rights reserved.
7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com> 7 * Copyright (C) 2011 Kris Jordan <krisjordan@gmail.com>
8 * Copyright (C) 2011 Google Inc. All rights reserved. 8 * Copyright (C) 2011 Google Inc. All rights reserved.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 return; 578 return;
579 } 579 }
580 m_loadType = type; 580 m_loadType = type;
581 saveScrollState(); 581 saveScrollState();
582 582
583 KURL oldURL = m_frame->document()->url(); 583 KURL oldURL = m_frame->document()->url();
584 // If we were in the autoscroll/panScroll mode we want to stop it before fol lowing the link to the anchor 584 // If we were in the autoscroll/panScroll mode we want to stop it before fol lowing the link to the anchor
585 bool hashChange = equalIgnoringFragmentIdentifier(url, oldURL) && url.fragme ntIdentifier() != oldURL.fragmentIdentifier(); 585 bool hashChange = equalIgnoringFragmentIdentifier(url, oldURL) && url.fragme ntIdentifier() != oldURL.fragmentIdentifier();
586 if (hashChange) { 586 if (hashChange) {
587 m_frame->eventHandler().stopAutoscroll(); 587 m_frame->eventHandler().stopAutoscroll();
588 m_frame->domWindow()->enqueueHashchangeEvent(oldURL, url); 588 m_frame->localDOMWindow()->enqueueHashchangeEvent(oldURL, url);
589 } 589 }
590 m_documentLoader->setIsClientRedirect(clientRedirect == ClientRedirect); 590 m_documentLoader->setIsClientRedirect(clientRedirect == ClientRedirect);
591 m_documentLoader->setReplacesCurrentHistoryItem(m_loadType == FrameLoadTypeS tandard); 591 m_documentLoader->setReplacesCurrentHistoryItem(m_loadType == FrameLoadTypeS tandard);
592 updateForSameDocumentNavigation(url, SameDocumentNavigationDefault, nullptr, type); 592 updateForSameDocumentNavigation(url, SameDocumentNavigationDefault, nullptr, type);
593 593
594 m_frame->view()->setWasScrolledByUser(false); 594 m_frame->view()->setWasScrolledByUser(false);
595 595
596 // We need to scroll to the fragment whether or not a hash change occurred, since 596 // We need to scroll to the fragment whether or not a hash change occurred, since
597 // the user might have scrolled since the previous navigation. 597 // the user might have scrolled since the previous navigation.
598 scrollToFragmentWithParentBoundary(url); 598 scrollToFragmentWithParentBoundary(url);
599 checkCompleted(); 599 checkCompleted();
600 600
601 m_frame->domWindow()->statePopped(stateObject ? stateObject : SerializedScri ptValue::nullValue()); 601 m_frame->localDOMWindow()->statePopped(stateObject ? stateObject : Serialize dScriptValue::nullValue());
602 } 602 }
603 603
604 void FrameLoader::completed() 604 void FrameLoader::completed()
605 { 605 {
606 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame.get()); 606 RefPtrWillBeRawPtr<LocalFrame> protect(m_frame.get());
607 607
608 for (Frame* descendant = m_frame->tree().traverseNext(m_frame); descendant; descendant = descendant->tree().traverseNext(m_frame)) { 608 for (Frame* descendant = m_frame->tree().traverseNext(m_frame); descendant; descendant = descendant->tree().traverseNext(m_frame)) {
609 if (descendant->isLocalFrame()) 609 if (descendant->isLocalFrame())
610 toLocalFrame(descendant)->navigationScheduler().startTimer(); 610 toLocalFrame(descendant)->navigationScheduler().startTimer();
611 } 611 }
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
935 m_frame->page()->chrome().client().needTouchEvents(false); 935 m_frame->page()->chrome().client().needTouchEvents(false);
936 936
937 client()->transitionToCommittedForNewPage(); 937 client()->transitionToCommittedForNewPage();
938 m_frame->navigationScheduler().cancel(); 938 m_frame->navigationScheduler().cancel();
939 m_frame->editor().clearLastEditCommand(); 939 m_frame->editor().clearLastEditCommand();
940 940
941 // If we are still in the process of initializing an empty document then 941 // If we are still in the process of initializing an empty document then
942 // its frame is not in a consistent state for rendering, so avoid setJSStatu sBarText 942 // its frame is not in a consistent state for rendering, so avoid setJSStatu sBarText
943 // since it may cause clients to attempt to render the frame. 943 // since it may cause clients to attempt to render the frame.
944 if (!m_stateMachine.creatingInitialEmptyDocument()) { 944 if (!m_stateMachine.creatingInitialEmptyDocument()) {
945 LocalDOMWindow* window = m_frame->domWindow(); 945 DOMWindow* window = m_frame->domWindow();
946 window->setStatus(String()); 946 window->setStatus(String());
947 window->setDefaultStatus(String()); 947 window->setDefaultStatus(String());
948 } 948 }
949 } 949 }
950 950
951 bool FrameLoader::isLoadingMainFrame() const 951 bool FrameLoader::isLoadingMainFrame() const
952 { 952 {
953 return m_frame->isMainFrame(); 953 return m_frame->isMainFrame();
954 } 954 }
955 955
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1023 // the new page is ready. 1023 // the new page is ready.
1024 1024
1025 // Retry restoring scroll offset since FrameStateComplete disables content 1025 // Retry restoring scroll offset since FrameStateComplete disables content
1026 // size clamping. 1026 // size clamping.
1027 restoreScrollPositionAndViewState(); 1027 restoreScrollPositionAndViewState();
1028 1028
1029 if (!m_stateMachine.committedFirstRealDocumentLoad()) 1029 if (!m_stateMachine.committedFirstRealDocumentLoad())
1030 return true; 1030 return true;
1031 1031
1032 m_progressTracker->progressCompleted(); 1032 m_progressTracker->progressCompleted();
1033 m_frame->domWindow()->finishedLoading(); 1033 m_frame->localDOMWindow()->finishedLoading();
1034 1034
1035 const ResourceError& error = m_documentLoader->mainDocumentError(); 1035 const ResourceError& error = m_documentLoader->mainDocumentError();
1036 if (!error.isNull()) { 1036 if (!error.isNull()) {
1037 client()->dispatchDidFailLoad(error); 1037 client()->dispatchDidFailLoad(error);
1038 } else { 1038 } else {
1039 // Report mobile vs. desktop page statistics. This will only report on A ndroid. 1039 // Report mobile vs. desktop page statistics. This will only report on A ndroid.
1040 if (m_frame->isMainFrame()) 1040 if (m_frame->isMainFrame())
1041 m_frame->document()->viewportDescription().reportMobilePageStats(m_f rame); 1041 m_frame->document()->viewportDescription().reportMobilePageStats(m_f rame);
1042 1042
1043 client()->dispatchDidFinishLoad(); 1043 client()->dispatchDidFinishLoad();
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
1442 // FIXME: We need a way to propagate sandbox flags to out-of-process frames. 1442 // FIXME: We need a way to propagate sandbox flags to out-of-process frames.
1443 Frame* parentFrame = m_frame->tree().parent(); 1443 Frame* parentFrame = m_frame->tree().parent();
1444 if (parentFrame && parentFrame->isLocalFrame()) 1444 if (parentFrame && parentFrame->isLocalFrame())
1445 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags(); 1445 flags |= toLocalFrame(parentFrame)->document()->sandboxFlags();
1446 if (FrameOwner* frameOwner = m_frame->owner()) 1446 if (FrameOwner* frameOwner = m_frame->owner())
1447 flags |= frameOwner->sandboxFlags(); 1447 flags |= frameOwner->sandboxFlags();
1448 return flags; 1448 return flags;
1449 } 1449 }
1450 1450
1451 } // namespace blink 1451 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698