⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 110638 in webkit


Ignore:
Timestamp:
Mar 13, 2012, 4:39:11 PM (15 years ago)
Author:
jeffm@apple.com
Message:

Support loading a WKPage from web archive data
​https://bugs.webkit.org/show_bug.cgi?id=81044

This code was written by Jessie Berlin.

Reviewed by Brady Eidson.

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadWebArchiveData): Added.

  • UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData().


  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadWebArchiveData): Added.

  • UIProcess/WebPageProxy.h: Added loadWebArchiveData().
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadWebArchiveData): Added.

  • WebProcess/WebPage/WebPage.h: Added loadWebArchiveData().
  • WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message.
Location:
trunk/Source/WebKit2
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r110595 r110638  
     12012-03-13  Jeff Miller  <jeffm@apple.com>
     2
     3        Support loading a WKPage from web archive data
     4        https://bugs.webkit.org/show_bug.cgi?id=81044
     5
     6        This code was written by Jessie Berlin.
     7
     8        Reviewed by Brady Eidson.
     9
     10        * UIProcess/API/C/WKPage.cpp:
     11        (WKPageLoadWebArchiveData): Added.
     12       
     13        * UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData().
     14       
     15        * UIProcess/WebPageProxy.cpp:
     16        (WebKit::WebPageProxy::loadWebArchiveData): Added.
     17       
     18        * UIProcess/WebPageProxy.h: Added loadWebArchiveData().
     19
     20        * WebProcess/WebPage/WebPage.cpp:
     21        (WebKit::WebPage::loadWebArchiveData): Added.
     22       
     23        * WebProcess/WebPage/WebPage.h: Added loadWebArchiveData().
     24
     25        * WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message.
     26
    1272012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>
    228
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp

    r110355 r110638  
    8383}
    8484
     85void WKPageLoadWebArchiveData(WKPageRef pageRef, WKDataRef webArchiveDataRef)
     86{
     87    toImpl(pageRef)->loadWebArchiveData(toImpl(webArchiveDataRef));
     88}
     89
    8590void WKPageStopLoading(WKPageRef pageRef)
    8691{
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.h

    r109750 r110638  
    320320WK_EXPORT void WKPageLoadAlternateHTMLString(WKPageRef page, WKStringRef htmlString, WKURLRef baseURL, WKURLRef unreachableURL);
    321321WK_EXPORT void WKPageLoadPlainTextString(WKPageRef page, WKStringRef plainTextString);
     322WK_EXPORT void WKPageLoadWebArchiveData(WKPageRef page, WKDataRef webArchiveData);
    322323
    323324WK_EXPORT void WKPageStopLoading(WKPageRef page);
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r110048 r110638  
    505505}
    506506
     507void WebPageProxy::loadWebArchiveData(const WebData* webArchiveData)
     508{
     509    if (!isValid())
     510        reattachToWebProcess();
     511
     512    process()->send(Messages::WebPage::LoadWebArchiveData(webArchiveData->dataReference()), m_pageID);
     513    process()->responsivenessTimer()->start();
     514}
     515
    507516void WebPageProxy::stopLoading()
    508517{
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r110494 r110638  
    255255    void loadAlternateHTMLString(const String& htmlString, const String& baseURL, const String& unreachableURL);
    256256    void loadPlainTextString(const String& string);
     257    void loadWebArchiveData(const WebData*);
    257258
    258259    void stopLoading();
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r110595 r110638  
    683683}
    684684
     685void WebPage::loadWebArchiveData(const CoreIPC::DataReference& webArchiveData)
     686{
     687    RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<const char*>(webArchiveData.data()), webArchiveData.size() * sizeof(uint8_t));
     688    loadData(sharedBuffer, "application/x-webarchive", "utf-16", blankURL(), KURL());
     689}
     690
    685691void WebPage::linkClicked(const String& url, const WebMouseEvent& event)
    686692{
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h

    r110046 r110638  
    541541    void loadAlternateHTMLString(const String& htmlString, const String& baseURL, const String& unreachableURL);
    542542    void loadPlainTextString(const String&);
     543    void loadWebArchiveData(const CoreIPC::DataReference&);
    543544    void linkClicked(const String& url, const WebMouseEvent&);
    544545    void reload(bool reloadFromOrigin, const SandboxExtension::Handle&);
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in

    r110046 r110638  
    5858    LoadAlternateHTMLString(WTF::String htmlString, WTF::String baseURL, WTF::String unreachableURL);
    5959    LoadPlainTextString(WTF::String string)
     60    LoadWebArchiveData(CoreIPC::DataReference webArchiveData)
    6061    LoadURL(WTF::String url, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
    6162    LoadURLRequest(WebCore::ResourceRequest request, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
Note: See TracChangeset for help on using the changeset viewer.