Diff
Modified: branches/safari-534.52-branch/Source/WebCore/ChangeLog (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebCore/ChangeLog 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebCore/ChangeLog 2011-10-21 23:52:05 UTC (rev 98168)
@@ -1,5 +1,31 @@
2011-10-21 Lucas Forschler <[email protected]>
+ Merge 97810 & 97813
+
+ 2011-10-18 Sam Weinig <[email protected]>
+
+ Fix the build.
+
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::absolutePDFURL):
+ Fix typo.
+
+ 2011-10-18 Alexey Proskuryakov <[email protected]>
+
+ Expose PDF information in hit test result
+ https://bugs.webkit.org/show_bug.cgi?id=70353
+
+ Reviewed by Sam Weinig.
+
+ * WebCore.exp.in:
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::absolutePDFURL):
+ * rendering/HitTestResult.h:
+ Added HitTestResult::absolutePDFURL(). It will contain a URL when over a PDF object or embed;
+ not sure if we want this for PDFImageDocuments.
+
+2011-10-21 Lucas Forschler <[email protected]>
+
Merge <rdar://problem/10310999>
2011-10-21 Alexey Proskuryakov <[email protected]>
Modified: branches/safari-534.52-branch/Source/WebCore/WebCore.exp.in (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebCore/WebCore.exp.in 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebCore/WebCore.exp.in 2011-10-21 23:52:05 UTC (rev 98168)
@@ -1125,6 +1125,7 @@
__ZNK7WebCore13HitTestResult10isSelectedEv
__ZNK7WebCore13HitTestResult11targetFrameEv
__ZNK7WebCore13HitTestResult11textContentEv
+__ZNK7WebCore13HitTestResult14absolutePDFURLEv
__ZNK7WebCore13HitTestResult15absoluteLinkURLEv
__ZNK7WebCore13HitTestResult15spellingToolTipERNS_13TextDirectionE
__ZNK7WebCore13HitTestResult16absoluteImageURLEv
Modified: branches/safari-534.52-branch/Source/WebCore/rendering/HitTestResult.cpp (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebCore/rendering/HitTestResult.cpp 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebCore/rendering/HitTestResult.cpp 2011-10-21 23:52:05 UTC (rev 98168)
@@ -32,6 +32,7 @@
#include "HTMLMediaElement.h"
#include "HTMLNames.h"
#include "HTMLParserIdioms.h"
+#include "HTMLPlugInImageElement.h"
#include "RenderImage.h"
#include "RenderInline.h"
#include "Scrollbar.h"
@@ -308,6 +309,24 @@
return m_innerNonSharedNode->document()->completeURL(stripLeadingAndTrailingHTMLSpaces(urlString));
}
+KURL HitTestResult::absolutePDFURL() const
+{
+ if (!(m_innerNonSharedNode && m_innerNonSharedNode->document()))
+ return KURL();
+
+ if (!m_innerNonSharedNode->hasTagName(embedTag) && !m_innerNonSharedNode->hasTagName(objectTag))
+ return KURL();
+
+ HTMLPlugInImageElement* element = static_cast<HTMLPlugInImageElement*>(m_innerNonSharedNode.get());
+ KURL url = ""
+ if (!url.isValid())
+ return KURL();
+
+ if (element->serviceType() == "application/pdf" || (element->serviceType().isEmpty() && url.path().lower().endsWith(".pdf")))
+ return url;
+ return KURL();
+}
+
KURL HitTestResult::absoluteMediaURL() const
{
#if ENABLE(VIDEO)
Modified: branches/safari-534.52-branch/Source/WebCore/rendering/HitTestResult.h (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebCore/rendering/HitTestResult.h 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebCore/rendering/HitTestResult.h 2011-10-21 23:52:05 UTC (rev 98168)
@@ -83,6 +83,7 @@
Image* image() const;
IntRect imageRect() const;
KURL absoluteImageURL() const;
+ KURL absolutePDFURL() const;
KURL absoluteMediaURL() const;
KURL absoluteLinkURL() const;
String textContent() const;
Modified: branches/safari-534.52-branch/Source/WebKit2/ChangeLog (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebKit2/ChangeLog 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebKit2/ChangeLog 2011-10-21 23:52:05 UTC (rev 98168)
@@ -1,5 +1,34 @@
2011-10-21 Lucas Forschler <[email protected]>
+ Merge 97810
+
+ 2011-10-18 Alexey Proskuryakov <[email protected]>
+
+ Expose PDF information in hit test result
+ https://bugs.webkit.org/show_bug.cgi?id=70353
+
+ Reviewed by Sam Weinig.
+
+ * Shared/WebHitTestResult.cpp:
+ (WebKit::WebHitTestResult::Data::encode):
+ (WebKit::WebHitTestResult::Data::decode):
+ * Shared/WebHitTestResult.h:
+ (WebKit::WebHitTestResult::absolutePDFURL):
+ * UIProcess/API/C/WKHitTestResult.cpp:
+ (WKHitTestResultCopyAbsolutePDFURL):
+ * UIProcess/API/C/WKHitTestResult.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ (WKBundleHitTestResultCopyAbsolutePDFURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::absolutePDFURL):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ Pass through PDF URL from hit testing to injected bundle client.
+
+2011-10-21 Lucas Forschler <[email protected]>
+
Merge <rdar://problem/10310999>
2011-10-21 Alexey Proskuryakov <[email protected]>
Modified: branches/safari-534.52-branch/Source/WebKit2/Shared/ContextMenuState.h (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebKit2/Shared/ContextMenuState.h 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebKit2/Shared/ContextMenuState.h 2011-10-21 23:52:05 UTC (rev 98168)
@@ -33,11 +33,13 @@
struct ContextMenuState {
String absoluteLinkURLString;
String absoluteImageURLString;
+ String absolutePDFURLString;
void encode(CoreIPC::ArgumentEncoder* encoder) const
{
encoder->encode(absoluteLinkURLString);
encoder->encode(absoluteImageURLString);
+ encoder->encode(absolutePDFURLString);
}
static bool decode(CoreIPC::ArgumentDecoder* decoder, ContextMenuState& result)
@@ -46,6 +48,8 @@
return false;
if (!decoder->decode(result.absoluteImageURLString))
return false;
+ if (!decoder->decode(result.absolutePDFURLString))
+ return false;
return true;
}
Modified: branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp 2011-10-21 23:52:05 UTC (rev 98168)
@@ -59,6 +59,11 @@
return toCopiedURLAPI(toImpl(hitTestResultRef)->absoluteImageURL());
}
+WKURLRef WKBundleHitTestResultCopyAbsolutePDFURL(WKBundleHitTestResultRef hitTestResultRef)
+{
+ return toCopiedURLAPI(toImpl(hitTestResultRef)->absolutePDFURL());
+}
+
WKURLRef WKBundleHitTestResultCopyAbsoluteLinkURL(WKBundleHitTestResultRef hitTestResultRef)
{
return toCopiedURLAPI(toImpl(hitTestResultRef)->absoluteLinkURL());
Modified: branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h 2011-10-21 23:52:05 UTC (rev 98168)
@@ -41,6 +41,7 @@
WK_EXPORT WKBundleFrameRef WKBundleHitTestResultGetTargetFrame(WKBundleHitTestResultRef hitTestResult);
WK_EXPORT WKURLRef WKBundleHitTestResultCopyAbsoluteImageURL(WKBundleHitTestResultRef hitTestResult);
+WK_EXPORT WKURLRef WKBundleHitTestResultCopyAbsolutePDFURL(WKBundleHitTestResultRef hitTestResult);
WK_EXPORT WKURLRef WKBundleHitTestResultCopyAbsoluteLinkURL(WKBundleHitTestResultRef hitTestResult);
WK_EXPORT WKURLRef WKBundleHitTestResultCopyAbsoluteMediaURL(WKBundleHitTestResultRef hitTestResult);
Modified: branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp 2011-10-21 23:52:05 UTC (rev 98168)
@@ -80,6 +80,11 @@
return m_hitTestResult.absoluteImageURL().string();
}
+String InjectedBundleHitTestResult::absolutePDFURL() const
+{
+ return m_hitTestResult.absolutePDFURL().string();
+}
+
String InjectedBundleHitTestResult::absoluteLinkURL() const
{
return m_hitTestResult.absoluteLinkURL().string();
Modified: branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h 2011-10-21 23:52:05 UTC (rev 98168)
@@ -50,6 +50,7 @@
WebFrame* targetFrame() const;
String absoluteImageURL() const;
+ String absolutePDFURL() const;
String absoluteLinkURL() const;
String absoluteMediaURL() const;
Modified: branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp (98167 => 98168)
--- branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp 2011-10-21 23:20:38 UTC (rev 98167)
+++ branches/safari-534.52-branch/Source/WebKit2/WebProcess/WebPage/WebContextMenu.cpp 2011-10-21 23:52:05 UTC (rev 98168)
@@ -81,6 +81,7 @@
ContextMenuState contextMenuState;
contextMenuState.absoluteImageURLString = controller->hitTestResult().absoluteImageURL().string();
+ contextMenuState.absolutePDFURLString = controller->hitTestResult().absolutePDFURL().string();
contextMenuState.absoluteLinkURLString = controller->hitTestResult().absoluteLinkURL().string();
// Mark the WebPage has having a shown context menu then notify the UIProcess.