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

Side by Side Diff: third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Issue 2764773003: Change WebFrameImplBase::initializeCoreFrame to take a Page& (Closed)
Patch Set: Rebase Created 3 years, 9 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) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 #include "core/dom/shadow/ShadowRoot.h" 111 #include "core/dom/shadow/ShadowRoot.h"
112 #include "core/editing/EditingUtilities.h" 112 #include "core/editing/EditingUtilities.h"
113 #include "core/editing/Editor.h" 113 #include "core/editing/Editor.h"
114 #include "core/editing/FrameSelection.h" 114 #include "core/editing/FrameSelection.h"
115 #include "core/editing/InputMethodController.h" 115 #include "core/editing/InputMethodController.h"
116 #include "core/editing/PlainTextRange.h" 116 #include "core/editing/PlainTextRange.h"
117 #include "core/editing/TextAffinity.h" 117 #include "core/editing/TextAffinity.h"
118 #include "core/editing/iterators/TextIterator.h" 118 #include "core/editing/iterators/TextIterator.h"
119 #include "core/editing/serializers/Serialization.h" 119 #include "core/editing/serializers/Serialization.h"
120 #include "core/editing/spellcheck/SpellChecker.h" 120 #include "core/editing/spellcheck/SpellChecker.h"
121 #include "core/frame/FrameHost.h"
122 #include "core/frame/FrameView.h" 121 #include "core/frame/FrameView.h"
123 #include "core/frame/LocalDOMWindow.h" 122 #include "core/frame/LocalDOMWindow.h"
124 #include "core/frame/PageScaleConstraintsSet.h" 123 #include "core/frame/PageScaleConstraintsSet.h"
125 #include "core/frame/RemoteFrame.h" 124 #include "core/frame/RemoteFrame.h"
126 #include "core/frame/Settings.h" 125 #include "core/frame/Settings.h"
127 #include "core/frame/SmartClip.h" 126 #include "core/frame/SmartClip.h"
128 #include "core/frame/UseCounter.h" 127 #include "core/frame/UseCounter.h"
129 #include "core/frame/VisualViewport.h" 128 #include "core/frame/VisualViewport.h"
130 #include "core/html/HTMLAnchorElement.h" 129 #include "core/html/HTMLAnchorElement.h"
131 #include "core/html/HTMLCollection.h" 130 #include "core/html/HTMLCollection.h"
(...skipping 1460 matching lines...) Expand 10 before | Expand all | Expand 10 after
1592 visitor->trace(m_printContext); 1591 visitor->trace(m_printContext);
1593 visitor->trace(m_contextMenuNode); 1592 visitor->trace(m_contextMenuNode);
1594 WebFrame::traceFrames(visitor, this); 1593 WebFrame::traceFrames(visitor, this);
1595 WebFrameImplBase::trace(visitor); 1594 WebFrameImplBase::trace(visitor);
1596 } 1595 }
1597 1596
1598 void WebLocalFrameImpl::setCoreFrame(LocalFrame* frame) { 1597 void WebLocalFrameImpl::setCoreFrame(LocalFrame* frame) {
1599 m_frame = frame; 1598 m_frame = frame;
1600 } 1599 }
1601 1600
1602 void WebLocalFrameImpl::initializeCoreFrame(FrameHost* host, 1601 void WebLocalFrameImpl::initializeCoreFrame(Page& page,
1603 FrameOwner* owner, 1602 FrameOwner* owner,
1604 const AtomicString& name) { 1603 const AtomicString& name) {
1605 setCoreFrame(LocalFrame::create(m_localFrameClientImpl.get(), 1604 setCoreFrame(LocalFrame::create(m_localFrameClientImpl.get(), &page, owner,
1606 host ? &host->page() : nullptr, owner,
1607 m_interfaceProvider, m_interfaceRegistry)); 1605 m_interfaceProvider, m_interfaceRegistry));
1608 frame()->tree().setName(name); 1606 frame()->tree().setName(name);
1609 // We must call init() after m_frame is assigned because it is referenced 1607 // We must call init() after m_frame is assigned because it is referenced
1610 // during init(). Note that this may dispatch JS events; the frame may be 1608 // during init(). Note that this may dispatch JS events; the frame may be
1611 // detached after init() returns. 1609 // detached after init() returns.
1612 frame()->init(); 1610 frame()->init();
1613 if (frame()) { 1611 if (frame()) {
1614 if (frame()->loader().stateMachine()->isDisplayingInitialEmptyDocument() && 1612 if (frame()->loader().stateMachine()->isDisplayingInitialEmptyDocument() &&
1615 !parent() && !opener() && 1613 !parent() && !opener() &&
1616 frame()->settings()->getShouldReuseGlobalForUnownedMainFrame()) { 1614 frame()->settings()->getShouldReuseGlobalForUnownedMainFrame()) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1655 // which can identify the element. 1653 // which can identify the element.
1656 WebLocalFrameImpl* webframeChild = 1654 WebLocalFrameImpl* webframeChild =
1657 toWebLocalFrameImpl(m_client->createChildFrame( 1655 toWebLocalFrameImpl(m_client->createChildFrame(
1658 this, scope, name, 1656 this, scope, name,
1659 ownerElement->getAttribute(ownerElement->subResourceAttributeName()), 1657 ownerElement->getAttribute(ownerElement->subResourceAttributeName()),
1660 static_cast<WebSandboxFlags>(ownerElement->getSandboxFlags()), 1658 static_cast<WebSandboxFlags>(ownerElement->getSandboxFlags()),
1661 ownerProperties)); 1659 ownerProperties));
1662 if (!webframeChild) 1660 if (!webframeChild)
1663 return nullptr; 1661 return nullptr;
1664 1662
1665 webframeChild->initializeCoreFrame(frame()->host(), ownerElement, name); 1663 webframeChild->initializeCoreFrame(*frame()->page(), ownerElement, name);
1666 // Initializing the core frame may cause the new child to be detached, since 1664 // Initializing the core frame may cause the new child to be detached, since
1667 // it may dispatch a load event in the parent. 1665 // it may dispatch a load event in the parent.
1668 if (!webframeChild->parent()) 1666 if (!webframeChild->parent())
1669 return nullptr; 1667 return nullptr;
1670 1668
1671 // If we're moving in the back/forward list, we might want to replace the 1669 // If we're moving in the back/forward list, we might want to replace the
1672 // content of this child frame with whatever was there at that point. 1670 // content of this child frame with whatever was there at that point.
1673 HistoryItem* childItem = nullptr; 1671 HistoryItem* childItem = nullptr;
1674 if (isBackForwardLoadType(frame()->loader().documentLoader()->loadType()) && 1672 if (isBackForwardLoadType(frame()->loader().documentLoader()->loadType()) &&
1675 !frame()->document()->loadEventFinished()) 1673 !frame()->document()->loadEventFinished())
(...skipping 829 matching lines...) Expand 10 before | Expand all | Expand 10 after
2505 createMarkup(startPosition, endPosition, AnnotateForInterchange, 2503 createMarkup(startPosition, endPosition, AnnotateForInterchange,
2506 ConvertBlocksToInlines::NotConvert, ResolveNonLocalURLs); 2504 ConvertBlocksToInlines::NotConvert, ResolveNonLocalURLs);
2507 } else { 2505 } else {
2508 clipHtml = 2506 clipHtml =
2509 createMarkup(endPosition, startPosition, AnnotateForInterchange, 2507 createMarkup(endPosition, startPosition, AnnotateForInterchange,
2510 ConvertBlocksToInlines::NotConvert, ResolveNonLocalURLs); 2508 ConvertBlocksToInlines::NotConvert, ResolveNonLocalURLs);
2511 } 2509 }
2512 } 2510 }
2513 2511
2514 } // namespace blink 2512 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/WebLocalFrameImpl.h ('k') | third_party/WebKit/Source/web/WebRemoteFrameImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698