summaryrefslogtreecommitdiffstats
path: root/WebKit/win/WebCoreSupport/WebChromeClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/win/WebCoreSupport/WebChromeClient.cpp')
-rw-r--r--WebKit/win/WebCoreSupport/WebChromeClient.cpp62
1 files changed, 35 insertions, 27 deletions
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
index 1f0c09c..1c0401f 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
@@ -34,7 +34,9 @@
#include "WebView.h"
#pragma warning(push, 0)
#include <WebCore/BString.h>
+#include <WebCore/Console.h>
#include <WebCore/ContextMenu.h>
+#include <WebCore/Cursor.h>
#include <WebCore/FileChooser.h>
#include <WebCore/FloatRect.h>
#include <WebCore/FrameLoadRequest.h>
@@ -151,7 +153,7 @@ void WebChromeClient::takeFocus(FocusDirection direction)
Page* WebChromeClient::createWindow(Frame*, const FrameLoadRequest& frameLoadRequest, const WindowFeatures& features)
{
if (features.dialog) {
- COMPtr<IWebUIDelegate3> delegate = uiDelegate3();
+ COMPtr<IWebUIDelegate> delegate = uiDelegate();
if (!delegate)
return 0;
COMPtr<IWebMutableURLRequest> request(AdoptCOM, WebMutableURLRequest::createInstance(frameLoadRequest.resourceRequest()));
@@ -191,14 +193,14 @@ void WebChromeClient::show()
bool WebChromeClient::canRunModal()
{
BOOL result = FALSE;
- if (COMPtr<IWebUIDelegate3> delegate = uiDelegate3())
+ if (COMPtr<IWebUIDelegate> delegate = uiDelegate())
delegate->canRunModal(m_webView, &result);
return result;
}
void WebChromeClient::runModal()
{
- if (COMPtr<IWebUIDelegate3> delegate = uiDelegate3())
+ if (COMPtr<IWebUIDelegate> delegate = uiDelegate())
delegate->runModal(m_webView);
}
@@ -261,7 +263,7 @@ bool WebChromeClient::scrollbarsVisible()
void WebChromeClient::setMenubarVisible(bool visible)
{
- COMPtr<IWebUIDelegate3> delegate = uiDelegate3();
+ COMPtr<IWebUIDelegate> delegate = uiDelegate();
if (!delegate)
return;
delegate->setMenuBarVisible(m_webView, visible);
@@ -269,7 +271,7 @@ void WebChromeClient::setMenubarVisible(bool visible)
bool WebChromeClient::menubarVisible()
{
- COMPtr<IWebUIDelegate3> delegate = uiDelegate3();
+ COMPtr<IWebUIDelegate> delegate = uiDelegate();
if (!delegate)
return true;
BOOL result = true;
@@ -286,7 +288,7 @@ void WebChromeClient::setResizable(bool resizable)
}
}
-void WebChromeClient::addMessageToConsole(const String& message, unsigned line, const String& url)
+void WebChromeClient::addMessageToConsole(MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned line, const String& url)
{
COMPtr<IWebUIDelegate> uiDelegate;
if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
@@ -492,7 +494,7 @@ void WebChromeClient::mouseDidMoveOverElement(const HitTestResult& result, unsig
uiDelegate->mouseDidMoveOverElement(m_webView, element.get(), modifierFlags);
}
-void WebChromeClient::setToolTip(const String& toolTip)
+void WebChromeClient::setToolTip(const String& toolTip, TextDirection)
{
m_webView->setToolTip(toolTip);
}
@@ -500,10 +502,8 @@ void WebChromeClient::setToolTip(const String& toolTip)
void WebChromeClient::print(Frame* frame)
{
COMPtr<IWebUIDelegate> uiDelegate;
- COMPtr<IWebUIDelegate2> uiDelegate2;
if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate)))
- if (SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegate2, (void**)&uiDelegate2)))
- uiDelegate2->printFrame(m_webView, kit(frame));
+ uiDelegate->printFrame(m_webView, kit(frame));
}
#if ENABLE(DATABASE)
@@ -512,9 +512,9 @@ void WebChromeClient::exceededDatabaseQuota(Frame* frame, const String& database
COMPtr<WebSecurityOrigin> origin(AdoptCOM, WebSecurityOrigin::createInstance(frame->document()->securityOrigin()));
COMPtr<IWebUIDelegate> uiDelegate;
if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- COMPtr<IWebUIDelegatePrivate3> uiDelegatePrivate3(Query, uiDelegate);
- if (uiDelegatePrivate3)
- uiDelegatePrivate3->exceededDatabaseQuota(m_webView, kit(frame), origin.get(), BString(databaseIdentifier));
+ COMPtr<IWebUIDelegatePrivate> uiDelegatePrivate(Query, uiDelegate);
+ if (uiDelegatePrivate)
+ uiDelegatePrivate->exceededDatabaseQuota(m_webView, kit(frame), origin.get(), BString(databaseIdentifier));
else {
// FIXME: remove this workaround once shipping Safari has the necessary delegate implemented.
TCHAR path[MAX_PATH];
@@ -567,7 +567,7 @@ bool WebChromeClient::paintCustomScrollbar(GraphicsContext* context, const Float
if (context->paintingDisabled())
return false;
- COMPtr<IWebUIDelegate4> delegate = uiDelegate4();
+ COMPtr<IWebUIDelegate> delegate = uiDelegate();
if (!delegate)
return false;
@@ -634,7 +634,7 @@ bool WebChromeClient::paintCustomScrollCorner(GraphicsContext* context, const Fl
if (context->paintingDisabled())
return false;
- COMPtr<IWebUIDelegate4> delegate = uiDelegate4();
+ COMPtr<IWebUIDelegate> delegate = uiDelegate();
if (!delegate)
return false;
@@ -703,24 +703,32 @@ void WebChromeClient::runOpenPanel(Frame*, PassRefPtr<FileChooser> prpFileChoose
// FIXME: Show some sort of error if too many files are selected and the buffer is too small. For now, this will fail silently.
}
-COMPtr<IWebUIDelegate> WebChromeClient::uiDelegate()
+bool WebChromeClient::setCursor(PlatformCursorHandle cursor)
{
- COMPtr<IWebUIDelegate> delegate;
- m_webView->uiDelegate(&delegate);
- return delegate;
-}
+ if (!cursor)
+ return false;
-COMPtr<IWebUIDelegate2> WebChromeClient::uiDelegate2()
-{
- return COMPtr<IWebUIDelegate2>(Query, uiDelegate());
+ if (COMPtr<IWebUIDelegate> delegate = uiDelegate()) {
+ COMPtr<IWebUIDelegatePrivate> delegatePrivate(Query, delegate);
+ if (delegatePrivate) {
+ if (SUCCEEDED(delegatePrivate->webViewSetCursor(m_webView, reinterpret_cast<OLE_HANDLE>(cursor))))
+ return true;
+ }
+ }
+
+ ::SetCursor(cursor);
+ return true;
}
-COMPtr<IWebUIDelegate3> WebChromeClient::uiDelegate3()
+void WebChromeClient::requestGeolocationPermissionForFrame(Frame*, Geolocation*)
{
- return COMPtr<IWebUIDelegate3>(Query, uiDelegate());
+ // See the comment in WebCore/page/ChromeClient.h
+ notImplemented();
}
-COMPtr<IWebUIDelegate4> WebChromeClient::uiDelegate4()
+COMPtr<IWebUIDelegate> WebChromeClient::uiDelegate()
{
- return COMPtr<IWebUIDelegate4>(Query, uiDelegate());
+ COMPtr<IWebUIDelegate> delegate;
+ m_webView->uiDelegate(&delegate);
+ return delegate;
}