Changeset 125002 in webkit
- Timestamp:
- Aug 8, 2012 12:12:26 AM (12 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r124989 r125002 1 2012-08-08 Mario Sanchez Prada <msanchez@igalia.com> 2 3 [WK2] Add new C API to generate MHTML data from the UI process 4 https://bugs.webkit.org/show_bug.cgi?id=89872 5 6 Reviewed by Anders Carlsson. 7 8 Add new C API in the UI Process, using ENABLE(MHTML) guards as needed. 9 10 * UIProcess/API/C/WKPage.cpp: 11 (WKPageGetContentsAsMHTMLData): 12 * UIProcess/API/C/WKPage.h: 13 14 Implementation in the UI Process's WebPage proxy object. 15 16 * UIProcess/WebPageProxy.cpp: 17 (WebKit): 18 (WebKit::WebPageProxy::getContentsAsMHTMLData): 19 * UIProcess/WebPageProxy.h: 20 (WebPageProxy): 21 22 Implementation in the WebProcess, relying in WebCore::MHTMLArchive. 23 24 * WebProcess/WebPage/WebPage.cpp: 25 (WebKit): 26 (WebKit::WebPage::getContentsAsMHTMLData): 27 * WebProcess/WebPage/WebPage.h: 28 (WebPage): 29 * WebProcess/WebPage/WebPage.messages.in: 30 1 31 2012-08-07 YoungTaeck Song <youngtaeck.song@samsung.com> 2 32 -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r121590 r125002 583 583 #endif 584 584 585 void WKPageGetContentsAsMHTMLData(WKPageRef pageRef, bool useBinaryEncoding, void* context, WKPageGetContentsAsMHTMLDataFunction callback) 586 { 587 #if ENABLE(MHTML) 588 toImpl(pageRef)->getContentsAsMHTMLData(DataCallback::create(context, callback), useBinaryEncoding); 589 #endif 590 } 591 585 592 void WKPageForceRepaint(WKPageRef pageRef, void* context, WKPageForceRepaintFunction callback) 586 593 { -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.h
r123374 r125002 466 466 #endif 467 467 468 typedef void (*WKPageGetContentsAsMHTMLDataFunction)(WKDataRef, WKErrorRef, void*); 469 WK_EXPORT void WKPageGetContentsAsMHTMLData(WKPageRef page, bool useBinaryEncoding, void* context, WKPageGetContentsAsMHTMLDataFunction function); 470 468 471 typedef void (*WKPageForceRepaintFunction)(WKErrorRef, void*); 469 472 WK_EXPORT void WKPageForceRepaint(WKPageRef page, void* context, WKPageForceRepaintFunction function); -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r124989 r125002 1657 1657 } 1658 1658 1659 #if ENABLE(MHTML) 1660 void WebPageProxy::getContentsAsMHTMLData(PassRefPtr<DataCallback> prpCallback, bool useBinaryEncoding) 1661 { 1662 RefPtr<DataCallback> callback = prpCallback; 1663 if (!isValid()) { 1664 callback->invalidate(); 1665 return; 1666 } 1667 1668 uint64_t callbackID = callback->callbackID(); 1669 m_dataCallbacks.set(callbackID, callback.get()); 1670 process()->send(Messages::WebPage::GetContentsAsMHTMLData(callbackID, useBinaryEncoding), m_pageID); 1671 } 1672 #endif 1673 1659 1674 void WebPageProxy::getSelectionOrContentsAsString(PassRefPtr<StringCallback> prpCallback) 1660 1675 { -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r124989 r125002 529 529 530 530 void getContentsAsString(PassRefPtr<StringCallback>); 531 #if ENABLE(MHTML) 532 void getContentsAsMHTMLData(PassRefPtr<DataCallback>, bool useBinaryEncoding); 533 #endif 531 534 void getMainResourceDataOfFrame(WebFrameProxy*, PassRefPtr<DataCallback>); 532 535 void getResourceDataFromFrame(WebFrameProxy*, WebURL*, PassRefPtr<DataCallback>); -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r124649 r125002 121 121 #include <WebCore/VisiblePosition.h> 122 122 123 #if ENABLE(MHTML) 124 #include <WebCore/MHTMLArchive.h> 125 #endif 126 123 127 #if ENABLE(PLUGIN_PROCESS) 124 128 #if PLATFORM(MAC) … … 1858 1862 } 1859 1863 1864 #if ENABLE(MHTML) 1865 void WebPage::getContentsAsMHTMLData(uint64_t callbackID, bool useBinaryEncoding) 1866 { 1867 CoreIPC::DataReference dataReference; 1868 1869 RefPtr<SharedBuffer> buffer = useBinaryEncoding 1870 ? MHTMLArchive::generateMHTMLDataUsingBinaryEncoding(m_page.get()) 1871 : MHTMLArchive::generateMHTMLData(m_page.get()); 1872 1873 if (buffer) 1874 dataReference = CoreIPC::DataReference(reinterpret_cast<const uint8_t*>(buffer->data()), buffer->size()); 1875 1876 send(Messages::WebPageProxy::DataCallback(dataReference, callbackID)); 1877 } 1878 #endif 1879 1860 1880 void WebPage::getRenderTreeExternalRepresentation(uint64_t callbackID) 1861 1881 { -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h
r124649 r125002 658 658 659 659 void getContentsAsString(uint64_t callbackID); 660 #if ENABLE(MHTML) 661 void getContentsAsMHTMLData(uint64_t callbackID, bool useBinaryEncoding); 662 #endif 660 663 void getMainResourceDataOfFrame(uint64_t frameID, uint64_t callbackID); 661 664 void getResourceDataFromFrame(uint64_t frameID, const String& resourceURL, uint64_t callbackID); -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
r123216 r125002 92 92 # Callbacks. 93 93 GetContentsAsString(uint64_t callbackID) 94 #if ENABLE(MHTML) 95 GetContentsAsMHTMLData(uint64_t callbackID, bool useBinaryEncoding) 96 #endif 94 97 GetMainResourceDataOfFrame(uint64_t frameID, uint64_t callbackID) 95 98 GetResourceDataFromFrame(uint64_t frameID, WTF::String resourceURL, uint64_t callbackID)
Note: See TracChangeset
for help on using the changeset viewer.