diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 0ae2373445823325ce2608ba2957c932878b5de4..10ce63da20de6adf667efd8abbd78001be227361 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,20 @@ +2008-03-20 Jon Honeycutt + + Reviewed by Anders. + + Fix Windows warning / leak: warning C4150: deletion of pointer to + incomplete type 'WebCore::PluginRequest'; no destructor called + + * plugins/PluginView.cpp: Move PluginRequest class to PluginView.h so + Windows PluginView destructor can use WTF::deleteAllValues to clean up + m_requests. + * plugins/PluginView.h: + (WebCore::PluginRequest::PluginRequest): + (WebCore::PluginRequest::frameLoadRequest): + (WebCore::PluginRequest::notifyData): + (WebCore::PluginRequest::sendNotification): + (WebCore::PluginRequest::shouldAllowPopups): + 2008-03-20 Mark Rowe Reviewed by Sam Weinig. diff --git a/WebCore/plugins/PluginView.cpp b/WebCore/plugins/PluginView.cpp index 545e43b75b5e0ca5066e00f69606232fd04d6a66..a82fcc7789c8a02446e48b240714f6907b3520a9 100644 --- a/WebCore/plugins/PluginView.cpp +++ b/WebCore/plugins/PluginView.cpp @@ -32,7 +32,6 @@ #include "Element.h" #include "EventNames.h" #include "FrameLoader.h" -#include "FrameLoadRequest.h" #include "FrameTree.h" #include "Frame.h" #include "FrameView.h" @@ -81,25 +80,6 @@ namespace WebCore { using namespace EventNames; using namespace HTMLNames; -class PluginRequest { -public: - PluginRequest(const FrameLoadRequest& frameLoadRequest, bool sendNotification, void* notifyData, bool shouldAllowPopups) - : m_frameLoadRequest(frameLoadRequest) - , m_notifyData(notifyData) - , m_sendNotification(sendNotification) - , m_shouldAllowPopups(shouldAllowPopups) { } -public: - const FrameLoadRequest& frameLoadRequest() const { return m_frameLoadRequest; } - void* notifyData() const { return m_notifyData; } - bool sendNotification() const { return m_sendNotification; } - bool shouldAllowPopups() const { return m_shouldAllowPopups; } -private: - FrameLoadRequest m_frameLoadRequest; - void* m_notifyData; - bool m_sendNotification; - bool m_shouldAllowPopups; -}; - static int s_callingPlugin; static String scriptStringIfJavaScriptURL(const KURL& url) diff --git a/WebCore/plugins/PluginView.h b/WebCore/plugins/PluginView.h index 253a1285d247ad6868f38a5c6648aeb558818391..83fbd4e6fd8e4069be0dca995d0aff373cd35e4d 100644 --- a/WebCore/plugins/PluginView.h +++ b/WebCore/plugins/PluginView.h @@ -28,6 +28,7 @@ #define PluginView_H #include "CString.h" +#include "FrameLoadRequest.h" #include "IntRect.h" #include "KURL.h" #include "PlatformString.h" @@ -52,7 +53,6 @@ namespace KJS { namespace WebCore { class Element; class Frame; - struct FrameLoadRequest; class KeyboardEvent; class MouseEvent; class KURL; @@ -71,6 +71,25 @@ namespace WebCore { PluginStatusLoadedSuccessfully }; + class PluginRequest { + public: + PluginRequest(const FrameLoadRequest& frameLoadRequest, bool sendNotification, void* notifyData, bool shouldAllowPopups) + : m_frameLoadRequest(frameLoadRequest) + , m_notifyData(notifyData) + , m_sendNotification(sendNotification) + , m_shouldAllowPopups(shouldAllowPopups) { } + public: + const FrameLoadRequest& frameLoadRequest() const { return m_frameLoadRequest; } + void* notifyData() const { return m_notifyData; } + bool sendNotification() const { return m_sendNotification; } + bool shouldAllowPopups() const { return m_shouldAllowPopups; } + private: + FrameLoadRequest m_frameLoadRequest; + void* m_notifyData; + bool m_sendNotification; + bool m_shouldAllowPopups; + }; + class PluginView : public Widget, private PluginStreamClient { #if PLATFORM(WIN) friend static LRESULT CALLBACK PluginViewWndProc(HWND, UINT, WPARAM, LPARAM);