diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/WebPageProxy.cpp')
| -rw-r--r-- | Source/WebKit2/UIProcess/WebPageProxy.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp b/Source/WebKit2/UIProcess/WebPageProxy.cpp index 344ed9846..6cf260a36 100644 --- a/Source/WebKit2/UIProcess/WebPageProxy.cpp +++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp @@ -1136,7 +1136,7 @@ void WebPageProxy::handleKeyboardEvent(const NativeWebKeyboardEvent& event) bool handled = false; process()->sendSync(Messages::WebPage::KeyEventSyncForTesting(event), Messages::WebPage::KeyEventSyncForTesting::Reply(handled), m_pageID); didReceiveEvent(event.type(), handled); - } else + } else if (m_keyEventQueue.size() == 1) // Otherwise, sent from DidReceiveEvent message handler. process()->send(Messages::WebPage::KeyEvent(event), m_pageID); } @@ -1221,7 +1221,7 @@ void WebPageProxy::receivedPolicyDecision(PolicyAction action, WebFrameProxy* fr // Create a download proxy. DownloadProxy* download = m_process->context()->createDownloadProxy(); downloadID = download->downloadID(); -#if PLATFORM(QT) +#if PLATFORM(QT) || PLATFORM(EFL) // Our design does not suppport downloads without a WebPage. handleDownloadRequest(download); #endif @@ -2642,11 +2642,6 @@ void WebPageProxy::didReceiveMessageFromNavigatorQtObject(const String& contents m_pageClient->didReceiveMessageFromNavigatorQtObject(contents); } -void WebPageProxy::handleDownloadRequest(DownloadProxy* download) -{ - m_pageClient->handleDownloadRequest(download); -} - void WebPageProxy::authenticationRequiredRequest(const String& hostname, const String& realm, const String& prefilledUsername, String& username, String& password) { m_pageClient->handleAuthenticationRequiredRequest(hostname, realm, prefilledUsername, username, password); @@ -2663,6 +2658,13 @@ void WebPageProxy::certificateVerificationRequest(const String& hostname, bool& } #endif // PLATFORM(QT). +#if PLATFORM(QT) || PLATFORM(EFL) +void WebPageProxy::handleDownloadRequest(DownloadProxy* download) +{ + m_pageClient->handleDownloadRequest(download); +} +#endif // PLATFORM(QT) || PLATFORM(EFL) + #if ENABLE(TOUCH_EVENTS) void WebPageProxy::needTouchEvents(bool needTouchEvents) { @@ -3253,8 +3255,10 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled) m_keyEventQueue.removeFirst(); - m_pageClient->doneWithKeyEvent(event, handled); + if (!m_keyEventQueue.isEmpty()) + process()->send(Messages::WebPage::KeyEvent(m_keyEventQueue.first()), m_pageID); + m_pageClient->doneWithKeyEvent(event, handled); if (handled) break; |
