Title: [97810] trunk/Source

Diff

Modified: trunk/Source/WebCore/ChangeLog (97809 => 97810)


--- trunk/Source/WebCore/ChangeLog	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebCore/ChangeLog	2011-10-18 23:20:08 UTC (rev 97810)
@@ -1,3 +1,17 @@
+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-18  Adrienne Walker  <[email protected]>
 
         [chromium] Preserve offscreen tiles instead of immediately recycling them

Modified: trunk/Source/WebCore/WebCore.exp.in (97809 => 97810)


--- trunk/Source/WebCore/WebCore.exp.in	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebCore/WebCore.exp.in	2011-10-18 23:20:08 UTC (rev 97810)
@@ -1174,6 +1174,7 @@
 __ZNK7WebCore13HitTestResult10isSelectedEv
 __ZNK7WebCore13HitTestResult11targetFrameEv
 __ZNK7WebCore13HitTestResult11textContentEv
+__ZNK7WebCore13HitTestResult14absolutePDFURLEv
 __ZNK7WebCore13HitTestResult15absoluteLinkURLEv
 __ZNK7WebCore13HitTestResult15spellingToolTipERNS_13TextDirectionE
 __ZNK7WebCore13HitTestResult16absoluteImageURLEv

Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (97809 => 97810)


--- trunk/Source/WebCore/rendering/HitTestResult.cpp	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp	2011-10-18 23:20:08 UTC (rev 97810)
@@ -32,6 +32,7 @@
 #include "HTMLMediaElement.h"
 #include "HTMLNames.h"
 #include "HTMLParserIdioms.h"
+#include "HTMLPlugInImageElement.h"
 #include "RenderBlock.h"
 #include "RenderImage.h"
 #include "RenderInline.h"
@@ -342,6 +343,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;
+    returrbr n KURL();
+}
+
 KURL HitTestResult::absoluteMediaURL() const
 {
 #if ENABLE(VIDEO)

Modified: trunk/Source/WebCore/rendering/HitTestResult.h (97809 => 97810)


--- trunk/Source/WebCore/rendering/HitTestResult.h	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebCore/rendering/HitTestResult.h	2011-10-18 23:20:08 UTC (rev 97810)
@@ -85,6 +85,7 @@
     Image* image() const;
     IntRect imageRect() const;
     KURL absoluteImageURL() const;
+    KURL absolutePDFURL() const;
     KURL absoluteMediaURL() const;
     KURL absoluteLinkURL() const;
     String textContent() const;

Modified: trunk/Source/WebKit2/ChangeLog (97809 => 97810)


--- trunk/Source/WebKit2/ChangeLog	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/ChangeLog	2011-10-18 23:20:08 UTC (rev 97810)
@@ -1,3 +1,28 @@
+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-18  Enrica Casucci  <[email protected]>
 
         Crash in WebProcess at com.apple.AppKit: -[NSFilePromiseDragSource draggedImage:endedAt:operation:] + 101

Modified: trunk/Source/WebKit2/Shared/WebHitTestResult.cpp (97809 => 97810)


--- trunk/Source/WebKit2/Shared/WebHitTestResult.cpp	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/Shared/WebHitTestResult.cpp	2011-10-18 23:20:08 UTC (rev 97810)
@@ -37,6 +37,7 @@
 void WebHitTestResult::Data::encode(CoreIPC::ArgumentEncoder* encoder) const
 {
     encoder->encode(absoluteImageURL);
+    encoder->encode(absolutePDFURL);
     encoder->encode(absoluteLinkURL);
     encoder->encode(absoluteMediaURL);
     encoder->encode(linkLabel);
@@ -46,6 +47,7 @@
 bool WebHitTestResult::Data::decode(CoreIPC::ArgumentDecoder* decoder, WebHitTestResult::Data& hitTestResultData)
 {
     if (!decoder->decode(hitTestResultData.absoluteImageURL)
+        || !decoder->decode(hitTestResultData.absolutePDFURL)
         || !decoder->decode(hitTestResultData.absoluteLinkURL)
         || !decoder->decode(hitTestResultData.absoluteMediaURL)
         || !decoder->decode(hitTestResultData.linkLabel)

Modified: trunk/Source/WebKit2/Shared/WebHitTestResult.h (97809 => 97810)


--- trunk/Source/WebKit2/Shared/WebHitTestResult.h	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/Shared/WebHitTestResult.h	2011-10-18 23:20:08 UTC (rev 97810)
@@ -43,6 +43,7 @@
 
     struct Data {
         String absoluteImageURL;
+        String absolutePDFURL;
         String absoluteLinkURL;
         String absoluteMediaURL;
         String linkLabel;
@@ -55,6 +56,7 @@
     static PassRefPtr<WebHitTestResult> create(const WebHitTestResult::Data&);
 
     String absoluteImageURL() const { return m_data.absoluteImageURL; }
+    String absolutePDFURL() const { return m_data.absolutePDFURL; }
     String absoluteLinkURL() const { return m_data.absoluteLinkURL; }
     String absoluteMediaURL() const { return m_data.absoluteMediaURL; }
 

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKHitTestResult.cpp (97809 => 97810)


--- trunk/Source/WebKit2/UIProcess/API/C/WKHitTestResult.cpp	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKHitTestResult.cpp	2011-10-18 23:20:08 UTC (rev 97810)
@@ -42,6 +42,11 @@
     return toCopiedURLAPI(toImpl(hitTestResultRef)->absoluteImageURL());
 }
 
+WKURLRef WKHitTestResultCopyAbsolutePDFURL(WKHitTestResultRef hitTestResultRef)
+{
+    return toCopiedURLAPI(toImpl(hitTestResultRef)->absolutePDFURL());
+}
+
 WKURLRef WKHitTestResultCopyAbsoluteLinkURL(WKHitTestResultRef hitTestResultRef)
 {
     return toCopiedURLAPI(toImpl(hitTestResultRef)->absoluteLinkURL());

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKHitTestResult.h (97809 => 97810)


--- trunk/Source/WebKit2/UIProcess/API/C/WKHitTestResult.h	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKHitTestResult.h	2011-10-18 23:20:08 UTC (rev 97810)
@@ -36,6 +36,7 @@
 WK_EXPORT WKTypeID WKHitTestResultGetTypeID();
 
 WK_EXPORT WKURLRef WKHitTestResultCopyAbsoluteImageURL(WKHitTestResultRef hitTestResult);
+WK_EXPORT WKURLRef WKHitTestResultCopyAbsolutePDFURL(WKHitTestResultRef hitTestResult);
 WK_EXPORT WKURLRef WKHitTestResultCopyAbsoluteLinkURL(WKHitTestResultRef hitTestResult);
 WK_EXPORT WKURLRef WKHitTestResultCopyAbsoluteMediaURL(WKHitTestResultRef hitTestResult);
 

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp (97809 => 97810)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp	2011-10-18 23:20:08 UTC (rev 97810)
@@ -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: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h (97809 => 97810)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h	2011-10-18 23:20:08 UTC (rev 97810)
@@ -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: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp (97809 => 97810)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp	2011-10-18 23:20:08 UTC (rev 97810)
@@ -81,6 +81,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: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h (97809 => 97810)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleHitTestResult.h	2011-10-18 23:20:08 UTC (rev 97810)
@@ -50,6 +50,7 @@
     WebFrame* targetFrame() const;
 
     String absoluteImageURL() const;
+    String absolutePDFURL() const;
     String absoluteLinkURL() const;
     String absoluteMediaURL() const;
 

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (97809 => 97810)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp	2011-10-18 23:19:15 UTC (rev 97809)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp	2011-10-18 23:20:08 UTC (rev 97810)
@@ -498,6 +498,7 @@
 
     WebHitTestResult::Data webHitTestResultData;
     webHitTestResultData.absoluteImageURL = hitTestResult.absoluteImageURL().string();
+    webHitTestResultData.absolutePDFURL = hitTestResult.absolutePDFURL().string();
     webHitTestResultData.absoluteLinkURL = hitTestResult.absoluteLinkURL().string();
     webHitTestResultData.absoluteMediaURL = hitTestResult.absoluteMediaURL().string();
     webHitTestResultData.linkLabel = hitTestResult.textContent();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to