summaryrefslogtreecommitdiffstats
path: root/WebKit/win
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/win')
-rw-r--r--WebKit/win/ChangeLog46
-rw-r--r--WebKit/win/WebCoreSupport/WebEditorClient.cpp6
-rw-r--r--WebKit/win/WebCoreSupport/WebGeolocationControllerClient.h1
-rw-r--r--WebKit/win/WebView.cpp23
4 files changed, 66 insertions, 10 deletions
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 44869dc..6b81bcc 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,49 @@
+2010-07-26 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Page clients should be passed to Page constructor via structure of pointers
+ https://bugs.webkit.org/show_bug.cgi?id=42834
+
+ * WebView.cpp:
+ (WebView::initWithFrame):
+
+2010-07-27 Steve Block <steveblock@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Client-based Geolocation does not pass enableHighAccuracy option to controller and client
+ https://bugs.webkit.org/show_bug.cgi?id=40374
+
+ Stub out setEnableHighAccuracy method for the Win port.
+
+ * WebCoreSupport/WebGeolocationControllerClient.h:
+ (WebGeolocationControllerClient::setEnableHighAccuracy):
+
+2010-07-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for <rdar://problem/8222626>
+ Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
+
+ The function name no longer perfectly matches the behavior, but I didn't want to break any existing clients. Maybe we
+ should migrate to a new function name eventually
+
+ * WebCoreSupport/WebEditorClient.cpp:
+ (WebEditorClient::textDidChangeInTextField):
+
+2010-07-21 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
+ https://bugs.webkit.org/show_bug.cgi?id=42783
+
+ * WebView.cpp:
+ (WebView::registerURLSchemeAsLocal):
+ (WebView::registerURLSchemeAsSecure):
+
2010-07-20 Steve Falkenburg <sfalken@apple.com>
Reviewed by Adam Roben.
diff --git a/WebKit/win/WebCoreSupport/WebEditorClient.cpp b/WebKit/win/WebCoreSupport/WebEditorClient.cpp
index e05951c..f03ffd6 100644
--- a/WebKit/win/WebCoreSupport/WebEditorClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebEditorClient.cpp
@@ -41,9 +41,10 @@
#include <WebCore/HTMLInputElement.h>
#include <WebCore/HTMLNames.h>
#include <WebCore/KeyboardEvent.h>
-#include <WebCore/PlatformKeyboardEvent.h>
#include <WebCore/NotImplemented.h>
+#include <WebCore/PlatformKeyboardEvent.h>
#include <WebCore/Range.h>
+#include <WebCore/UserTypingGestureIndicator.h>
#pragma warning(pop)
using namespace WebCore;
@@ -347,6 +348,9 @@ void WebEditorClient::textFieldDidEndEditing(Element* e)
void WebEditorClient::textDidChangeInTextField(Element* e)
{
+ if (!UserTypingGestureIndicator::processingUserTypingGesture() || UserTypingGestureIndicator::focusedElementAtGestureStart() != e)
+ return;
+
IWebFormDelegate* formDelegate;
if (SUCCEEDED(m_webView->formDelegate(&formDelegate)) && formDelegate) {
IDOMElement* domElement = DOMElement::createInstance(e);
diff --git a/WebKit/win/WebCoreSupport/WebGeolocationControllerClient.h b/WebKit/win/WebCoreSupport/WebGeolocationControllerClient.h
index ec0bef7..ed73454 100644
--- a/WebKit/win/WebCoreSupport/WebGeolocationControllerClient.h
+++ b/WebKit/win/WebCoreSupport/WebGeolocationControllerClient.h
@@ -42,6 +42,7 @@ public:
virtual void geolocationDestroyed();
virtual void startUpdating();
virtual void stopUpdating();
+ virtual void setEnableHighAccuracy(bool) { }
virtual WebCore::GeolocationPosition* lastPosition();
private:
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index fb0aad5..41ae079 100644
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -118,6 +118,7 @@
#include <WebCore/RenderWidget.h>
#include <WebCore/ResourceHandle.h>
#include <WebCore/ResourceHandleClient.h>
+#include <WebCore/SchemeRegistry.h>
#include <WebCore/ScriptValue.h>
#include <WebCore/Scrollbar.h>
#include <WebCore/ScrollbarTheme.h>
@@ -2562,17 +2563,21 @@ HRESULT STDMETHODCALLTYPE WebView::initWithFrame(
Settings::setShouldPaintNativeControls(shouldPaintNativeControls);
#endif
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
- WebGeolocationControllerClient* geolocationControllerClient = new WebGeolocationControllerClient(this);
-#else
- WebGeolocationControllerClient* geolocationControllerClient = 0;
-#endif
-
BOOL useHighResolutionTimer;
if (SUCCEEDED(m_preferences->shouldUseHighResolutionTimers(&useHighResolutionTimer)))
Settings::setShouldUseHighResolutionTimers(useHighResolutionTimer);
- m_page = new Page(new WebChromeClient(this), new WebContextMenuClient(this), new WebEditorClient(this), new WebDragClient(this), new WebInspectorClient(this), new WebPluginHalterClient(this), geolocationControllerClient, 0, 0);
+ Page::PageClients pageClients;
+ pageClients.chromeClient = new WebChromeClient(this);
+ pageClients.contextMenuClient = new WebContextMenuClient(this);
+ pageClients.editorClient = new WebEditorClient(this);
+ pageClients.dragClient = new WebDragClient(this);
+ pageClients.inspectorClient = new WebInspectorClient(this);
+ pageClients.pluginHalterClient = new WebPluginHalterClient(this);
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+ pageClients.geolocationControllerClient = new WebGeolocationControllerClient(this);
+#endif
+ m_page = new Page(pageClients);
BSTR localStoragePath;
if (SUCCEEDED(m_preferences->localStorageDatabasePath(&localStoragePath))) {
@@ -3652,7 +3657,7 @@ HRESULT STDMETHODCALLTYPE WebView::registerURLSchemeAsLocal(
if (!scheme)
return E_POINTER;
- SecurityOrigin::registerURLSchemeAsLocal(String(scheme, ::SysStringLen(scheme)));
+ SchemeRegistry::registerURLSchemeAsLocal(String(scheme, ::SysStringLen(scheme)));
return S_OK;
}
@@ -6412,7 +6417,7 @@ HRESULT WebView::setDomainRelaxationForbiddenForURLScheme(BOOL forbidden, BSTR s
HRESULT WebView::registerURLSchemeAsSecure(BSTR scheme)
{
- SecurityOrigin::registerURLSchemeAsSecure(toString(scheme));
+ SchemeRegistry::registerURLSchemeAsSecure(toString(scheme));
return S_OK;
}