summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/ChangeLog
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-16 16:25:10 +0100
committerBen Murdoch <benm@google.com>2011-05-23 18:54:14 +0100
commitab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb (patch)
treedb769fadd053248f85db67434a5b275224defef7 /Source/WebKit2/ChangeLog
parent52e2557aeb8477967e97fd24f20f8f407a10fa15 (diff)
downloadexternal_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.zip
external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.gz
external_webkit-ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb.tar.bz2
Merge WebKit at r76408: Initial merge by git.
Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53
Diffstat (limited to 'Source/WebKit2/ChangeLog')
-rw-r--r--Source/WebKit2/ChangeLog1042
1 files changed, 1042 insertions, 0 deletions
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index f382e2e..e83c4ed 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,1045 @@
+2011-01-21 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Need API to stop loading a WKFrame
+ https://bugs.webkit.org/show_bug.cgi?id=52925
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameStopLoading): Call through to WebFrameProxy::stopLoading.
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::stopLoading): Send a message to the WebProcess to stop loading the frame
+ with the passed in ID.
+ * UIProcess/WebFrameProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::stopLoadingFrame): Call stopForUserCancel on the passed-in frame.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add StopLoadingFrame.
+
+2011-01-21 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ <rdar://problem/8894125> and https://bugs.webkit.org/show_bug.cgi?id=52916
+ Expose "suggested filename" for a resource based on its resource response.
+
+ API pieces:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopySuggestedFilenameForResourceURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+ Implementation:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::suggestedFilenameForResourceURL): See if the DocumentLoader has
+ a resource for this URL and, if so, return the response's suggested filename.
+ * WebProcess/WebPage/WebFrame.h:
+
+2011-01-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ DrawingAreaProxyImpl::paint should return the unpainted region
+ https://bugs.webkit.org/show_bug.cgi?id=52918
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ Add unpaintedRegion parameter.
+
+ * UIProcess/BackingStore.h:
+ (WebKit::BackingStore::size):
+ Add a size getter.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Initialize the unpainted region to the dirty region, then subtract the painted region.
+
+2011-01-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein and Maciej Stachowiak.
+
+ Fix for <rdar://problem/8896057>
+
+ Give the Web Process access to the PubSub agent.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-01-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
+ https://bugs.webkit.org/show_bug.cgi?id=52779
+
+ Rename ScrollbarClient -> ScrollableArea.
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::onMouseWheel):
+ (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+
+2011-01-21 Adam Roben <aroben@apple.com>
+
+ Update for WKCACFLayerRenderer -> CACFLayerView rename
+
+ Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't
+
+ Reviewed by Simon Fraser.
+
+ * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Just removed all the unnecessary
+ #includes.
+
+2011-01-20 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Implement showModalDialog
+ https://bugs.webkit.org/show_bug.cgi?id=52855
+
+ * Shared/WebPageCreationParameters.h: Added canRunModal.
+
+ * UIProcess/API/C/WKPage.h: Added a runModal function pointer to
+ WKPageUIClient. Also removed a lot of redundant typedefs and added
+ a new one, WKPageCallback, for callbacks without arguments or return
+ values.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Added a runModal function pointer of 0.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::creationParameters): Set canRunModal
+ based on return value of WebUIClient::canRunModal.
+
+ * UIProcess/WebPageProxy.h: Added runModal.
+ Calls WebUIClient::runModal.
+
+ * UIProcess/WebPageProxy.messages.in: Added RunModal message.
+ Also removed the periods from the phrases in the comments
+ as Maciej requested a while back.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::canRunModal): Added. Returns true or false
+ based on whether a runModal function was supplied in the
+ WKPageUIClient structure.
+ (WebKit::WebUIClient::runModal): Added. Calls the runModal
+ function from the WKPageUIClient structure.
+ * UIProcess/WebUIClient.h: Declared the above functions.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::canRunModal): Call through to WebPage.
+ (WebKit::WebChromeClient::runModal): Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Initialize m_canRunModal based on the
+ creation parameters. Initialize m_isRunningModal to false.
+ (WebKit::WebPage::close): Stop the nested run loop if we are running modal.
+ (WebKit::WebPage::runModal): Send a message to ask the UI process to run
+ modal and then start a nested run loop. It gets stopped when the page is closed.
+ * WebProcess/WebPage/WebPage.h: Defined the canRunModal function
+ and declared the runModal function.
+
+2011-01-20 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52849
+ Make window.print work with WebKit2
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::printFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::printFrame):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::print):
+ Just pass through deelagte call to a WebKit2 client.
+
+ * UIProcess/API/C/WKPage.h: Also added "Callback" suffix to other printing related function
+ types.
+
+2011-01-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Keep track of the latest update timestamp in the backing store
+ https://bugs.webkit.org/show_bug.cgi?id=52848
+
+ * Shared/UpdateInfo.h:
+ (WebKit::UpdateInfo::UpdateInfo):
+ Initialize timestamp to 0.
+
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::BackingStore):
+ Initialize m_latestUpdateTimestamp to 0.
+
+ (WebKit::BackingStore::incorporateUpdate):
+ If the update is too old, discard it. Otherwise, create a bitmap
+ and pass it to platformIncorporateUpdate. Finally update the timestamp.
+
+ * UIProcess/BackingStore.h:
+ Add m_latestUpdateTimestamp.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::platformIncorporateUpdate):
+ Update now that we are already given the shareable bitmap.
+
+2011-01-20 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Fix for <rdar://problem/8890255>
+
+ Allow WebKitSystemInterface to draw scrollbars
+ when appropriate.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-01-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Cleanup Scrollbar/ScrollbarClient relationship
+ https://bugs.webkit.org/show_bug.cgi?id=52779
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::scrollPosition):
+ (WebKit::WebPopupMenuProxyWin::setScrollOffset):
+ (WebKit::WebPopupMenuProxyWin::scrollTo):
+ (WebKit::WebPopupMenuProxyWin::onMouseWheel):
+ (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+ (WebKit::WebPopupMenuProxyWin::verticalScrollbar):
+
+2011-01-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a timestamp to UpdateInfo
+ https://bugs.webkit.org/show_bug.cgi?id=52844
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ (WebKit::DrawingAreaImpl::display):
+
+2011-01-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Add Connection::waitForAndDispatchImmediately
+ https://bugs.webkit.org/show_bug.cgi?id=52841
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::waitForAndDispatchImmediately):
+
+2011-01-20 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8880689> need a way to obtain the rendered rectangle for box elements
+ https://bugs.webkit.org/show_bug.cgi?id=52823
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetRenderRect): Added new method that will return a rendered rectangle for box elements
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Ditto.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Ditto.
+ (WebKit::InjectedBundleNodeHandle::renderRect): Ditto.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
+
+2011-01-20 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Remove null ptr deref that happens when reattaching to
+ a new web process.
+
+ Implement didRelaunchProcess that sets the drawing area size
+ after the drawing area is re-instantiated.
+
+ [Qt][WK2] Null ptr deref in UI process after web process has crashed
+ https://bugs.webkit.org/show_bug.cgi?id=52796
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::init):
+ (QWKPagePrivate::createDrawingAreaProxy):
+ (QWKPagePrivate::didRelaunchProcess): Reset drawing area size after crash.
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-01-20 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld
+ https://bugs.webkit.org/show_bug.cgi?id=42327
+
+ Added a new API call, WKBundleFrameForJavaScriptContext, that gets the WKBundleFrameRef
+ that corresponds to a JSContextRef (or null if none).
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameForJavaScriptContext): Simple wrapper, defers to a WebFrame
+ static method.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::frameForContext): Follow the maze of twisty pointers.
+ * WebProcess/WebPage/WebFrame.h:
+
+2011-01-20 Alejandro G. Castro <alex@igalia.com>
+
+ Fix compilation error in GTK WebKit2.
+
+ * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
+ (CoreIPC::readBytesFromSocket):
+ (CoreIPC::writeBytesToSocket):
+
+2011-01-20 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Refactoring of the custom allocation framework
+ https://bugs.webkit.org/show_bug.cgi?id=49897
+
+ Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
+ The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
+ equivalent macro implementation at the necessary places.
+
+2011-01-19 Simon Fraser <simon.fraser@apple.com>
+
+ Fix the WebKit2 build.
+
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+
+2011-01-19 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Need API to get the parent frame of a frame
+ https://bugs.webkit.org/show_bug.cgi?id=52774
+
+ Add the API to get the parent frame of a frame.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetParentFrame):
+ * UIProcess/API/C/WKFrame.h:
+
+2011-01-19 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: add support for drag and drop
+ https://bugs.webkit.org/show_bug.cgi?id=52343
+ <rdar://problem/7660558>
+
+ This patch contains the remaining work to support drag and drop on Mac.
+ I've added a PasteboardTypes class to encapsulate all the pasteboard formats
+ supported for drag and drop.
+ In this implementation we don't support the promised types, since I could not
+ find an efficient way to do this across processes.
+ The bulk of the patch consists in creating a shareable bitmap for the drag image,
+ pass its handle to the UI process and create a new NSImage from it to be given to
+ AppKit for dragging.
+ I've added the missing implementation of the methods in the drag client to hook
+ up the placement of the data in the pasteboard.
+
+ * Shared/mac/PasteboardTypes.h: Added.
+ * Shared/mac/PasteboardTypes.mm: Added.
+ (WebKit::PasteboardTypes::forEditing):
+ (WebKit::PasteboardTypes::forURL):
+ (WebKit::PasteboardTypes::forImages):
+ (WebKit::PasteboardTypes::forImagesWithArchive):
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setDragImage): Added.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _registerDraggedTypes]): Refactored to use the new PasteboardTypes class.
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView _setMouseDownEvent:]):
+ (-[WKView _mouseHandler:]):
+ (-[WKView mouseDown:]):
+ (-[WKView mouseUp:]):
+ (-[WKView mouseDragged:]):
+ (-[WKView draggedImage:endedAt:operation:]):
+ (-[WKView draggingEntered:]):
+ (-[WKView _setDragImage:at:linkDrag:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setDragImage):
+ (WebKit::WebPageProxy::dragEnded):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.h:
+ * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Added.
+ (WebKit::fontFromNSFont):
+ (WebKit::WebDragClient::startDrag): Added implementation.
+ (WebKit::WebDragClient::createDragImageForLink): Ditto.
+ (WebKit::writeURL): Helper function.
+ (WebKit::writeImage): Helper function.
+ (WebKit::WebDragClient::declareAndWriteDragImage): Added implementation.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::dragEnded):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Put the deprecated Connection member functions next to eachother
+ https://bugs.webkit.org/show_bug.cgi?id=52767
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::sendSync):
+ (CoreIPC::Connection::send):
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ When resizing, the web process should repaint the page
+ https://bugs.webkit.org/show_bug.cgi?id=52764
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Incorporate the update.
+
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Return early if the update bounds rect is empty. This can happen if painting is
+ disabled and we get a DidSetSize message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ If painting is disabled, just send back an empty UpdateInfo struct. Otherwise,
+ paint and fill in the UpdateInfo struct.
+
+ (WebKit::DrawingAreaImpl::display):
+ Assert that painting is not disabled.
+
+2011-01-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52739
+ Make it possible for a WebKit2 client to print headers and footers
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::headerHeight):
+ (WebKit::WebPageProxy::footerHeight):
+ (WebKit::WebPageProxy::drawHeader):
+ (WebKit::WebPageProxy::drawFooter):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::headerHeight):
+ (WebKit::WebUIClient::footerHeight):
+ (WebKit::WebUIClient::drawHeader):
+ (WebKit::WebUIClient::drawFooter):
+ * UIProcess/WebUIClient.h:
+ Pass UIClient calls through.
+
+ * UIProcess/API/mac/WKView.mm:
+ (currentPrintOperationScale): A helper to extract scale factor from the current NSPrintOperation.
+ (-[WKView _adjustPrintingMarginsForHeaderAndFooter]): Copied from WebKit1. Change current
+ print info to account for header and footer height as provided by the client.
+ (-[WKView knowsPageRange:]): Call -[self _adjustPrintingMarginsForHeaderAndFooter].
+ (-[WKView drawPageBorderWithSize:]): When AppKit asks to print page border, call the client
+ to do that. Code adapted form WebKit1.
+
+ * UIProcess/API/qt/qwkpage:
+ (QWKPage::QWKPage): Added zeroes for new WKPageUIClient members to avoid breaking the build.
+
+2011-01-19 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Crash in WebDatabaseManagerProxy::getDatabaseOrigins when called after the WebProcess has
+ died at least once
+ https://bugs.webkit.org/show_bug.cgi?id=52730
+
+ WebDatabaseManagerProxy::invalidate was setting m_webContext to 0, and invalidate gets
+ called in WebContext::processDidClose. However, m_webContext is only set in the
+ constructor, which is only called from the constructor of WebContext, so attempting to send
+ a message to any new WebProcess after the first one died was causing a null deref.
+
+ This patch moves setting m_webcontext into clearContext and clearContext is only called in
+ the WebContext destructor.
+
+ This patch also adds checks for a valid WebProcessProxy before attempting to send messages to
+ the WebProcessProxy so that if the WebProcess has died and has not been revived, it does not
+ attempt to dereference a null WebProcessProxy.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::~WebContext):
+ Call WebDatabaseManagerProxy::clearContext.
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::hasValidProcess):
+ Make this method public so that it can be called from WebDatabaseManagerProxy.
+
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
+ If there isn't a valid process, invalidate the callback and return early.
+ (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
+ Ditto.
+ (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
+ If tehre isn't a valid process return early.
+ (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
+ Ditto.
+ (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
+ Ditto.
+ (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
+ Ditto.
+ (WebKit::WebDatabaseManagerProxy::invalidate):
+ Move setting m_webContext to 0 from here ...
+ * UIProcess/WebDatabaseManagerProxy.h:
+ (WebKit::WebDatabaseManagerProxy::clearContext):
+ ... to here.
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Suspend/resume painting as the WKView visibility changes
+ https://bugs.webkit.org/show_bug.cgi?id=52738
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::visibilityDidChange):
+ Add new member function. It should really be pure virtual once setPageIsVisible
+ is removed.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
+ Send SuspendPainting/ResumePainting messages based on whether the view is visible or not.
+
+ (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
+ Make this a stub; it should really be removed.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::viewStateDidChange):
+ Call visibilityDidChange.
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isViewVisible):
+ Add new getter.
+
+ * WebProcess/WebPage/DrawingArea.messages.in:
+ Add SuspendPainting and ResumePainting messages.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ Initialize m_isPaintingSuspended.
+
+ (WebKit::DrawingAreaImpl::suspendPainting):
+ Set m_isPaintingSuspended to true and stop the display timer.
+
+ (WebKit::DrawingAreaImpl::resumePainting):
+ Set m_isPaintingSuspended to false.
+
+ (WebKit::DrawingAreaImpl::scheduleDisplay):
+ (WebKit::DrawingAreaImpl::display):
+ Bail if m_isPaintingSuspended is true.
+
+2011-01-19 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt][WK2] Implement formatLocalizedString() for Qt.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::formatLocalizedString):
+
+2011-01-19 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
+ https://bugs.webkit.org/show_bug.cgi?id=52695
+
+ Added a hostingLayer as the parent of the existing drawingLayer.
+ The hostingLayer is now the root which is passed to the
+ remote context. It never changes except to track the size
+ of the window. The backingLayer is now a child of the
+ hostingLayer, which allow it to switch between tiled and
+ non-tiled.
+
+ I also now give back accurate settings for debug borders and
+ repaint counters.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::setSize):
+ (WebKit::LayerBackedDrawingArea::showDebugBorders):
+ (WebKit::LayerBackedDrawingArea::showRepaintCounter):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformInit):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send a new SetSize message if the size differs from the current size
+ https://bugs.webkit.org/show_bug.cgi?id=52728
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::didSetSize):
+ Add UpdateInfo parameter.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add UpdateInfo parameter to the DidSetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ If the view size differs from the current size send another SetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add UpdateInfo parameter to didSetSize.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ The DidSetSize message now takes an UpdateInfo parameter.
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Throttle sending of SetSize messages
+ https://bugs.webkit.org/show_bug.cgi?id=52727
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ Initialize m_isWaitingForDidSetSize to false.
+
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Null out the backing store.
+
+ (WebKit::DrawingAreaProxyImpl::sendSetSize):
+ If m_isWaitingForDidSetSize is true, do nothing. Otherwise, set m_isWaitingForDidSetSize
+ to true and send a SetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add m_isWaitingForDidSetSize.
+
+2011-01-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Pass WebPageCreationParameters to DrawingArea::create
+ https://bugs.webkit.org/show_bug.cgi?id=52726
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::create):
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+
+2011-01-19 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Laszlo Gombos and Tor Arne Vestbø.
+
+ [Qt] Remove unnecessary "../Source" from paths
+ after moving source files into Source is finished.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+
+2011-01-18 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner should track loading more like DumpRenderTree
+ https://bugs.webkit.org/show_bug.cgi?id=52692
+
+ Relax the message check in didSaveFrameToPageCache a bit more, since
+ layout tests were still hitting the old one.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::isDisconnectedFrame):
+ (WebKit::WebPageProxy::didSaveFrameToPageCache):
+
+2011-01-18 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8860833> and https://bugs.webkit.org/show_bug.cgi?id=52599
+ UIProcess crash in WebPageProxy::reattachToWebProcess when web process crashes with a new tab/window.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::reattachToWebProcessWithItem): Null check item *both* places it is used.
+
+2011-01-18 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/8752200> and https://bugs.webkit.org/show_bug.cgi?id=52664
+ Need WebKit2 API to asynchronously get the resource data for a URL
+
+ Rename WKFrameGetMainResourceDataFunction to WKFrameGetResourceDataFunction, and add
+ new API to get a resource by URL:
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetMainResourceData):
+ (WKFrameGetResourceData):
+ (callGetResourceDataBlockAndDispose):
+ (WKFrameGetMainResourceData_b):
+ (WKFrameGetResourceData_b):
+ * UIProcess/API/C/WKFrame.h:
+
+ Implement the new API in the UIProcess side:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::getResourceData):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getResourceDataFromFrame):
+ * UIProcess/WebPageProxy.h:
+
+ Have the WebProcess get the data and call back to the UIProcess:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getResourceDataFromFrame):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Make PageClientImpl::scrollView do hardware blitting
+ https://bugs.webkit.org/show_bug.cgi?id=52689
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::scrollView):
+ Clip the scroll rect and scroll the view.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Scroll before painting.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Artifacts when scrolling with new drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=52682
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::scroll):
+ When scrolling, we want the intersection of the scroll rect and clip rect.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Use a CGLayer for the backing store when possible
+ https://bugs.webkit.org/show_bug.cgi?id=52679
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::paint):
+ If there is a layer, paint it into the given context.
+
+ (WebKit::BackingStore::backingStoreContext):
+ If we can get the containing window graphics context, use it to create a
+ CGLayer that we'll use for the backing store.
+
+ (WebKit::BackingStore::scroll):
+ Paint the layer into itself.
+
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::containingWindowGraphicsContext):
+ Call the page client.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Pass the web page proxy to BackingStore::create
+ https://bugs.webkit.org/show_bug.cgi?id=52673
+
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::create):
+ Add WebPageProxy parameter.
+
+ (WebKit::BackingStore::BackingStore):
+ Add WebPageProxy parameter.
+
+ * UIProcess/BackingStore.h:
+ Add WebPageProxy member variable.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Pass the web page proxy when creating the backing store.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::backingStoreContext):
+ Set the default blend mode.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Factor code to create the backing store bitmap context out into a new function
+ https://bugs.webkit.org/show_bug.cgi?id=52670
+
+ * UIProcess/BackingStore.h:
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::backingStoreContext):
+ Create the backing store context.
+
+ (WebKit::BackingStore::incorporateUpdate):
+ Call backingStoreContext.
+
+ (WebKit::BackingStore::scroll):
+ Assert that the context is not null.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add PageClientImpl::containingWindowGraphicsContext
+ https://bugs.webkit.org/show_bug.cgi?id=52666
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::containingWindowGraphicsContext):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.h:
+
+2011-01-18 Damian Kaleta <dkaleta@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WK2 methods WKPageScaleWebView and WKPageGetViewScaleFactor need to have consistent names
+ https://bugs.webkit.org/show_bug.cgi?id=52647
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetScaleFactor):
+ (WKPageGetScaleFactor):
+ * UIProcess/API/C/WKPage.h:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Ask the web page proxy to scroll the view when needed
+ https://bugs.webkit.org/show_bug.cgi?id=52665
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::scrollView):
+ * UIProcess/WebPageProxy.h:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::scrollView):
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PageClient::scrollView
+ https://bugs.webkit.org/show_bug.cgi?id=52663
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::scrollView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::scrollView):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::PageClientImpl::scrollView):
+ * UIProcess/win/WebView.h:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename scrollDelta to scrollOffset everywhere.
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h:
+ * UIProcess/BackingStore.h:
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::incorporateUpdate):
+ (WebKit::BackingStore::scroll):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::scroll):
+ (WebKit::WebChromeClient::delegatedScrollRequested):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::scroll):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll):
+ (WebKit::DrawingAreaImpl::display):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::scroll):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get and paint each individual rect in -[WKView drawRect:]
+ https://bugs.webkit.org/show_bug.cgi?id=52660
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Assertion when loading two URLs in quick succession
+ https://bugs.webkit.org/show_bug.cgi?id=52649
+ <rdar://problem/8764645>
+
+ If beginLoad is called twice without didStartProvisionalLoad being called in between,
+ m_pendingProvisionalSandboxExtension would be non-null and an assert would fire.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
+ Instead of asserting that m_pendingProvisionalSandboxExtension is null, invalidate it
+ if it is not null, since that's valid.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_PopUpContextMenu
+ https://bugs.webkit.org/show_bug.cgi?id=52646
+ <rdar://problem/8735616>
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_PopUpContextMenu):
+ Call NetscapePlugin::popUpContextMenu.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_currentMouseEvent.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add m_currentMouseEvent.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::popUpContextMenu):
+ Convert the coordinates from the current mouse event to screen coordinates and call
+ WKPopupContextMenu.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ Update m_currentMouseEvent.
+
+2011-01-18 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Do not assert that the provisional and committed URLs cannot be empty/null
+ https://bugs.webkit.org/show_bug.cgi?id=52641
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didStartProvisionalLoad):
+ (WebKit::WebFrameProxy::didCommitLoad):
+ (WebKit::WebFrameProxy::didFinishLoad):
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ ASSERT in plug-in code when going to youtube
+ https://bugs.webkit.org/show_bug.cgi?id=52638
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::paintEntirePlugin):
+ Don't try to paint the plug-in if the plug-in frame is empty.
+
+2011-01-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Plug-in hosting WebProcess instances appear in Activity Monitor as WebProcess
+ https://bugs.webkit.org/show_bug.cgi?id=52635
+ <rdar://problem/8731337>
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::initialize):
+ Call platformInitialize.
+
+ * PluginProcess/PluginProcess.h:
+ Add platformInitialize.
+
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::PluginProcess::platformInitialize):
+ Set the compositing render server port and the visible application name.
+
+ * Shared/Plugins/PluginProcessCreationParameters.cpp:
+ (WebKit::PluginProcessCreationParameters::encode):
+ (WebKit::PluginProcessCreationParameters::decode):
+ Encode/decode the parent process name.
+
+ * Shared/Plugins/PluginProcessCreationParameters.h:
+ Add parentProcessName.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ Encode/decode the parent process name.
+
+ * Shared/WebProcessCreationParameters.h:
+ Add parentProcessName.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Don't pass the parent process name here.
+
+ * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
+ (WebKit::PluginProcessProxy::platformInitializePluginProcess):
+ Set the visible name.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Pass along the parent process name.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Set the visible name.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ Don't set the visible name here. It's done in platformInitializeWebProcess.
+
+2011-01-18 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2] Not implemented warnings should not break layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=52616
+
+ * WebKit2Prefix.h: Define DISABLE_NOT_IMPLEMENTED_WARNINGS on Qt.
+
2011-01-17 Jon Honeycutt <jhoneycutt@apple.com>
Windows build fix. Unreviewed.