summaryrefslogtreecommitdiffstats
path: root/WebKit/win
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/win')
-rw-r--r--WebKit/win/ChangeLog73
-rw-r--r--WebKit/win/DefaultDownloadDelegate.cpp1
-rwxr-xr-xWebKit/win/Interfaces/IWebFramePrivate.idl2
-rw-r--r--WebKit/win/Interfaces/WebKit.idl2
-rw-r--r--WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp21
-rw-r--r--WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h42
-rw-r--r--WebKit/win/WebFrame.cpp28
-rw-r--r--WebKit/win/WebFrame.h2
-rw-r--r--WebKit/win/WebKit.vcproj/WebKit.vcproj8
-rw-r--r--WebKit/win/WebKitDLL.h2
-rw-r--r--WebKit/win/WebLocalizableStrings.cpp2
-rw-r--r--WebKit/win/WebNotificationCenter.cpp2
-rw-r--r--WebKit/win/WebPreferences.cpp2
-rw-r--r--WebKit/win/WebView.cpp4
14 files changed, 184 insertions, 7 deletions
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index acfeab7..cd0f234 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,76 @@
+2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Add NetworkingContext to avoid layer violations
+ https://bugs.webkit.org/show_bug.cgi?id=42292
+
+ Preparation: Just add the files to the build system.
+
+ * WebCoreSupport/WebFrameNetworkingContext.cpp: Added.
+ Empty placeholder for now.
+ * WebCoreSupport/WebFrameNetworkingContext.h: Added.
+ Placeholder with tentative code that might be changed when landing
+ the rest of it.
+ * WebKit.vcproj/WebKit.vcproj: Added new files.
+
+2010-08-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
+ <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
+
+ * WebView.cpp:
+ (WebView::canGoBack): Return false if loads are deferred.
+ (WebView::canGoForward): Ditto.
+
+2010-08-16 Kinuko Yasuda <kinuko@chromium.org>
+
+ Unreviewed; build fix attempt for Windows.
+
+ * DefaultDownloadDelegate.cpp:
+
+2010-08-12 Jeremy Orlow <jorlow@chromium.org>
+
+ Revert for now
+ https://bugs.webkit.org/show_bug.cgi?id=43794
+
+ * WebView.cpp:
+ (WebView::initWithFrame):
+
+2010-08-12 Jeremy Orlow <jorlow@chromium.org>
+
+ Build fix. Matches solutions in qt and mac ports for
+ https://bugs.webkit.org/show_bug.cgi?id=43794
+
+ * WebView.cpp:
+ (WebView::initWithFrame):
+
+2010-08-10 Gavin Barraclough <barraclough@apple.com>
+
+ Build fix (update more includes)
+
+ * WebKitDLL.h:
+ * WebLocalizableStrings.cpp:
+ * WebNotificationCenter.cpp:
+ * WebPreferences.cpp:
+
+2010-08-10 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Add suspendAnimations/resumeAnimation API to DRT
+ https://bugs.webkit.org/show_bug.cgi?id=43733
+
+ Win specific API
+
+ * Interfaces/IWebFramePrivate.idl:
+ * WebFrame.cpp:
+ (WebFrame::suspendAnimations):
+ (WebFrame::resumeAnimations):
+ * WebFrame.h:
+
2010-08-06 Gavin Barraclough <barraclough@apple.com>
Rubber stamped by Sam Weinig
diff --git a/WebKit/win/DefaultDownloadDelegate.cpp b/WebKit/win/DefaultDownloadDelegate.cpp
index cf443b5..29da6a4 100644
--- a/WebKit/win/DefaultDownloadDelegate.cpp
+++ b/WebKit/win/DefaultDownloadDelegate.cpp
@@ -30,6 +30,7 @@
#include "WebKit.h"
#include "WebKitLogging.h"
#include "WebMutableURLRequest.h"
+#include <wtf/text/CString.h>
#include <shlobj.h>
#include <tchar.h>
diff --git a/WebKit/win/Interfaces/IWebFramePrivate.idl b/WebKit/win/Interfaces/IWebFramePrivate.idl
index b04edfe..cf25204 100755
--- a/WebKit/win/Interfaces/IWebFramePrivate.idl
+++ b/WebKit/win/Interfaces/IWebFramePrivate.idl
@@ -90,6 +90,8 @@ interface IWebFramePrivate : IUnknown
HRESULT pauseAnimation([in] BSTR animationName, [in] IDOMNode* node, [in] double secondsFromNow, [out, retval] BOOL* animationWasRunning);
HRESULT pauseTransition([in] BSTR propertyName, [in] IDOMNode* node, [in] double secondsFromNow, [out, retval] BOOL* transitionWasRunning);
HRESULT numberOfActiveAnimations([out, retval] UINT* number);
+ HRESULT suspendAnimations();
+ HRESULT resumeAnimations();
HRESULT isDisplayingStandaloneImage([out, retval] BOOL* result);
diff --git a/WebKit/win/Interfaces/WebKit.idl b/WebKit/win/Interfaces/WebKit.idl
index 8938501..d25cdfe 100644
--- a/WebKit/win/Interfaces/WebKit.idl
+++ b/WebKit/win/Interfaces/WebKit.idl
@@ -20,7 +20,7 @@
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
cpp_quote("/*")
diff --git a/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp b/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
new file mode 100644
index 0000000..941cfaa
--- /dev/null
+++ b/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
@@ -0,0 +1,21 @@
+/*
+ Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+// Checking this file in empty to get the build system work out of the way.
+// Will put the code in here later.
diff --git a/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h b/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h
new file mode 100644
index 0000000..7fd55d5
--- /dev/null
+++ b/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h
@@ -0,0 +1,42 @@
+/*
+ Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef WebFrameNetworkingContext_h
+#define WebFrameNetworkingContext_h
+
+#include <WebCore/FrameNetworkingContext.h>
+
+class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
+public:
+ static PassRefPtr<WebFrameNetworkingContext> create(WebCore::Frame*, const WTF::String& userAgent);
+
+private:
+ WebFrameNetworkingContext(WebCore::Frame* frame, const WTF::String& userAgent)
+ : WebCore::FrameNetworkingContext(frame)
+ , m_userAgent(userAgent)
+ {
+ }
+
+ virtual WTF::String userAgent() const;
+ virtual WTF::String referrer() const;
+
+ WTF::String m_userAgent;
+};
+
+#endif // WebFrameNetworkingContext_h
diff --git a/WebKit/win/WebFrame.cpp b/WebKit/win/WebFrame.cpp
index f07821f..500a643 100644
--- a/WebKit/win/WebFrame.cpp
+++ b/WebKit/win/WebFrame.cpp
@@ -1297,6 +1297,34 @@ HRESULT WebFrame::numberOfActiveAnimations(UINT* number)
return S_OK;
}
+HRESULT WebFrame::suspendAnimations()
+{
+ Frame* frame = core(this);
+ if (!frame)
+ return E_FAIL;
+
+ AnimationController* controller = frame->animation();
+ if (!controller)
+ return E_FAIL;
+
+ controller->suspendAnimations(frame->document());
+ return S_OK;
+}
+
+HRESULT WebFrame::resumeAnimations()
+{
+ Frame* frame = core(this);
+ if (!frame)
+ return E_FAIL;
+
+ AnimationController* controller = frame->animation();
+ if (!controller)
+ return E_FAIL;
+
+ controller->resumeAnimations(frame->document());
+ return S_OK;
+}
+
HRESULT WebFrame::isDisplayingStandaloneImage(BOOL* result)
{
if (!result)
diff --git a/WebKit/win/WebFrame.h b/WebKit/win/WebFrame.h
index 6f8b56a..24a7e2b 100644
--- a/WebKit/win/WebFrame.h
+++ b/WebKit/win/WebFrame.h
@@ -258,6 +258,8 @@ public:
virtual HRESULT STDMETHODCALLTYPE pauseTransition(BSTR propertyName, IDOMNode*, double secondsFromNow, BOOL* transitionWasRunning);
virtual HRESULT STDMETHODCALLTYPE pauseSVGAnimation(BSTR elementId, IDOMNode*, double secondsFromNow, BOOL* animationWasRunning);
virtual HRESULT STDMETHODCALLTYPE numberOfActiveAnimations(UINT*);
+ virtual HRESULT STDMETHODCALLTYPE suspendAnimations();
+ virtual HRESULT STDMETHODCALLTYPE resumeAnimations();
virtual HRESULT STDMETHODCALLTYPE isDisplayingStandaloneImage(BOOL*);
diff --git a/WebKit/win/WebKit.vcproj/WebKit.vcproj b/WebKit/win/WebKit.vcproj/WebKit.vcproj
index 85e8ee1..822e13c 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.vcproj
+++ b/WebKit/win/WebKit.vcproj/WebKit.vcproj
@@ -1296,6 +1296,14 @@
>
</File>
<File
+ RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.h"
+ >
+ </File>
+ <File
RelativePath="..\WebCoreSupport\WebGeolocationControllerClient.cpp"
>
</File>
diff --git a/WebKit/win/WebKitDLL.h b/WebKit/win/WebKitDLL.h
index c31bc2d..8ba5b8e 100644
--- a/WebKit/win/WebKitDLL.h
+++ b/WebKit/win/WebKitDLL.h
@@ -33,8 +33,8 @@
#include <winsock2.h>
#include <windows.h>
#include <wtf/HashCountedSet.h>
+#include <wtf/text/StringHash.h>
#include <WebCore/PlatformString.h>
-#include <WebCore/StringHash.h>
#ifdef WEBKIT_EXPORTS
#define WEBKIT_API __declspec(dllexport)
diff --git a/WebKit/win/WebLocalizableStrings.cpp b/WebKit/win/WebLocalizableStrings.cpp
index ab2db5d..da6b221 100644
--- a/WebKit/win/WebLocalizableStrings.cpp
+++ b/WebKit/win/WebLocalizableStrings.cpp
@@ -30,8 +30,8 @@
#pragma warning(push, 0)
#include <WebCore/PlatformString.h>
-#include <WebCore/StringHash.h>
#include <wtf/text/CString.h>
+#include <wtf/text/StringHash.h>
#pragma warning(pop)
#include <wtf/Assertions.h>
diff --git a/WebKit/win/WebNotificationCenter.cpp b/WebKit/win/WebNotificationCenter.cpp
index 919f499..6c22224 100644
--- a/WebKit/win/WebNotificationCenter.cpp
+++ b/WebKit/win/WebNotificationCenter.cpp
@@ -31,10 +31,10 @@
#pragma warning(push, 0)
#include <WebCore/COMPtr.h>
#include <WebCore/PlatformString.h>
-#include <WebCore/StringHash.h>
#include <wtf/HashMap.h>
#include <wtf/HashTraits.h>
#include <wtf/Vector.h>
+#include <wtf/text/StringHash.h>
#pragma warning(pop)
#include <tchar.h>
#include <utility>
diff --git a/WebKit/win/WebPreferences.cpp b/WebKit/win/WebPreferences.cpp
index 25cfbda..255b68e 100644
--- a/WebKit/win/WebPreferences.cpp
+++ b/WebKit/win/WebPreferences.cpp
@@ -32,10 +32,10 @@
#include "WebNotificationCenter.h"
#include "WebPreferenceKeysPrivate.h"
+#include <wtf/text/StringHash.h>
#include <WebCore/FileSystem.h>
#include <WebCore/Font.h>
#include <WebCore/PlatformString.h>
-#include <WebCore/StringHash.h>
#include <WebCore/WKCACFLayerRenderer.h>
#include "WebLocalizableStrings.h"
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index c307c02..6d610a1 100644
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -3694,7 +3694,7 @@ HRESULT STDMETHODCALLTYPE WebView::canGoBack(
/* [in] */ IUnknown* /*sender*/,
/* [retval][out] */ BOOL* result)
{
- *result = !!m_page->backForwardList()->backItem();
+ *result = !!(m_page->backForwardList()->backItem() && !m_page->defersLoading());
return S_OK;
}
@@ -3709,7 +3709,7 @@ HRESULT STDMETHODCALLTYPE WebView::canGoForward(
/* [in] */ IUnknown* /*sender*/,
/* [retval][out] */ BOOL* result)
{
- *result = !!m_page->backForwardList()->forwardItem();
+ *result = !!(m_page->backForwardList()->forwardItem() && !m_page->defersLoading());
return S_OK;
}