Implementing the changes for Bug 119964 under Windows is difficult, because the WebFrame class is a subclass of WebFrameloaderClient. This makes it difficult to move the creation of the WebFrame to a separate step in the loading process, because Windows expects this object to already exist at the time the loading operations are done. To make this a little easier, this first patch will refactor WebFrame to be more like the other ports by moving the WebFrameLoaderClient logic out of WebFrame, and simply having WebFrame use a loader object to do the work.
Created attachment 209481 [details] Patch
<rdar://problem/14821436>
Comment on attachment 209481 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=209481&action=review > Source/WebKit/win/WebFramePolicyListener.cpp:125 > + static_cast<WebFrameLoaderClient*>(&frame->loader().client())->receivedPolicyDecision(action); I think you can just cast to WebFrameLoaderClient& here. > Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h:205 > + WebFramePolicyListenerPrivate* m_policyListenerPrivate; I think this can be an OwnPtr.
Committed r154508: <http://trac.webkit.org/changeset/154508>