[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

weinig at apple.com weinig at apple.com
Wed Dec 22 13:31:40 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit c6a7da2785fbe5ede854d1f86e5943e31971512a
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Sep 18 06:16:25 2010 +0000

    Need a way to load data (as plain text) in a WKPage
    <rdar://problem/8424239>
    
    Reviewed by Jon Honeycutt.
    
    WebCore:
    
    * WebCore.exp.in:
    
    WebKit2:
    
    * Shared/CoreIPCSupport/WebPageMessageKinds.h:
    * UIProcess/API/C/WKPage.cpp:
    (WKPageLoadHTMLString):
    * UIProcess/API/C/WKPage.h:
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::loadHTMLString):
    * UIProcess/WebPageProxy.h:
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::loadHTMLString):
    (WebKit::WebPage::didReceiveMessage):
    * WebProcess/WebPage/WebPage.h:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67776 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 030c52c..4104e5a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,12 @@
+2010-09-17  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Jon Honeycutt.
+
+        Need a way to load data (as plain text) in a WKPage
+        <rdar://problem/8424239>
+
+        * WebCore.exp.in:
+
 2010-09-17  David Hyatt  <hyatt at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index 55e3d3f..53aab91 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -262,6 +262,7 @@ __ZN7WebCore12SchedulePairC1EP9NSRunLoopPK10__CFString
 __ZN7WebCore12SharedBuffer10wrapNSDataEP6NSData
 __ZN7WebCore12SharedBuffer12createNSDataEv
 __ZN7WebCore12SharedBuffer24createWithContentsOfFileERKN3WTF6StringE
+__ZN7WebCore12SharedBufferC1EPKci
 __ZN7WebCore12SharedBufferD1Ev
 __ZN7WebCore12TextEncodingC1ERKN3WTF6StringE
 __ZN7WebCore12TextIterator11rangeLengthEPKNS_5RangeEb
@@ -768,7 +769,6 @@ __ZN7WebCore9FrameView14setMarginWidthEi
 __ZN7WebCore9FrameView14setNeedsLayoutEv
 __ZN7WebCore9FrameView14setTransparentEb
 __ZN7WebCore9FrameView15setMarginHeightEi
-__ZN7WebCore9FrameView26adjustPageHeightDeprecatedEPffff
 __ZN7WebCore9FrameView16setPaintBehaviorEj
 __ZN7WebCore9FrameView18updateControlTintsEv
 __ZN7WebCore9FrameView20enterCompositingModeEv
@@ -776,6 +776,7 @@ __ZN7WebCore9FrameView21flushDeferredRepaintsEv
 __ZN7WebCore9FrameView22setBaseBackgroundColorENS_5ColorE
 __ZN7WebCore9FrameView23updateCanHaveScrollbarsEv
 __ZN7WebCore9FrameView24forceLayoutForPaginationERKNS_9FloatSizeEfNS_5Frame19AdjustViewSizeOrNotE
+__ZN7WebCore9FrameView26adjustPageHeightDeprecatedEPffff
 __ZN7WebCore9FrameView29setShouldUpdateWhileOffscreenEb
 __ZN7WebCore9FrameView29syncCompositingStateRecursiveEv
 __ZN7WebCore9FrameView37updateLayoutAndStyleIfNeededRecursiveEv
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index e4f4b1b..49f876f 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,24 @@
 2010-09-17  Sam Weinig  <sam at webkit.org>
 
+        Reviewed by Jon Honeycutt.
+
+        Need a way to load data (as plain text) in a WKPage
+        <rdar://problem/8424239>
+
+        * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageLoadHTMLString):
+        * UIProcess/API/C/WKPage.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::loadHTMLString):
+        * UIProcess/WebPageProxy.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::loadHTMLString):
+        (WebKit::WebPage::didReceiveMessage):
+        * WebProcess/WebPage/WebPage.h:
+
+2010-09-17  Sam Weinig  <sam at webkit.org>
+
         Rubber-stamped by Anders Carlsson.
 
         Replace all uses of WTF::String and WTF::AtomicString with
diff --git a/WebKit2/Shared/CoreIPCSupport/WebPageMessageKinds.h b/WebKit2/Shared/CoreIPCSupport/WebPageMessageKinds.h
index 21facd7..4f5df09 100644
--- a/WebKit2/Shared/CoreIPCSupport/WebPageMessageKinds.h
+++ b/WebKit2/Shared/CoreIPCSupport/WebPageMessageKinds.h
@@ -44,6 +44,7 @@ enum Kind {
     KeyEvent,
     LoadURL,
     LoadURLRequest,
+    LoadHTMLString,
     MouseEvent,
     PreferencesDidChange,
     ReapplyEditCommand,
diff --git a/WebKit2/UIProcess/API/C/WKPage.cpp b/WebKit2/UIProcess/API/C/WKPage.cpp
index 26a8716..0619e3c 100644
--- a/WebKit2/UIProcess/API/C/WKPage.cpp
+++ b/WebKit2/UIProcess/API/C/WKPage.cpp
@@ -57,6 +57,11 @@ void WKPageLoadURLRequest(WKPageRef pageRef, WKURLRequestRef urlRequestRef)
     toWK(pageRef)->loadURLRequest(toWK(urlRequestRef));    
 }
 
+void WKPageLoadHTMLString(WKPageRef pageRef, WKStringRef htmlStringRef, WKURLRef baseURLRef)
+{
+    toWK(pageRef)->loadHTMLString(toWTFString(htmlStringRef), toWTFString(baseURLRef));    
+}
+
 void WKPageStopLoading(WKPageRef pageRef)
 {
     toWK(pageRef)->stopLoading();
diff --git a/WebKit2/UIProcess/API/C/WKPage.h b/WebKit2/UIProcess/API/C/WKPage.h
index 58f20d6..4f08d5c 100644
--- a/WebKit2/UIProcess/API/C/WKPage.h
+++ b/WebKit2/UIProcess/API/C/WKPage.h
@@ -163,6 +163,7 @@ WK_EXPORT WKPageNamespaceRef WKPageGetPageNamespace(WKPageRef page);
 
 WK_EXPORT void WKPageLoadURL(WKPageRef page, WKURLRef url);
 WK_EXPORT void WKPageLoadURLRequest(WKPageRef page, WKURLRequestRef urlRequest);
+WK_EXPORT void WKPageLoadHTMLString(WKPageRef page, WKStringRef htmlString, WKURLRef baseURL);
 
 WK_EXPORT void WKPageStopLoading(WKPageRef page);
 WK_EXPORT void WKPageReload(WKPageRef page);
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index 88924db..0e553b9 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -244,6 +244,13 @@ void WebPageProxy::loadURLRequest(WebURLRequest* urlRequest)
     process()->send(WebPageMessage::LoadURLRequest, m_pageID, CoreIPC::In(urlRequest->resourceRequest()));
 }
 
+void WebPageProxy::loadHTMLString(const String& htmlString, const String& baseURL)
+{
+    if (!isValid())
+        return;
+    process()->send(WebPageMessage::LoadHTMLString, m_pageID, CoreIPC::In(htmlString, baseURL));
+}
+
 void WebPageProxy::stopLoading()
 {
     if (!isValid())
diff --git a/WebKit2/UIProcess/WebPageProxy.h b/WebKit2/UIProcess/WebPageProxy.h
index ed7f78a..bb50286 100644
--- a/WebKit2/UIProcess/WebPageProxy.h
+++ b/WebKit2/UIProcess/WebPageProxy.h
@@ -114,6 +114,7 @@ public:
 
     void loadURL(const String&);
     void loadURLRequest(WebURLRequest*);
+    void loadHTMLString(const String& htmlString, const String& baseURL);
 
     void stopLoading();
     void reload(bool reloadFromOrigin);
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 719cd34..8fdce73 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -56,6 +56,8 @@
 #include <WebCore/RenderTreeAsText.h>
 #include <WebCore/ResourceRequest.h>
 #include <WebCore/Settings.h>
+#include <WebCore/SharedBuffer.h>
+#include <WebCore/SubstituteData.h>
 #include <runtime/JSLock.h>
 #include <runtime/JSValue.h>
 
@@ -247,6 +249,20 @@ void WebPage::loadURLRequest(const ResourceRequest& request)
     m_mainFrame->coreFrame()->loader()->load(request, false);
 }
 
+void WebPage::loadHTMLString(const String& htmlString, const String& baseURLString)
+{
+    RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(htmlString.characters()), htmlString.length() * sizeof(UChar));
+    String MIMEType("text/html");
+    String encodingName("utf-16");
+    KURL baseURL = baseURLString.isEmpty() ? blankURL() : KURL(KURL(), baseURLString);
+    KURL failingURL;
+
+    ResourceRequest request(baseURL);
+    SubstituteData substituteData(sharedBuffer.release(), MIMEType, encodingName, failingURL);
+
+    m_mainFrame->coreFrame()->loader()->load(request, substituteData, false);
+}
+
 void WebPage::stopLoading()
 {
     m_mainFrame->coreFrame()->loader()->stopForUserCancel();
@@ -746,6 +762,15 @@ void WebPage::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Messag
             loadURLRequest(request);
             return;
         }
+        case WebPageMessage::LoadHTMLString: {
+            String htmlString;
+            String baseURL;
+            if (!arguments->decode(CoreIPC::In(htmlString, baseURL)))
+                return;
+            
+            loadHTMLString(htmlString, baseURL);
+            return;
+        }
         case WebPageMessage::StopLoading:
             stopLoading();
             return;
diff --git a/WebKit2/WebProcess/WebPage/WebPage.h b/WebKit2/WebProcess/WebPage/WebPage.h
index 844bdf9..0ed6586 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.h
+++ b/WebKit2/WebProcess/WebPage/WebPage.h
@@ -157,6 +157,7 @@ private:
     void tryClose();
     void loadURL(const String&);
     void loadURLRequest(const WebCore::ResourceRequest&);
+    void loadHTMLString(const String& htmlString, const String& baseURL);
     void reload(bool reloadFromOrigin);
     void goForward(uint64_t);
     void goBack(uint64_t);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list