Index: Source/web/WebPagePopupImpl.cpp |
diff --git a/Source/web/WebPagePopupImpl.cpp b/Source/web/WebPagePopupImpl.cpp |
index 9909058018d3d260c3c93a2571702f591f790475..b01f75fad28f2e2c720009712bec23933b207849 100644 |
--- a/Source/web/WebPagePopupImpl.cpp |
+++ b/Source/web/WebPagePopupImpl.cpp |
@@ -48,6 +48,7 @@ |
#include "modules/accessibility/AXObjectCacheImpl.h" |
#include "platform/EventDispatchForbiddenScope.h" |
#include "platform/LayoutTestSupport.h" |
+#include "platform/ScriptForbiddenScope.h" |
#include "platform/TraceEvent.h" |
#include "platform/heap/Handle.h" |
#include "public/platform/WebCompositeAndReadbackAsyncCallback.h" |
@@ -173,6 +174,12 @@ private: |
m_popup->m_webView->client()->postAccessibilityEvent(WebAXObject(obj), static_cast<WebAXEvent>(notification)); |
} |
+ virtual void setToolTip(const String& tooltipText, TextDirection dir) override |
+ { |
+ if (m_popup->m_webView->client()) |
+ m_popup->m_webView->client()->setToolTipText(tooltipText, toWebTextDirection(dir)); |
+ } |
+ |
WebPagePopupImpl* m_popup; |
}; |
@@ -255,9 +262,21 @@ bool WebPagePopupImpl::initializePage() |
RefPtr<SharedBuffer> data = SharedBuffer::create(); |
m_popupClient->writeDocument(data.get()); |
frame->loader().load(FrameLoadRequest(0, blankURL(), SubstituteData(data, "text/html", "UTF-8", KURL(), ForceSynchronousLoad))); |
+ |
+ m_popupClient->didWriteDocument(*frame->document()); |
+ |
return true; |
} |
+void WebPagePopupImpl::postMessage(const String& message) |
+{ |
+ if (!m_page) |
+ return; |
+ ScriptForbiddenScope::AllowUserAgentScript allowScript; |
+ if (LocalDOMWindow* window = toLocalFrame(m_page->mainFrame())->localDOMWindow()) |
+ window->dispatchEvent(MessageEvent::create(message)); |
+} |
+ |
void WebPagePopupImpl::destroyPage() |
{ |
if (!m_page) |