WebPageProxyWin.cpp [plain text]
#include "config.h"
#include "WebPageProxy.h"
#include "NativeWebKeyboardEvent.h"
#include "PageClientImpl.h"
#include <WebCore/SearchPopupMenuDB.h>
#include <WebCore/UserAgent.h>
#if USE(DIRECT2D)
#include <d3d11_1.h>
#endif
namespace WebKit {
void WebPageProxy::platformInitialize()
{
}
String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent)
{
return WebCore::standardUserAgent(applicationNameForUserAgent);
}
void WebPageProxy::saveRecentSearches(const String& name, const Vector<WebCore::RecentSearch>& searchItems)
{
if (!name)
return;
return WebCore::SearchPopupMenuDB::singleton().saveRecentSearches(name, searchItems);
}
void WebPageProxy::loadRecentSearches(const String& name, CompletionHandler<void(Vector<WebCore::RecentSearch>&&)>&& completionHandler)
{
if (!name)
return completionHandler({ });
Vector<WebCore::RecentSearch> searchItems;
WebCore::SearchPopupMenuDB::singleton().loadRecentSearches(name, searchItems);
completionHandler(WTFMove(searchItems));
}
void WebPageProxy::updateEditorState(const EditorState& editorState)
{
m_editorState = editorState;
}
PlatformViewWidget WebPageProxy::viewWidget()
{
return static_cast<PageClientImpl&>(pageClient()).viewWidget();
}
#if USE(DIRECT2D)
ID3D11Device1* WebPageProxy::device() const
{
return m_device.get();
}
void WebPageProxy::setDevice(ID3D11Device1* device)
{
m_device = device;
}
#endif
void WebPageProxy::dispatchPendingCharEvents(const NativeWebKeyboardEvent& keydownEvent)
{
auto& pendingCharEvents = keydownEvent.pendingCharEvents();
for (auto it = pendingCharEvents.rbegin(); it != pendingCharEvents.rend(); it++)
m_keyEventQueue.prepend(NativeWebKeyboardEvent(it->hwnd, it->message, it->wParam, it->lParam, { }));
}
}