WebCore:
Reviewed by Brady.
- http://bugs.webkit.org/show_bug.cgi?id=11794
fix lifetime problems affecting Frame's ownerElement pointer
* CMakeLists.txt:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
Updated for new source files.
* WebCore.exp: Updated for changes to entry point names.
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::FrameMac):
* bridge/win/FrameWin.h:
* bridge/win/FrameWin.cpp: (WebCore::FrameWin::FrameWin):
* platform/qt/FrameQt.h:
* platform/qt/FrameQt.cpp: (WebCore::FrameQt::FrameQt):
Updated owner element type to HTMLFrameOwnerElement.
* bridge/mac/WebCoreFrameBridge.h: Removed non-C++ case since we don't
use that any more. Updated owner element type to HTMLFrameOwnerElement.
* dom/Document.cpp: Added include so that the ownerElement function can
compile (since it downcasts an HTMLFrameOwnerElement to an Element).
* html/HTMLFrameElement.cpp:
(WebCore::containingFrameSetElement): Moved this function in here; it
doesn't need to be a member function.
(WebCore::HTMLFrameElement::attach): Updated to call this.
* html/HTMLFrameElementBase.h:
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Inherit from
HTMLFrameOwnerElement. Removed contentFrame, contentDocument, and
containingFrameSetElement. Removed friend classes.
* html/HTMLFrameOwnerElement.h: Added.
* html/HTMLFrameOwnerElement.cpp: Added.
* html/HTMLEmbedElement.h:
* html/HTMLEmbedElement.cpp:
* html/HTMLObjectElement.h:
* html/HTMLObjectElement.cpp:
Remove now-unneeded contentDocument functions.
* html/HTMLPlugInElement.h:
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::HTMLPlugInElement): Inherit from
HTMLFrameOwnerElement.
* loader/FormState.h:
* loader/FormState.cpp: Use HTMLFormElement instead of just Element.
* loader/FrameLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::requestFrame): Use HTMLFormElement.
(WebCore::FrameLoader::loadSubframe): Ditto.
(WebCore::FrameLoader::requestObject): Don't pass an element parameter
to shouldUsePlugin, and remove now-unneeded type casts.
(WebCore::FrameLoader::shouldUsePlugin): Removed unneeded element parameter.
(WebCore::FrameLoader::handleFallbackContent): Use HTMLFrameOwnerElement.
(WebCore::FrameLoader::updateBaseURLForEmptyDocument): Ditto.
(WebCore::FrameLoader::isHostedByObjectElement): Ditto.
* loader/mac/FrameLoaderMac.mm:
(WebCore::FrameLoader::load): Use HTMLFormElement.
(WebCore::FrameLoader::post): Ditto.
(WebCore::FrameLoader::createFrame): Use HTMLFrameOwnerElement.
* page/Frame.h:
* page/FramePrivate.h:
* page/Frame.cpp:
(WebCore::parentFromOwnerElement): Use HTMLFrameOwnerElement.
(WebCore::Frame::Frame): Ditto. Also set m_contentFrame on the owner element.
(WebCore::Frame::ownerElement): Ditto.
(WebCore::Frame::ownerRenderer): Ditto.
(WebCore::Frame::disconnectOwnerElement): Clear m_contentFrame on the owner
element before disconnecting it.
(WebCore::FramePrivate::FramePrivate): Use HTMLFrameOwnerElement.
* page/mac/EventHandlerMac.mm: Include HTMLFrameOwnerElement.h so that
the code here will compile (no code changes needed).
* rendering/RenderFrame.cpp: (WebCore::RenderFrame::viewCleared):
Updated so that RenderFrame doesn't need to be a friend of HTMLFrameElementBase.
* rendering/RenderPart.h:
* rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart):
Use HTMLFrameOwnerElement.
* rendering/RenderPartObject.h:
* rendering/RenderPartObject.cpp:
(WebCore::RenderPartObject::RenderPartObject): Use HTMLFrameOwnerElement.
(WebCore::RenderPartObject::viewCleared): Updated so that RenderFrame doesn't
need to be a friend of HTMLFrameElementBase.
- other changes
* platform/network/ResourceHandleInternal.h: Added Noncopyable and
fixed indentation.
WebKit:
Reviewed by Brady.
- http://bugs.webkit.org/show_bug.cgi?id=11794
fix lifetime problems affecting Frame's ownerElement pointer
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge finishInitializingWithPage:WebCore::frameName:frameView:ownerElement:]):
(-[WebFrameBridge initSubframeWithOwnerElement:frameName:frameView:]):
(-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
Use HTMLFrameOwnerElement.
* WebCoreSupport/WebFrameLoaderClient.mm: Include the relevant headers for the
HTMLFormElement class.
* WebKit.xcodeproj/project.pbxproj: Let Xcode have its way.
* WebView/WebFrame.mm: (-[WebFrame frameElement]): Update includes and types for the
change in return type of ownerElement.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
45 files changed