summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/ChangeLog')
-rw-r--r--Source/WebKit2/ChangeLog5472
1 files changed, 5472 insertions, 0 deletions
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index e83c4ed..9f916ac 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,5475 @@
+2011-02-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Speculative fix for
+
+ <rdar://problem/8995361>
+ CrashTracer: [USER] 47 crashes in WebProcess at com.apple.WebKit2: WebKit::WebPage::layoutIfNeeded + 4
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::~DrawingAreaImpl):
+ Invalidate the layer tree host.
+
+2011-02-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ The plug-in process heap should be executable by default
+ https://bugs.webkit.org/show_bug.cgi?id=54364
+ <rdar://problem/8990563>
+
+ * UIProcess/Launcher/ProcessLauncher.h:
+ Add executableHeap flag.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Set the right posix_spawn flag if executableHeap is true.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::PluginProcessProxy):
+ Initialize executableHeap to true.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::connect):
+ Initialize executableHeap to false.
+
+2011-02-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Messages waited on are never dispatched
+ https://bugs.webkit.org/show_bug.cgi?id=54362
+ <rdar://problem/8995051>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::processIncomingMessage):
+ Get the argument encoder from the incoming message.
+
+2011-02-13 Jeremy Moskovich <jeremy@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a compile-time option to completely disable WebArchive support.
+ https://bugs.webkit.org/show_bug.cgi?id=52712
+
+ Add an ENABLE(WEB_ARCHIVE) compile-time setting and use it for all WebArchive code.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2011-02-13 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54348
+ Crash when printing a document with no pages
+
+ * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawPagesToPDF): Don't fail on a fake
+ page that computePagesForPrinting() added to a pageless document.
+
+2011-02-13 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed and landed by Sam Weinig.
+
+ AX: Update WK2 usage of remote accessibility api
+ https://bugs.webkit.org/show_bug.cgi?id=54220
+
+ Rename some of the remote accessibility methods to be more accurate.
+ Make sure to unregister the AccessibilityWebPageObject on dealloc.
+ Send the window remote token along with the WKView remote token.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateRemoteAccessibilityRegistration:]):
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView _processDidCrash]):
+ (-[WKView _pageClosed]):
+ (-[WKView _setAccessibilityWebProcessToken:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
+ (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
+ (-[AccessibilityWebPageObject dealloc]):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformInitialize):
+ (WebKit::WebPage::registerUIProcessAccessibilityTokens):
+
+2011-02-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54335
+ <rdar://problem/8895141> Make window.print() work with WebKit2
+
+ * Platform/CoreIPC/Connection.h: Corrected a typo in FIXME comment.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ Updated for send() -> deprecatedSend() rename.
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Added a flag that's true while serving window.print().
+ (WebKit::WebPageProxy::printFrame): Set and unset m_isPerformingDOMPrintOperation.
+ (WebKit::WebPageProxy::beginPrinting): Force message processing in web process when serving
+ window.print().
+ (WebKit::WebPageProxy::endPrinting): Ditto.
+ (WebKit::WebPageProxy::computePagesForPrinting): Ditto.
+ (WebKit::WebPageProxy::drawRectToPDF): Ditto.
+ (WebKit::WebPageProxy::drawPagesToPDF): Ditto.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ (WebKit::WebProcessProxy::sendMessage):
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ When waiting for a web process to launch, store message flags, too. This is not practically
+ important for DispatchMessageEvenWhenWaitingForSyncReply, but it's easier to store flags
+ than to remember about this pitfall.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::send): Added a flags argument, matching Connection::send().
+ (WebKit::WebProcessProxy::deprecatedSend): Renamed one of send() overloads, because it was
+ conflicting with the other one after adding a flags argument. This matches a change previously
+ made to CoreIPC::Connection.
+
+2011-02-12 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Crash in RenderLayerCompositor::updateCompositingLayers when loading some sites
+ https://bugs.webkit.org/show_bug.cgi?id=54345
+
+ Some sites flip between composited and non-comosited state while loading. When the timing is
+ right, when we flip out of compositing we will need to do a display while tossing all the
+ compositing layers. This causes us to reenter RenderLayerCompositor::computeCompositingRequirements()
+ while we are in the middle of tossing layers, which leads to a crash.
+
+ The solution is to defer the logic of exiting compositing mode until the DrawingArea is finished
+ doing its display, using a timer.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingModeSoon):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+
+2011-02-12 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Follow up fix to:
+ https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Fixed the order of the scale and translate.
+
+2011-02-12 Kevin Decker <kdecker@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54341 - optionally scale snapshots in document view coordinates
+ <rdar://problem/8990069>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCreateScaledSnapshotInDocumentCoordinates): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added above new function.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Added.
+ (WebKit::WebPage::snapshotInDocumentCoordinates): Call scaledSnapshotInDocumentCoordinates with a scale of 1.
+ * WebProcess/WebPage/WebPage.h: Added scaledSnapshotInDocumentCoordinates().
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Can’t open local files on reload or navigation from the back/forward cache
+ https://bugs.webkit.org/show_bug.cgi?id=54332
+ <rdar://problem/8903076>
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::isInspectorPage):
+ * UIProcess/WebInspectorProxy.h:
+ Check whether the given page is a web inspector page.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
+ If this is a web inspector page, we don't want to make a sandbox extension.
+
+ (WebKit::WebPageProxy::reattachToWebProcessWithItem):
+ (WebKit::WebPageProxy::goForward):
+ (WebKit::WebPageProxy::goBack):
+ (WebKit::WebPageProxy::goToBackForwardItem):
+ Pass a sandbox extension along when sending the message.
+
+ * UIProcess/WebPageProxy.h:
+ Make initializeSandboxExtensionHandle a member function.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::restoreFromSessionStateData):
+ Pass a sandbox extension along.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::goForward):
+ (WebKit::WebPage::goBack):
+ (WebKit::WebPage::goToBackForwardItem):
+ Hand the sandbox extension to the sandbox extension tracker.
+
+ (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
+ Pass the sandbox extension to goToBackForwardItem.
+
+ (WebKit::shouldReuseCommittedSandboxExtension):
+ New function that checks whether a committed sandbox extension should be re-used. We
+ do this for page reloads, as well as regular page navigations when both the committed
+ and provisional documents have file URLs.
+
+ (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
+ Reuse the committed sandbox extension if necessary.
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Fix Snow Leopard build.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::didFailToSendSyncMessage):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didFailToSendSyncMessage):
+
+2011-02-11 Yael Aharon <yael.aharon@nokia.com>
+
+ Unreviewed Qt webkit2 build fix after r78392.
+
+ * WebProcess/WebProcess.h:
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebProcess hung communicating with the plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=54328
+ <rdar://problem/8854075>
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::createWebProcessConnection):
+ Add the DispatchMessageEvenWhenWaitingForSyncReply message send flag when sending the
+ PluginProcess::CreateWebProcessConnection message, since the plug-in process can be busy waiting
+ for a sync reply from the web process.
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Incoming synchronous messages should always be processed regardless of connection waiting for a reply
+ https://bugs.webkit.org/show_bug.cgi?id=54326
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::getOrCreate):
+ Assert that the map has a non-null SyncMessageState object.
+
+ (CoreIPC::Connection::SyncMessageState::SyncMessageState):
+ Initialize m_waitForSyncReplyCount.
+
+ (CoreIPC::Connection::SyncMessageState::beginWaitForSyncReply):
+ Increment m_waitForSyncReplyCount.
+
+ (CoreIPC::Connection::SyncMessageState::endWaitForSyncReply):
+ Decrement m_waitForSyncReplyCount. If it's 0, enqueue any incoming sync messages.
+
+ (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
+ If this is a message that needs to be dispatched, add it to the queue and wake up the client run loop.
+
+ (CoreIPC::Connection::SyncMessageState::dispatchMessages):
+ Go through the queue of incoming messages and dispatch them.
+
+ (CoreIPC::Connection::sendSyncMessage):
+ call beginWaitForSyncReply/endWaitForSyncReply.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Dispatch messages.
+
+ (CoreIPC::Connection::processIncomingMessage):
+ Call SyncMessageState::processIncomingMessage.
+
+ (CoreIPC::Connection::enqueueIncomingMessage):
+ Add helper function for enqueuing an incoming message.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Message::destinationID):
+
+2011-02-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKit2: Going to Ars Technica crashes WebProcess in WebCore::ResourceRequestBase::url() const + 9
+ <rdar://problem/8978832>
+
+ Speculative fix for crash accessing a bad ResourceRequest in policy
+ client code. Remove early returns from dispatchDecidePolicyForMIMEType
+ and dispatchDecidePolicyForNavigationAction that are not present in the WebKit1
+ equivalent code. This should be safe, now that the IPC calls are synchronous.
+
+ Also removes some invalid assertions in WebFrameProxy that were getting hit. It is okay
+ for the url to empty.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameProxy::didFailProvisionalLoad):
+ (WebKit::WebFrameProxy::didFailLoad):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+
+2011-02-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler and Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53593
+ <rdar://problem/8948380> Crash beneath HistoryController::recursiveSetProvisionalItem in web
+ process (preceded by assertion failure) if UI process exits while
+ Messages::WebPage::RestoreSessionAndNavigateToCurrentItem is being handled
+
+ Can't test exiting the UI process.
+
+ * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessage):
+ * Platform/CoreIPC/Connection.h: (CoreIPC::Connection::Client::didFailToSendSyncMessage):
+ Notify connection client when the connection fails to send a sync message.
+
+ * WebProcess/WebProcess.cpp: (WebKit::WebProcess::didFailToSendSyncMessage):
+ * WebProcess/WebProcess.h:
+ Quit the web process immediately if it tried to send a sync message to a dead UI process.
+ It never needs to continue and handle an unexpected null "reply".
+
+ * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::didFailToSendSyncMessage):
+ * PluginProcess/PluginProcess.h:
+ Ditto. There is no need for a plug-in to keep running even briefly if it couldn't get a
+ reply to a sync message.
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a way to send async messages that can't get out of order with sync ones
+ https://bugs.webkit.org/show_bug.cgi?id=54319
+ <rdar://problem/8894844>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ sendMessage now takes a messageSendFlags. Update the messageID if the
+ messageSendFlags contain DispatchMessageEvenWhenWaitingForSyncReply.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Process asynchronous messages as well.
+
+ (CoreIPC::Connection::processIncomingMessage):
+ Check if a message should be dispatched even when we're waiting for a
+ synchronous reply.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::send):
+ Send now takes a messageSendFlags parameter.
+
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::MessageID::messageIDWithAddedFlags):
+ Return a new MessageID object with the given flags added.
+
+ (CoreIPC::MessageID::shouldDispatchMessageWhenWaitingForSyncReply):
+ Add getter.
+
+2011-02-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Crash with dynamic popup menu use
+ <rdar://problem/8716952>
+
+ Invalidate popup menus when forcing them closed, since they might still be
+ in their tracking loop.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+ (WebKit::WebPageProxy::hidePopupMenu):
+ * UIProcess/WebPopupMenuProxy.h:
+ (WebKit::WebPopupMenuProxy::invalidate):
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu):
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::showPopupMenu):
+ (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Actually initialize m_syncMessageState.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move the binary semaphore into SyncMessageState
+ https://bugs.webkit.org/show_bug.cgi?id=54311
+
+ With this change, all connections that belong to the same run loop will use same binary semaphore.
+ This is in preparation for making any connection be able to wakeup the client run loop.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::wakeUpClientRunLoop):
+ (CoreIPC::Connection::SyncMessageState::wait):
+ (CoreIPC::Connection::waitForSyncReply):
+ (CoreIPC::Connection::processIncomingMessage):
+ (CoreIPC::Connection::connectionDidClose):
+ * Platform/CoreIPC/Connection.h:
+
+2011-02-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a SyncMessageState class to CoreIPC::Connection
+ https://bugs.webkit.org/show_bug.cgi?id=54309
+
+ SyncMessageState objects are shared between all connections scheduled on
+ a given run loop. It will be used to keep track of state when waiting
+ for replies for a synchronous message.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::syncMessageStateMap):
+ (CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex):
+ Add a global RunLoop -> SyncMessageState map and a mutex for locking.
+
+ (CoreIPC::Connection::SyncMessageState::getOrCreate):
+ Look in the map for an existing SyncMessageState object and create a new
+ one if none is found.
+
+ (CoreIPC::Connection::SyncMessageState::SyncMessageState):
+ Initialize m_runLoop.
+
+ (CoreIPC::Connection::SyncMessageState::~SyncMessageState):
+ Remove the object from the map.
+
+2011-02-11 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ crashes in WebProcess at WebCore::Range::startPosition const + 16
+ https://bugs.webkit.org/show_bug.cgi?id=54294
+ <rdar://problem/8982710>
+
+ I don't have a repro case for this bugs, but the side-by-side
+ comparison of the IME support implementation in WebKit and WebKi2
+ shows a missing null check on a Range that could very well explain
+ this crash.
+ I tried running platform/mac/editing/input tests with a version of WebKit
+ without the null check and I can reproduce a crash with the same signature.
+ These tests are not yet enabled for WebKit2.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::firstRectForCharacterRange):
+
+2011-02-11 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ Eliminate /DELAYLOAD:msimg32.dll ignored warning when building WebKit project
+ https://bugs.webkit.org/show_bug.cgi?id=54296
+
+ * win/WebKit2Common.vsprops: Remove msimg32.dll from the list of DelayLoadDLLs.
+
+2011-02-11 Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement UpdateChunk, ChunkedUpdateDrawingArea/Proxy
+ classes for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=54080
+
+ * GNUmakefile.am:
+ * Shared/gtk/UpdateChunk.cpp: Added.
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::~UpdateChunk):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/gtk/UpdateChunk.h: Added.
+ (WebKit::UpdateChunk::rect):
+ (WebKit::UpdateChunk::isEmpty):
+ (WebKit::UpdateChunk::size):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ Initialize the surface.
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h: Added cairo variables.
+ * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::page):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Repro crash with Sony Google TV ad at Gizmodo
+ https://bugs.webkit.org/show_bug.cgi?id=54150
+ <rdar://problem/8782346>
+
+ Re-landing this fix, bug without the test case, since it causes hangs on the bots.
+ https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding back the test.
+
+ Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::~PluginView):
+ Null out m_pluginElement here so we'll catch crashes earlier.
+
+ (WebKit::PluginView::evaluate):
+ Add a plug-in protector.
+
+2011-02-10 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Enrica Casucci and Adele Peterson.
+
+ WebKit2 pages gobble up cmd-I as an editing command in some cases where it shouldn't
+ https://bugs.webkit.org/show_bug.cgi?id=54254
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _handleStyleKeyEquivalent:]):
+ Return early if we're not in an editable region.
+
+2011-02-10 Andreas Kling <kling@webkit.org>
+
+ Unreviewed Qt build fix.
+
+ waitFor() -> deprecatedWaitFor()
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move code to dispatch an incoming message out into a new function
+ https://bugs.webkit.org/show_bug.cgi?id=54239
+
+ This also fixes a leak where we wouldn't free ArgumentDecoder objects
+ after a connection has been invalidated.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchMessage):
+ (CoreIPC::Connection::dispatchMessages):
+ * Platform/CoreIPC/Connection.h:
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Try again to fix the Qt build.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix the Qt build.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::display):
+ (WebKit::TiledDrawingArea::setSize):
+ (WebKit::TiledDrawingArea::updateTile):
+ (WebKit::TiledDrawingArea::tileUpdateTimerFired):
+ (WebKit::TiledDrawingArea::didReceiveMessage):
+
+2011-02-10 Adam Roben <aroben@apple.com>
+
+ Handle a null FindIndicator correctly
+
+ We are passed a null FindIndicator when the find indicator becomes hidden.
+
+ Fixes <http://webkit.org/b/54213> <rdar://problem/8983261> REGRESSION (r78198): Crash in
+ FindIndicator::contentImage when scrolling page
+
+ Reviewed by Steve Falkenburg.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::SharedMemory::Handle::isNull): Implemented.
+ (WebKit::SharedMemory::create): Bail out if the handle is null, just like Mac does.
+ Otherwise assert that ::MapViewOfFile succeeded. This doesn't fix the bug, but should help
+ catch other errors.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setFindIndicator): Null-check the FindIndicator before dereferencing it.
+ Also changed the function to store the FindIndicator in a RefPtr.
+
+2011-02-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add 'deprecated' to the deprecated CoreIPC functions
+ https://bugs.webkit.org/show_bug.cgi?id=54223
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::send):
+ (CoreIPC::Connection::deprecatedSendSync):
+ (CoreIPC::Connection::deprecatedSend):
+ (CoreIPC::Connection::deprecatedWaitFor):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::open):
+ * PluginProcess/PluginProcess.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::createWebProcessConnection):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::postSynchronousMessage):
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::setSize):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+
+2011-02-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Window resizer does not have a border when there are scrollbars in WebKit2 windows
+ <rdar://problem/8488476>
+ https://bugs.webkit.org/show_bug.cgi?id=54222
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateGrowBoxForWindowFrameChange]):
+ (-[WKView _didChangeScrollbarsForMainFrame]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::didChangeScrollbarsForMainFrame):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didChangeScrollbarsForMainFrame):
+ * UIProcess/win/WebView.h:
+
+2011-02-10 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Rename remaining instances of _HOME sandbox parameter.
+ <rdar://problem/8983428>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-10 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ AX: AX needs to stop using WebCoreViewFactory
+ https://bugs.webkit.org/show_bug.cgi?id=54153
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-02-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Sandbox violations trying to read crypto preferences.
+ <rdar://problem/8981151>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-10 Peter Varga <pvarga@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Remove PCRE source from trunk
+ https://bugs.webkit.org/show_bug.cgi?id=54188
+
+ * WebKit2.pro:
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Turn on the new drawing area on Windows
+
+ Fixes <http://webkit.org/b/53805> <rdar://problem/8960666> WebKit2 on Windows should use
+ DrawingAreaProxyImpl
+
+ Reviewed by Darin Adler.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::useNewDrawingArea): Return true!
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Hook up WM_PRINT to the new drawing area
+
+ Fixes <http://webkit.org/b/54145> <rdar://problem/8979559> WM_PRINT doesn't work with new
+ drawing area (assertion failure in DrawingAreaProxyImpl in Debug builds)
+
+ Reviewed by Darin Adler.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::paint): Added. Code came from onPaintEvent.
+
+ (WebKit::WebView::onPaintEvent):
+ (WebKit::WebView::onPrintClientEvent):
+ Changed to call paint.
+
+ * UIProcess/win/WebView.h: Added paint. Also separated message handler functions into their
+ own paragraph.
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Notice when the backing store goes away after DidSetSize
+
+ Fixes <http://webkit.org/b/54142> <rdar://problem/8979365> Crash in
+ DrawingAreaProxyImpl::paint when WKView paints after being resized while hidden
+
+ Reviewed by Darin Adler.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint): Null-check m_backingStore after waiting for
+ DidSetSize, as m_backingStore can go away when we receive that message. This is the bug fix.
+ Also moved the accelerated compositing check inside the block where we wait for DidSetSize.
+ If we didn't wait for DidSetSize, we already know that we're not in accelerated compositing
+ mode (and asserted so earlier in this function).
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Decode a null SharedMemory::Handle correctly on Windows
+
+ Fixes <http://webkit.org/b/54141> <rdar://problem/8979195> WKView draws at wrong size,
+ performs badly if is resized while hidden (assertion fails in
+ BackingStore::incorporateUpdate in Debug builds)
+
+ Reviewed by Darin Adler.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::getDuplicatedHandle): Added. Code came from decode. The only changes were to
+ null-check sourceHandle (this is the bug fix) and to assert when ::DuplicateHandle fails
+ (which would have caught the bug earlier).
+ (WebKit::SharedMemory::Handle::decode): Changed to use getDuplicatedHandle.
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Don't invalidate outside of the WebPage's bounds
+
+ Fixes <http://webkit.org/b/54123> <rdar://problem/8978383> Assertion failure in
+ BackingStore::BackingStore if a new WebPage becomes active before receiving a size
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setNeedsDisplay): Intersect the dirty rect with our bounds before
+ doing anything else.
+ (WebKit::DrawingAreaImpl::display): Added an assertion to help catch the bad case a little
+ earlier.
+
+2011-02-10 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, rolling out r78157.
+ http://trac.webkit.org/changeset/78157
+ https://bugs.webkit.org/show_bug.cgi?id=54150
+
+ Fails on a bunch of bots
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::evaluate):
+
+2011-02-09 Brian Weinstein <bweinstein@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Fix a typo in WebSecurityOrigin::protocol.
+
+ * Shared/WebSecurityOrigin.h:
+ (WebKit::WebSecurityOrigin::protocol): This should return the protocol, not the domain.
+
+2011-02-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ File uploads do not work within the sandbox
+ <rdar://problem/8950518>
+ https://bugs.webkit.org/show_bug.cgi?id=54154
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::extendSandboxForFileFromOpenPanel):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-02-09 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=54148
+ <rdar://problem/8973887> REGRESSION (WebKit2): Opening two print dialogs causes havoc
+
+ * UIProcess/API/mac/WKPrintingView.h: Moved _isForcingPreviewUpdate into a static variable,
+ because dispatching a notification affects all WKPrintingViews at once.
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _updatePreview]): Updated for new variable name.
+ (-[WKPrintingView knowsPageRange:]): Don't break if the method is called twice in a row
+ (we already had this logic when printing from separate thread, but not for preview).
+ (-[WKPrintingView drawRect:]): Changed all LOG messages to have view object address for
+ easier matching.
+ (-[WKPrintingView rectForPage:]): Ditto.
+ (-[WKPrintingView beginDocument]): Ditto.
+ (-[WKPrintingView endDocument]): Ditto.
+
+2011-02-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Repro crash with Sony Google TV ad at Gizmodo
+ https://bugs.webkit.org/show_bug.cgi?id=54150
+
+ Since PluginView::evaluate can cause the plug-in element to go away, we need to protect it.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::~PluginView):
+ Null out m_pluginElement here so we'll catch crashes earlier.
+
+ (WebKit::PluginView::evaluate):
+ Add a plug-in protector.
+
+2011-02-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Google Maps says it has horizontal scrollbars when it doesn't
+ <rdar://problem/8978005>
+
+ We were updating the main frame's scrollbar state for changes to
+ frames other than the main frame.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ (WebKit::WebChromeClient::WebChromeClient):
+ Change to bail out early if we are not looking at the main frame. Also
+ fix some silly typos and rename the variables to be more specific.
+
+2011-02-09 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allow read-only access to mouse preferences from sandboxed WebProcess.
+ <rdar://problem/8975279>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-09 Steve Falkenburg <sfalken@apple.com>
+
+ Build fix.
+
+ * win/MainWin.cpp:
+ (wWinMain):
+
+2011-02-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement Module class for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48510
+
+ * GNUmakefile.am:
+ * Platform/Module.h: Added GModule handle for GTK port.
+ * Platform/gtk/ModuleGtk.cpp: Initial code using GModule calls.
+ (WebKit::Module::load):
+ (WebKit::Module::unload):
+ (WebKit::Module::platformFunctionPointer):
+
+2011-02-09 Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement WKBaseGtk API for Webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=54081
+
+ * GNUmakefile.am: Added new files to compilation.
+ * Shared/API/c/WKBase.h: Included WKBaseGtk.h in this file.
+ * Shared/API/c/gtk: Added.
+ * Shared/API/c/gtk/WKBaseGtk.h: Added. Declaration of WKViewRef
+ for GTK port.
+ * UIProcess/API/C/WKAPICast.h: Included WKAPICastGtk.h in this
+ file.
+ * UIProcess/API/C/gtk: Added.
+ * UIProcess/API/C/gtk/WKAPICastGtk.h: Added. Type definition
+ template for WKViewRef to WebView and vice-versa.
+ * UIProcess/API/C/gtk/WKView.cpp: Added. Implementation of WKView
+ API interface.
+ (WKViewCreate):
+ (WKViewGetWindow):
+ (WKViewGetPage):
+ (WKURLCreateWithURL):
+ * UIProcess/API/C/gtk/WKView.h: Added. Declaration of WKView API
+ interface.
+
+2011-02-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add WebGraphicsContext stub to the compilation
+ https://bugs.webkit.org/show_bug.cgi?id=54078
+
+ * GNUmakefile.am:
+ * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Added stub just for
+ compilation.
+ (WKGraphicsContextGetGtkContext):
+ * Shared/API/c/gtk/WKGraphicsContextGtk.h: Added stub just for
+ compilation.
+ * Shared/WebGraphicsContext.cpp:
+ (WebKit::WebGraphicsContext::WebGraphicsContext):
+ * Shared/WebGraphicsContext.h:
+ (WebKit::WebGraphicsContext::platformContext):
+
+2011-02-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add geolocation support to the webkit2 compilation
+ https://bugs.webkit.org/show_bug.cgi?id=54077
+
+ Add Geolocation files to the GTK compilation.
+
+ * GNUmakefile.am:
+
+2011-02-09 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2] Don't generate superfluous forwarding header for config.h.
+
+ * Scripts/generate-forwarding-headers.pl:
+
+2011-02-09 Adam Roben <aroben@apple.com>
+
+ Hide the ugly details of WebView::m_window initialization from WebPageProxy, and make it
+ less ugly
+
+ WebView::WebView was initially creating a hidden window, then showing it. It would tell
+ WebPageProxy about the window while it was still hidden, and then have to inform
+ WebPageProxy that the window had become shown. This resulted in WebPageProxy sending
+ unnecessary messages to the web process, and confused code that assumed that the window
+ would be in the same state after WebView's constructor exited as it was when WebPageProxy
+ first found out about the window.
+
+ We now don't hide the window when creating it, which simplifies the code, and only tell
+ WebPageProxy about the window after we're done modifying it, which fixes the bug.
+
+ Fixes <http://webkit.org/b/53878> <rdar://problem/8977306> Assertion failure in
+ DrawingAreaImpl::resumePainting after window.open or when opening Web Inspector
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Changed ::CreateWindowEx to ::CreateWindowExW, to match other
+ Win32 API calls in WebKit2. Pass WS_VISIBLE to ::CreateWindowExW rather than waiting until
+ later to show the window. Added an assertion that m_isVisible matches the window's visible
+ state. Don't even create our WebPageProxy, or tell it about our window, until we're done
+ initializing our window, so that it doesn't get informed about our window's internal state
+ changes that happen beneath ::CreateWindowExW.
+ (WebKit::WebView::onSizeEvent): Null-check m_page since we can receive this message beneath
+ ::CreateWindowExW.
+ (WebKit::WebView::onShowWindowEvent): Ditto. Replaced one FIXME with another. Always set
+ handled to false so that ::DefWindowProcW can do its thing. (MSDN says this is when it
+ actually shows/hides the window, though I couldn't find any consequences of not calling
+ ::DefWindowProcW here.)
+
+2011-02-09 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: follow up on InspectorAgent split -
+ removing unnecessary methods from InspectorController.
+ https://bugs.webkit.org/show_bug.cgi?id=54093
+
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::showConsole):
+ (WebKit::WebInspector::stopJavaScriptProfiling):
+
+2011-02-09 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Avoid WebProcessMain compilation, we are used a gtk specific main
+ https://bugs.webkit.org/show_bug.cgi?id=54015
+
+ Avoided the compilation of the general WebProcessMain, and added
+ soup initialization to WebProcessMainGtk.cpp.
+
+ * GNUmakefile.am:
+ * WebProcess/gtk/WebProcessMainGtk.cpp:
+ (WebKit::WebProcessMainGtk):
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Incorrect assertion in WorkQueueGtk, we need to register
+ more than one handle
+ https://bugs.webkit.org/show_bug.cgi?id=54014
+
+ Fixed assertion condition we need to register more than one
+ handler for the same file descriptor.
+
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::registerEventSourceHandler):
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ Fix typo in the include guards name in ChunkedUpdateDrawingAreaProxy.h
+ https://bugs.webkit.org/show_bug.cgi?id=54013
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Fix after r77874, m_isConnected is initialized before the
+ socket is opened
+ https://bugs.webkit.org/show_bug.cgi?id=54011
+
+ Fixed connection breakage after r77874, we have to wait until open
+ the socket to open the connection.
+
+ * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::open):
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [WK2] LayerTreeContext is used outside the ACCELERATED_COMPOSITING
+ guards but not defined in DrawingAreaProxy.h
+ https://bugs.webkit.org/show_bug.cgi?id=54009
+
+ Removed the guards in the forward declaration, this will fail if
+ the class is finally used in the function, but it works for the
+ moment.
+
+ * UIProcess/DrawingAreaProxy.h:
+
+2011-02-08 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ WebKit2 GTK Fails to Build #include nested too deeply
+ https://bugs.webkit.org/show_bug.cgi?id=52219
+
+ * GNUmakefile.am: Removed the commands to create the directories
+ for the forwarding headers, the script already does it for us.
+ * config.h: Removed the config.h inclusion and added the
+ autotoolsconfig.h directly, also added a condition to share the
+ defines with QT.
+
+2011-02-08 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Crash when going back/forward when back/forward list is in a bad state.
+ https://bugs.webkit.org/show_bug.cgi?id=54059
+ <rdar://problem/8975244>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::goForward): Add a null check.
+ (WebKit::WebPageProxy::goBack): ditto
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Assertion failure !isInAcceleratedCompositingMode() in DrawingAreaProxyImpl::incorporateUpdate()
+ https://bugs.webkit.org/show_bug.cgi?id=54046
+ <rdar://problem/8973960>
+
+ DrawingAreaImpl::setRootCompositingLayer can be called with a new layer even when already
+ in accelerated compositing mode. Similarly, it can be called with a null layer even when not
+ in accelerated compositing mode. Make the drawing area and layer tree host handle both these cases.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ Only call enterAcceleratedCompositingMode if there is no layer tree host, otherwise
+ just call LayerTreeHost::setRootCompositingLayer.
+
+ (WebKit::DrawingAreaImpl::setSize):
+ Add an assert.
+
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ Assert that we don't have a layer tree host.
+
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ Assert that we do have a layer tree host.
+
+ (WebKit::DrawingAreaImpl::display):
+ If the call to display caused the page to enter accelerated compositing mode, we don't
+ want to send back an Update message.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::create):
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Create no longer takes a graphics layer.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::create):
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Create no longer takes a graphics layer.
+
+ (WebKit::LayerTreeHostMac::setRootCompositingLayer):
+ Set the new root compositing layer.
+
+2011-02-08 Adam Roben <aroben@apple.com>
+
+ Implement WorkQueue::scheduleWorkAfterDelay on Windows
+
+ Each WorkQueue now owns its own timer queue. When scheduleWorkAfterDelay is called, we
+ create a timer-queue timer with the given delay. When the timer fires, we schedule the work
+ on the queue and clean up the timer.
+
+ Fixes <http://webkit.org/b/54040> <rdar://problem/8974230> Web process sticks around forever
+ if it's hung when UI process goes away
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/WorkQueue.h: Added timerCallback and m_timerQueue.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::platformInitialize): Initialize m_timerQueue.
+ (WorkQueue::platformInvalidate): Clean up m_timerQueue.
+ (TimerContext::TimerContext): Added this helper object to hold the context needed by the
+ timer callback.
+ (WorkQueue::timerCallback): Added. Schedules the WorkItem on the WorkQueue and cleans up the
+ timer.
+ (WorkQueue::scheduleWorkAfterDelay): Create a timer-queue timer on our timer queue that will
+ fire after the given delay. Pass a new TimerContext object to the timer callback that
+ contains the information it needs.
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename PluginProcess::initializeConnection to PluginProcess::initialize
+ https://bugs.webkit.org/show_bug.cgi?id=54039
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::initialize):
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+ * WebProcess/WebProcess.h:
+
+2011-02-08 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8972913> and https://bugs.webkit.org/show_bug.cgi?id=54036
+ didChangeBackForwardList should include some context about what changed
+
+ Update the implementation of this API to include the new item (if any) and removed items (if any):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didChangeBackForwardList):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeBackForwardList):
+ * UIProcess/WebPageProxy.h:
+
+ Have WebBackForwardList pass the new items and/or removed items when calling the notifier:
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::addItem):
+ (WebKit::WebBackForwardList::goToItem):
+ (WebKit::WebBackForwardList::clear):
+
+2011-02-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Sandbox violations visiting MobileMe.
+ <rdar://problem/8961330>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename PluginProcess::initialize to PluginProcess::initializePluginProcess
+ https://bugs.webkit.org/show_bug.cgi?id=54037
+
+ Rename PluginProcess::initialize to PluginProcess::initializePluginProcess to better
+ match the WebProcess initialization code, in preparation of sharing more code.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::initializePluginProcess):
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/PluginProcess.messages.in:
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+
+2011-02-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WK2: Add ability to pass context to policy delegate methods
+ https://bugs.webkit.org/show_bug.cgi?id=54031
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ (CoreIPC::handleMessageVariadic):
+ * Scripts/webkit2/messages.py:
+ Add ability to pass variadic messages to sync messages.
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ Add WKBundleNavigation type.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::WebPolicyClient::decidePolicyForMIMEType):
+ * UIProcess/WebPolicyClient.h:
+ Update policy client for new data.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp: Added.
+ (WKBundleNavigationActionGetTypeID):
+ (WKBundleNavigationActionGetNavigationType):
+ (WKBundleNavigationActionGetEventModifiers):
+ (WKBundleNavigationActionGetEventMouseButton):
+ (WKBundleNavigationActionCopyHitTestResult):
+ (WKBundleNavigationActionCopyFormElement):
+ * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetPolicyClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp: Added.
+ (WebKit::mouseEventForNavigationAction):
+ (WebKit::mouseButtonForMouseEvent):
+ (WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction):
+ (WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction):
+ (WebKit::InjectedBundleNavigationAction::create):
+ (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
+ * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: Added.
+ (WebKit::InjectedBundleNavigationAction::navigationType):
+ (WebKit::InjectedBundleNavigationAction::modifiers):
+ (WebKit::InjectedBundleNavigationAction::mouseButton):
+ (WebKit::InjectedBundleNavigationAction::hitTestResult):
+ (WebKit::InjectedBundleNavigationAction::formElement):
+ (WebKit::InjectedBundleNavigationAction::type):
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: Added.
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType):
+ * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createWindow):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundlePolicyClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundlePolicyClient):
+ Pipe the policy client through the bundle to allow setting user data.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Crash calling -setFrame:andScrollBy: in windowDidResize
+ https://bugs.webkit.org/show_bug.cgi?id=54030
+ <rdar://problem/8969760>
+
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::create):
+ Assert that size is not zero here; we never want to try to create shared memory with a zero size.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ Always invalidate the entire visible page when resizing.
+
+2011-02-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove orphan code from old parser
+ https://bugs.webkit.org/show_bug.cgi?id=53984
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp
+ * WebProcess/WebCoreSupport/WebChromeClient.h
+
+2011-02-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ UI process crashes if web process crashes while web inspector is focused
+ https://bugs.webkit.org/show_bug.cgi?id=53965
+ <rdar://problem/8961633>
+
+ Make sure to close the web inspector web page proxy before calling platformClose, since
+ platformClose can cause the web page proxy to try to send messages (such as SetActive)
+ to the web process while it's in a bad state.
+
+ The original fix, http://trac.webkit.org/changeset/77866, put the call to m_page->close() in
+ WebInspectorProxy::didClose, which was wrong and lead to crashes. The right place to close the page
+ is in WebInspectorProxy::invalidate.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::invalidate):
+
+2011-02-08 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ ASSERTION FAILURE: ASSERT_NOT_REACHED() in Connection::writeEventHandler() after the Web
+ Process crashes.
+ https://bugs.webkit.org/show_bug.cgi?id=54005
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::writeEventHandler):
+ Handle ERROR_BROKEN_PIPE by calling connectionDidClose() and returning early.
+
+2011-02-08 Adam Roben <aroben@apple.com>
+
+ Handle WM_TIMER messages for stopped timers
+
+ Whenever we stop a timer, we call ::KillTimer to cancel any future firings of the timer. But
+ ::KillTimer doesn't do anything about WM_TIMER messages that have already been posted to the
+ message queue. We need to handle those, too.
+
+ Fixes <http://webkit.org/b/53999> Occasional assertion failures in
+ RunLoop::TimerBase::timerFired
+
+ Reviewed by Darin Adler.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::timerFired): Just bail if the timer has already been stopped.
+
+2011-02-08 Adam Roben <aroben@apple.com>
+
+ Don't mark a Connection as connected until open() is called on Windows
+
+ This matches Mac. Even though the Connection's pipe is connected before open() is called,
+ the Connection itself isn't really connected to the pipe until then, and we won't actually
+ read any data from before that point.
+
+ Fixes <http://webkit.org/b/53998> <rdar://problem/8971207> REGRESSION (r77874): Assertion
+ failure on launch in Connection::setDidCloseOnConnectionWorkQueueCallback on Windows
+
+ Reviewed by Darin Adler.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInitialize): Moved code to set m_isConnected from here to
+ open.
+ (CoreIPC::Connection::platformInvalidate): Unset m_isConnected, to match Mac. (This isn't
+ part of the bug fix, but seemed worthwhile.)
+ (CoreIPC::Connection::open): Set m_isConnected now that we're going to listen on the pipe.
+
+2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77866.
+ http://trac.webkit.org/changeset/77866
+ https://bugs.webkit.org/show_bug.cgi?id=53981
+
+ caused all WebKit2 inspector tests to crash (Requested by
+ othermaciej on #webkit).
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::didClose):
+
+2011-02-07 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add resource load client for injected bundle and move willSendRequest there
+ https://bugs.webkit.org/show_bug.cgi?id=53972
+
+ * GNUmakefile.am:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetPageLoaderClient):
+ (WKBundlePageSetResourceLoadClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: Added.
+ (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
+ (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
+ (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
+ (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
+ (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
+ (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
+ * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
+ (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleResourceLoadClient):
+ * win/WebKit2.vcproj:
+
+2011-02-07 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Add some casts
+ to prevent warnings about mixing signed and unsigned comparisons.
+
+2011-02-07 Qi Zhang <qi.2.zhang@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
+ https://bugs.webkit.org/show_bug.cgi?id=52974
+
+ Add ContextMenuItemTagCopyImageUrlToClipboard into standard action but Qt platform specific.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::contextMenuItemTagCopyImageUrlToClipboard):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2011-02-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixing a build break on Mac caused by http://trac.webkit.org/changeset/77874
+
+ Removed unused static function.
+
+ * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8969888>
+ The WebProcess should set LSFileQuarantineEnabled to true
+
+ * WebProcess/Info.plist:
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Crash in web process after the connection had been closed
+ https://bugs.webkit.org/show_bug.cgi?id=51115
+ <rdar://problem/8964255>
+
+ Remove didCloseOnConnectionWorkQueue from Connection::Client and add
+ Connection::setDidCloseOnConnectionWorkQueueCallback which takes a static
+ function, eliminating the race condition in connectionDidClose where m_client could be
+ nulled out in the client thread right before we try to dereference it.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+ Initialize m_didCloseOnConnectionWorkQueueCallback.
+
+ (CoreIPC::Connection::setDidCloseOnConnectionWorkQueueCallback):
+ Update m_didCloseOnConnectionWorkQueueCallback.
+
+ (CoreIPC::Connection::connectionDidClose):
+ Call m_didCloseOnConnectionWorkQueueCallback.
+
+ * Platform/WorkQueue.h:
+ Make WorkQueue noncopyable.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::initializeConnection):
+ Call setDidCloseOnConnectionWorkQueueCallback.
+
+ * Shared/ChildProcess.cpp:
+ (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
+ * Shared/ChildProcess.h:
+ didCloseOnConnectionWorkQueue is now a static member function.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initialize):
+ Call setDidCloseOnConnectionWorkQueueCallback.
+
+2011-02-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed Adam Roben and Darin Adler.
+
+ WebKit2: drag and drop support on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=52775
+ <rdar://problem/8514409>
+
+ This patch contains the remaining work to support
+ a WebKit window as drag source on Windows.
+ I've added the code to generate the image for dragging a link as
+ well as the steps necessary to package the HBITMAP into a SharedMemory
+ object and send it over to the UI process where DoDragDrop is performed.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setDragImage):
+ (WebKit::WebPageProxy::startDragDrop):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ (WebKit::WebDragClient::startDrag): Made startDrag for
+ platforms other than Windows and Mac.
+ * WebProcess/WebCoreSupport/WebDragClient.h:
+ * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+ (WebKit::WebDragClient::startDrag):
+ * WebProcess/WebCoreSupport/win/WebDragClientWin.cpp: Added.
+ (WebKit::draggingSourceOperationMaskToDragCursors):
+ (WebKit::WebDragClient::startDrag):
+ * WebProcess/WebCoreSupport/win/WebDragSource.cpp: Added.
+ This object implements the IDropSource interface.
+ (WebDragSource::createInstance):
+ (WebDragSource::WebDragSource):
+ (WebDragSource::QueryInterface):
+ (WebDragSource::AddRef):
+ (WebDragSource::Release):
+ (WebDragSource::QueryContinueDrag):
+ (WebDragSource::GiveFeedback):
+ * WebProcess/WebCoreSupport/win/WebDragSource.h: Added.
+ * win/WebKit2.vcproj:
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ UI process crashes if web process crashes while web inspector is focused
+ https://bugs.webkit.org/show_bug.cgi?id=53965
+ <rdar://problem/8961633>
+
+ Make sure to close the web inspector web page proxy before calling platformClose, since
+ platformClose can cause the web page proxy to try to send messages (such as SetActive)
+ to the web process while it's in a bad state.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::didClose):
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Find bouncy is missing content on pages with framesets
+ https://bugs.webkit.org/show_bug.cgi?id=53958
+ <rdar://problem/8904447>
+
+ Fix paint rect computation; FrameView::paint expects the paint rect to be in the
+ parent widget's coordinate system.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator):
+
+2011-02-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8960434> and https://bugs.webkit.org/show_bug.cgi?id=53957
+ Crash after incorrectly restoring bogus session state.
+
+ In some cases we're writing an invalid session state for a back/forward list where the current entry is 0
+ but the number of entries is also 0.
+ In such cases the current entry should be "NoCurrentEntryIndex."
+
+ When we later read this state in, we set ourselves up to crash later.
+
+ Amusingly an ASSERT caught this, but we should've rejected it before the ASSERT fired.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fail the restore if the "current index past the end
+ of the list" case occurs, and speculatively bail out of the case where we have no current index but do have a list.
+ Also remove the unhelpful ASSERT.
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add bundle API to get the background color of a frame
+ <rdar://problem/8962670>
+ https://bugs.webkit.org/show_bug.cgi?id=53952
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetBodyBackgroundColor):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ Add API function.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::getDocumentBackgroundColor):
+ * WebProcess/WebPage/WebFrame.h:
+ Call down into the document to get either the body's, or if there is no body,
+ the root element's, background color.
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Fix typo. vectical -> vertical.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
+
+2011-02-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Inform the UIProcess when main frame scrollbars change
+ <rdar://problem/8967496>
+ https://bugs.webkit.org/show_bug.cgi?id=53941
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageHasHorizontalScrollbar):
+ (WKPageHasVerticalScrollbar):
+ * UIProcess/API/C/WKPage.h:
+ Add API to query whether the main frame has scrollbars.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::processDidCrash):
+ (WebKit::WebPageProxy::didChangeScrollbarsForMainFrame):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::hasHorizontalScrollbar):
+ (WebKit::WebPageProxy::hasVerticalScrollbar):
+ Store/update main frame scrollbar state.
+
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ (WebKit::WebChromeClient::WebChromeClient):
+ Post message when main frame scrollbar state changes.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Some content is not covered by Find-on-page overlay
+ https://bugs.webkit.org/show_bug.cgi?id=53937
+ <rdar://problem/8711353>
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::didInstallPageOverlay):
+ Call LayerTreeHost::didInstallPageOverlay.
+
+ (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
+ Call LayerTreeHost::didUninstallPageOverlay.
+
+ (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
+ Call LayerTreeHost::setPageOverlayNeedsDisplay.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::drawRect):
+ Remove a bogus assertion.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Add new pure virtual member functions.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setNeedsDisplay):
+ Call DrawingArea::setPageOverlayNeedsDisplay.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::installPageOverlay):
+ Make sure to call PageOverlay::setNeedsDisplay after the page overlay has been installed.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Create the page overlay layer if needed.
+
+ (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
+ Invalidate the page overlay layer as well.
+
+ (WebKit::LayerTreeHostMac::sizeDidChange):
+ Resize the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::didInstallPageOverlay):
+ Create the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::didUninstallPageOverlay):
+ Destroy the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::setPageOverlayNeedsDisplay):
+ Call setNeedsDisplay on the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::paintContents):
+ Handle painting the page overlay layer.
+
+ (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+ Flush the page overlay layer changes as well.
+
+ (WebKit::LayerTreeHostMac::createPageOverlayLayer):
+ Create a layer and add it as a sublayer of the root layer.
+
+ (WebKit::LayerTreeHostMac::destroyPageOverlayLayer):
+ Destroy the page overlay layer.
+
+2011-02-06 Adam Roben <aroben@apple.com>
+
+ Make it possible to use DrawingAreaProxyImpl on Windows
+
+ It can be optionally turned on by setting the WEBKIT2_USE_NEW_DRAWING_AREA environment
+ variable. Turning it on by default is covered by <http://webkit.org/b/53805>.
+
+ Fixes <http://webkit.org/b/53879>.
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/BackingStore.h: Add an m_bitmap member on Windows.
+
+ * UIProcess/win/BackingStoreWin.cpp:
+ (WebKit::BitmapDC::operator HDC):
+ (WebKit::BitmapDC::BitmapDC):
+ (WebKit::BitmapDC::~BitmapDC):
+ Added this helper class, which uses RAII to select a bitmap into a new memory DC.
+ (WebKit::BackingStore::paint): Wrap our bitmap in a BitmapDC and use ::BitBlt to copy the
+ specified rect into the destination DC.
+ (WebKit::createBitmap): New helper function, just creates a DIB section with the specified
+ size.
+ (WebKit::BackingStore::incorporateUpdate): Ported from BackingStoreMac.mm. It seems like
+ this code could be shared at some point.
+ (WebKit::BackingStore::scroll): Wrap our bitmap in a BitmapDC and use ::ScrollDC to scroll
+ the specified rect.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::useNewDrawingArea): Added. Returns true if the WEBKIT2_USE_NEW_DRAWING_AREA
+ environment variable is set.
+ (WebKit::drawPageBackground): New helper function. Code came from onPaintEvent.
+ (WebKit::WebView::onPaintEvent): Ported from -[WKView drawRect:].
+ (WebKit::WebView::createDrawingAreaProxy): Create a DrawingAreaProxyImpl if we're using the
+ new drawing area.
+
+ (WebKit::WebView::enterAcceleratedCompositingMode):
+ (WebKit::WebView::exitAcceleratedCompositingMode):
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ Added some assertions to make sure these are only called when expected. We don't expect
+ enter/exitAcceleratedCompositingMode to be called at all right now, because accelerated
+ compositing is turned off in WebKit2 on Windows.
+
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary): Ditto, and added a case for the
+ DrawingAreaInfo::Impl constant.
+
+2011-02-07 Adam Roben <aroben@apple.com>
+
+ Start compiling DrawingArea[Proxy]Impl and dependencies on Windows
+
+ Fixes <http://webkit.org/b/53875> WebKit2 on Windows should build DrawingArea[Proxy]Impl
+
+ Reviewed by Sam Weinig and Darin Adler.
+
+ * Platform/Region.cpp:
+ (WebKit::Region::Shape::shapeOperation): Initialize variable to avoid a bogus "potentially
+ uninitialized variable" warning.
+
+ * UIProcess/BackingStore.cpp: Removed #error for non-Mac platforms.
+
+ * UIProcess/BackingStore.h: Added a PlatformGraphicsContext typedef for Windows.
+
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ Allow Windows to compile the new drawing area code.
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create): Allow creating a DrawingAreaImpl on Windows, too.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage):
+ Allow Windows to compile the new drawing area code.
+
+ * Shared/win/LayerTreeContextWin.cpp: Added.
+ * UIProcess/win/BackingStoreWin.cpp: Added.
+ Stubbed out these files.
+
+ * win/WebKit2.vcproj: Added new files.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Rename some drawing area related member functions
+ https://bugs.webkit.org/show_bug.cgi?id=53935
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::setPageOverlayNeedsDisplay):
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setNeedsDisplay):
+ (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
+ (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
+
+2011-02-07 Adam Roben <aroben@apple.com>
+
+ Use the right calling convention when calling WebKitMain
+
+ Fixes <http://webkit.org/b/53923> REGRESSION (r77678): Crash on quit in web process in
+ wWinMain
+
+ Reviewed by Steve Falkenburg.
+
+ * win/MainWin.cpp:
+ (wWinMain): Use __cdecl instead of WINAPI (__stdcall) when calling WebKitMain, since that is
+ how that function is declared.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ The drawing area should be in charge of drawing the page overlay
+ https://bugs.webkit.org/show_bug.cgi?id=53927
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::didInstallPageOverlay):
+ (WebKit::DrawingArea::didUninstallPageOverlay):
+ (WebKit::DrawingArea::setOverlayNeedsDisplay):
+ Add empty stubs.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::didInstallPageOverlay):
+ Add empty function. This will eventually ask the layer tree host to
+ create a GraphicsLayer for the page overlay.
+
+ (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
+ Tell the page that it needs to be repainted.
+
+ (WebKit::DrawingAreaImpl::setOverlayNeedsDisplay):
+ Just call setNeedsDisplay for now.
+
+ (WebKit::DrawingAreaImpl::display):
+ Paint the page overlay too.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRect):
+ Only call drawPageOverlay if we have an old drawing area.
+
+ (WebKit::WebPage::drawPageOverlay):
+ Draw the page overlay. Code moved here from WebPage::drawRect.
+
+ (WebKit::WebPage::installPageOverlay):
+ Call DrawingArea::installPageOverlay.
+
+ (WebKit::WebPage::uninstallPageOverlay):
+ Call DrawingArea::uninstallPageOverlay.
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::hasPageOverlay):
+ Add getter.
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add WebPage::bounds and use it
+ https://bugs.webkit.org/show_bug.cgi?id=53926
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::resumePainting):
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::resumePainting):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::bounds):
+
+2011-02-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Don't exclude overlay scrollers from the page overlay bounds
+ https://bugs.webkit.org/show_bug.cgi?id=53924
+
+ Don't subtract the scrollbars from the page overlay bounds if
+ overlay scrollers are enabled.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::bounds):
+
+2011-02-07 Adam Roben <aroben@apple.com>
+
+ Windows build fix after r77794
+
+ * win/WebKit2.def: Export WebCore symbols used by WebKitTestRunner.
+
+2011-02-07 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Add WKURLRequestCopyURL API (needed for tests and also generally useful)
+ https://bugs.webkit.org/show_bug.cgi?id=53909
+
+ * Shared/API/c/WKURLRequest.cpp:
+ (WKURLRequestCopyURL):
+ * Shared/API/c/WKURLRequest.h:
+ * Shared/WebURLRequest.h:
+ (WebKit::WebURLRequest::url):
+
+2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed; speculative Qt build fix.
+
+ * WebKit2.pro:
+
+2011-02-06 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ OwnArraryPtr.h uses deleteOwnedPtr but doesn’t include OwnPtrCommon.h
+ https://bugs.webkit.org/show_bug.cgi?id=52867
+
+ * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
+ (WebKit::NetscapePluginModule::getPluginInfo): Calls adoptArrayPtr.
+
+2011-02-06 Benjamin Poulain <ikipou@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] WebKit does not build on Mac with WebKit 2
+ https://bugs.webkit.org/show_bug.cgi?id=53380
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp: Use fcntl() to set close on exec so
+ we do not rely on recent kernel.
+ (CoreIPC::Connection::readyReadHandler):
+ * Platform/qt/SharedMemoryQt.cpp: ditto
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::createHandle):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Guard prctl() since it is
+ a Linux specific function.
+ (WebKit::QtWebProcess::setupChildProcess):
+ * UIProcess/DrawingAreaProxy.h: Differentiate between building on Mac
+ and the Mac port.
+ * UIProcess/DrawingAreaProxyImpl.cpp: ditto
+ * UIProcess/WebPageProxy.cpp: ditto
+ (WebKit::WebPageProxy::didReceiveMessage):
+ * WebProcess/WebPage/DrawingArea.cpp: ditto
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp: ditto
+ * WebProcess/WebPage/WebPage.cpp: ditto
+ (WebKit::WebPage::didReceiveMessage):
+
+2011-02-05 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: New drawing area is causing some WebProcess crashes in layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=53865
+ <rdar://problem/8963148>
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Handle the case
+ where this is called repeatedly without exiting accelerated composting mode
+ first.
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Handle the case
+ of being called more than once.
+
+2011-02-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need a way to resize and scroll the page at the same time
+ https://bugs.webkit.org/show_bug.cgi?id=53814
+ <rdar://problem/8498008>
+
+ Add -[WKView setFrame:andScrollBy:].
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setFrame:andScrollBy:]):
+ Stash away the scroll offset and call setFrame:.
+
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
+ (-[WKView _setDrawingAreaSize:]):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setViewportSize):
+ DrawingAreaProxy::setSize now takes a scroll offset.
+
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::setSize):
+ This now takes a scroll offset and stores it in m_scrollOffset.
+
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::sendSetSize):
+ Send along the scroll offset and set it back to zero.
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::didSetSize):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onSizeEvent):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+ DrawingAreaProxy::setSize now takes a scroll offset.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::setSize):
+ Add a scrollOffset parameter.
+
+ * WebProcess/WebPage/DrawingArea.messages.in:
+ Add a scroll offset parameter to the SetSize message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ Call WebPage::scrollMainFrameIfNotAtMaxScrollPosition.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scrollMainFrameIfNotAtMaxScrollPosition):
+ Compute a scroll offset and call setScrollPosition on the main frame view.
+
+2011-02-04 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKit2: Crash when InjectedBundlePageLoaderClient::willSendRequestForFrame returns a null WKURLRequestRef
+ https://bugs.webkit.org/show_bug.cgi?id=53829
+
+ Store the result of m_client.willSendRequestForFrame in a RefPtr, and null check it before
+ calling resourceRequest() on it.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/mac/WebProcessMac.mm:
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Link opened in background tab fails to paint when activated if it completes loading before tab is selected
+ https://bugs.webkit.org/show_bug.cgi?id=53827
+ <rdar://problem/8962355>
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::resumePainting):
+ Invalidate the entire page.
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix <rdar://problem/8961227> WebKit2 does not work with symlinked home directories.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformSetCacheModel):
+ Don't adopt an autoreleased pointer, this would lead to a crash.
+
+ (WebKit::appendSandboxParameterPath):
+ (WebKit::appendSandboxParameterConfPath):
+ (WebKit::initializeSandbox):
+ Clean up the sandbox parameter code and make sure that realpath is called for all parameters.
+
+2011-02-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Sandbox violations when visiting a site using HTTP authentication
+ <rdar://problem/8951079>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-04 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53823
+ Print layout sometimes seen on screen
+
+ <rdar://problem/8948742> REGRESSION (WebKit2) - When I print a page, I visually see it re-layout
+ <rdar://problem/8899389> REGRESSION(WebKit2): Wrong content can appear when print dialog is up
+
+ * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setAutodisplay): Removed a
+ branch that didn't do anything useful.
+
+ * UIProcess/API/mac/WKPrintingView.h:
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _suspendAutodisplay]):
+ (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
+ (-[WKPrintingView _delayedResumeAutodisplay]):
+ (-[WKPrintingView knowsPageRange:]):
+ (-[WKPrintingView beginDocument]):
+ (-[WKPrintingView endDocument]):
+ When page setup changes, or when going from print preview to actual printing, AppKit calls
+ -endDocument just to begin it again. Delay resuming autodisplay until the next run loop
+ iteration.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::invalidateContentsAndWindow):
+ (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
+ Tightened it up from other side - we should never send pixels to UI process while in
+ printing mode. This is not 100% reliable, because relayout doesn't happen immediately,
+ and we can still have print layout in screen mode - but it helps.
+
+2011-02-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Fix for <rdar://problem/8961580>.
+ Work around for <rdar://problem/8957845>.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2 doesn't hide mouse pointer on keypress
+ https://bugs.webkit.org/show_bug.cgi?id=53821
+ rdar://problem/8630895
+
+ * UIProcess/PageClient.h: Renamed didNotHandleKeyEvent to
+ doneWithKeyEvent and added a bool wasEventHandled argument.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Changed code to call
+ doneWithKeyEvent and call even if event was handled.
+
+ * UIProcess/API/mac/PageClientImpl.h: Updated for above change.
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::doneWithKeyEvent): Ditto. But also
+ call [NSCursor setHiddenUntilMouseMoves:YES] when a key down
+ event was handled. This matches what -[WebHTMLView keyDown:] does.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::doneWithKeyEvent): Ditto.
+ * UIProcess/API/qt/qwkpage_p.h: Ditto.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::doneWithKeyEvent): Ditto.
+ * UIProcess/win/WebView.h: Ditto.
+
+2011-02-04 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 clients fail to launch on Windows if client exe is in a different directory from WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=53810
+ <rdar://problem/8946085>
+
+ If WebKit2WebProcess.exe is in a different directory from the client process, and that
+ client process uses CreateProcess to launch WebKit2WebProcess, the DLL search path may
+ end up excluding the directory containing WebKit. To address this, we use SetDllDirectory
+ to explicitly include the WebKit directory in the DLL search path.
+
+ * win/MainWin.cpp:
+ (wWinMain): Use SetDllDirectory and LoadLibrary to load WebKit.dll from WebKit2WebProcess.exe
+ * win/WebKit2WebProcessCommon.vsprops: Don't link directly to WebKit. Link against shlwapi.
+
+2011-02-04 Adam Roben <aroben@apple.com>
+
+ Allow passing a null filter callback to WKPageCopySessionState
+
+ WebKit2 part of <http://webkit.org/b/53616> <rdar://problem/8949883>.
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Check if the filter is null
+ before calling it.
+
+2011-02-04 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2: DidInitiateLoadForResource needs to know if the resource is being loaded by a committed or provisional frame
+ https://bugs.webkit.org/show_bug.cgi?id=53794
+
+ When we navigate from one page to another, there can be multiple subresource requests between when
+ the new page has started its provisional load and when it has committed the load.
+
+ There can be:
+
+ - The main resource load of the provisional page
+ - Synchronous XHR from the unload event of the loaded page.
+
+ WebKit clients need to be able to differentiate between these loads.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didInitiateLoadForResource): Pass whether or not the page is provisionally loading
+ to the client.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Add a new parameter to DidInitiateLoadForResource.
+ * UIProcess/WebResourceLoadClient.cpp:
+ (WebKit::WebResourceLoadClient::didInitiateLoadForResource): a new parameter to didInitiateLoadForResource.
+ * UIProcess/WebResourceLoadClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest): Pass whether or not the page is currently
+ in a provisional load (checked by seeing if the DocumentLoader matches the FrameLoader's provisionalDocumentLoader)
+ to the UI Process.
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Mac WebKit2 should use the new drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=53802
+ <rdar://problem/7881419>
+ <rdar://problem/7881447>
+ <rdar://problem/8252632>
+ <rdar://problem/8479422>
+ <rdar://problem/8633813>
+ <rdar://problem/8734512>
+ <rdar://problem/8787660>
+
+ * UIProcess/API/mac/WKView.mm:
+ (useNewDrawingArea):
+ Return true. Eventually this function should be removed, but let's keep it for now so
+ we can go back to the old drawing area if necessary.
+
+2011-02-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Crash in WebPageProxy::setPendingAPIRequestURL after web process crashed
+ https://bugs.webkit.org/show_bug.cgi?id=53799
+ <rdar://problem/8943956>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::reload):
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix a shared memory leak
+ https://bugs.webkit.org/show_bug.cgi?id=53800
+
+ Move the send right representing the shared memory.
+
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::Handle::encode):
+
+2011-02-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8636239> and https://bugs.webkit.org/show_bug.cgi?id=53785
+ WebKit2: Pages with dynamically inserted iframes can add extraneous back/forward items.
+
+ WebCore doesn't gracefully handle the case where the decidePolicyForNavigationAction callback
+ does not occur synchronously. Let's make it synchronous.
+
+ Change WebPageProxy to handle this message reply synchronously:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Make the navigation policy action message be synchronous.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction): Add a 6-argument varient
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the message synchronously.
+
+2011-02-04 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Correct prebuild build-stopping rule to allow project only rebuilds.
+
+ * win/WebKit2WebProcessPreBuild.cmd:
+
+2011-02-04 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Assertion failure in WebInspectorProxy::platformClose closing main window when inspecting a popup
+ window, or when running regression tests.
+ https://bugs.webkit.org/show_bug.cgi?id=53798
+ <rdar://problem/8814364>
+
+ Only assert about the state of m_inspectorWindow and m_inspectorView if the inspector is visible.
+ Also, only call ::DestroyWindow if the HWND is non-null, just to be safe.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformClose):
+
+2011-02-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Go out of accelerated compositing mode when the drawing area is destroyed
+ https://bugs.webkit.org/show_bug.cgi?id=53788
+
+ This fixes a crash in the UI process if a web process crashes while in accelerated compositing mode.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
+
+2011-02-03 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: remove settings related methods from InspectorClient
+ https://bugs.webkit.org/show_bug.cgi?id=53686
+
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
+
+2011-02-03 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Need WebKit2 equivalent of WebResourceLoadDelegate::willSendRequest in the Bundle
+ https://bugs.webkit.org/show_bug.cgi?id=52897
+ <rdar://problem/8898294>
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::willSendRequestForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
+
+2011-02-03 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Make WebProcess pass explicit homedir parameter to the sandbox
+ <rdar://problem/8405760>
+ <https://webkit.org/b/53558>
+
+ * WebProcess/com.apple.WebProcess.sb:
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+
+2011-02-03 James Kozianski <koz@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add navigator.registerProtocolHandler behind a flag.
+ https://bugs.webkit.org/show_bug.cgi?id=52609
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-02-03 Adam Langley <agl@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Plumb mixed script URL to FrameLoaderClient
+ https://bugs.webkit.org/show_bug.cgi?id=52384
+
+ Regressions covered by http/tests/security/mixedContent/*
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::didRunInsecureContent):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2011-02-03 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Download bundles should be moved to their final destination when they
+ finish.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53668
+
+ Reviewed by Adam Roben.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::Download):
+ Initialize m_allowOverwrite.
+ (WebKit::Download::retrieveDestinationWithSuggestedFilename):
+ Return the result of requesting the destination filename from the UI
+ process.
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Call retrieveDestinationWithSuggestedFilename().
+ (WebKit::Download::didFinish):
+ Call platformDidFinish().
+
+ * WebProcess/Downloads/Download.h:
+ Declare retrieveDestinationWithSuggestedFilename() and
+ platformDidFinish(). Add a member variable to store whether the UI
+ process would like us to overwrite existing files.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::willResumeWithResponseCallback):
+ Remove some trailing whitespace.
+
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ (WebKit::Download::platformDidFinish):
+ Stubbed.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::platformDidFinish):
+ Stubbed.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::platformDidFinish):
+ Stubbed.
+
+ * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp:
+ (WebKit::Download::didDecideDestination):
+ Store whether the UI process would like us to overwrite existing files.
+ (WebKit::Download::platformDidFinish):
+ Try to move the bundle to the final destination. If that fails, ask the
+ UI process for a new destination. If we receive one, try again to move
+ the bundle. Call didCreateDestination() to report the updated path of
+ file whether it's the bundle that we failed to move, or the new final
+ destination.
+
+ This is similar to what is done by WebKit 1's CFNetwork port.
+
+ * win/WebKit2.vcproj:
+ Add DownloadWin.cpp.
+
+2011-02-01 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Small clean-up in DownloadCFNet.cpp.
+
+ Rubber-stamped by Mark Rowe.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::didDecideDestination):
+ Moved out of the section labeled "CFURLDownload callbacks" and up near
+ the other member functions.
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Paint non-composited contents in a layer
+ https://bugs.webkit.org/show_bug.cgi?id=53742
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setNeedsDisplay):
+ Call LayerTreeHost::setNonCompositedContentsNeedDisplayInRect.
+
+ (WebKit::DrawingAreaImpl::scroll):
+ Call LayerTreeHost::scrollNonCompositedContents.
+
+ (WebKit::DrawingAreaImpl::setSize):
+ Call LayerTreeHost::sizeDidChange.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Add new pure virtual member functions.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Create the non-composited content layer.
+
+ (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
+ Call setNeedsDisplay on the GraphicsLayer.
+
+ (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
+ Just call setNonCompositedContentsNeedDisplayInRect.
+
+ (WebKit::LayerTreeHostMac::sizeDidChange):
+ Resize the layers and flush any changes.
+
+ (WebKit::LayerTreeHostMac::paintContents):
+ Call WebPage::drawRect.
+
+ (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
+ Lay out the web page.
+
+ (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+ Call syncCompositingStateForThisLayerOnly on the non-composited content layer.
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ When in accelerated compositing mode, wait for DidSetSize messages
+ https://bugs.webkit.org/show_bug.cgi?id=53736
+
+ Normally we wait for DidSetSize messages from ::paint, but that's never called in
+ accelerated compositing mode so we just do it right after sending the SetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Call waitForAndDispatchDidSetSize.
+
+ (WebKit::DrawingAreaProxyImpl::sendSetSize):
+ Call waitForAndDispatchDidSetSize when in accelerated compositing mode.
+
+ (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize):
+ New utility function which waits for and dispatches a DidSetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Pass along an UpdateInfo object to the ExitAcceleratedCompositingMode message
+ https://bugs.webkit.org/show_bug.cgi?id=53734
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
+ Add an UpdateInfo parameter.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add an UpdateInfo parameter to the ExitAcceleratedCompositingMode message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ Incorporate the passed in update.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ Create a new UpdateInfo object, paint into it and pass it along as a parameter
+ to the ExitAcceleratedCompositingMode message.
+
+2011-02-03 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8944544> Ability to animate track
+ for WKPainter scrollers
+
+ * WebCoreSupport/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change DidSetSize to take a LayerTreeContext parameter
+ https://bugs.webkit.org/show_bug.cgi?id=53724
+
+ Since SetSize can cause layout to happen, we need to pass along a layer tree context to
+ the DidSetSize message so the UI process can enter/exit accelerated compositing mode appropriately.
+
+ * Shared/LayerTreeContext.h:
+ * Shared/mac/LayerTreeContextMac.mm:
+ Add equality operators to LayerTreeContext.
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::didSetSize):
+ This now takes a LayerTreeContext parameter.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add LayerTreeContext parameter.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ Get rid of m_isInAcceleratedCompositingMode and use the current layer context instead.
+
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Bail if the call to DidSetSize ended up entering accelerated compositing mode.
+
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ If the new layer tree context is different, enter/exit accelerated compositing mode accordingly.
+
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ Update the layer tree context.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode):
+ Add simple getter.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ Pass along the layer tree context.
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Get rid of LayerTreeContext::seed on Mac.
+ Add sequence checks to enterAcceleratedCompositingMode and exitAcceleratedCompositingMode and
+ have them call newly added overloads that don't have the checks.
+
+ * Shared/LayerTreeContext.h:
+ * Shared/mac/LayerTreeContextMac.mm:
+ (WebKit::LayerTreeContext::LayerTreeContext):
+ (WebKit::LayerTreeContext::encode):
+ (WebKit::LayerTreeContext::decode):
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ * UIProcess/DrawingAreaProxyImpl.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Get rid of timestamps in UpdateInfo
+ https://bugs.webkit.org/show_bug.cgi?id=53713
+
+ Add a 64-bit sequence number to all DrawingAreaProxy messages, and use it to
+ check whether Update messages should be handled or not.
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h:
+ (WebKit::UpdateInfo::UpdateInfo):
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::BackingStore):
+ (WebKit::BackingStore::incorporateUpdate):
+ * UIProcess/BackingStore.h:
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::update):
+ (WebKit::DrawingAreaProxy::didSetSize):
+ (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
+ * UIProcess/DrawingAreaProxy.messages.in:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ (WebKit::DrawingAreaProxyImpl::update):
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ * UIProcess/DrawingAreaProxyImpl.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::generateSequenceNumber):
+ (WebKit::DrawingAreaImpl::setSize):
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::display):
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Don't send enter/exit accelerated compositing mode messages when handling setSize
+ https://bugs.webkit.org/show_bug.cgi?id=53706
+
+ Don't send EnterAcceleratedCompositingMode/ExitAcceleratedCompositing mode when
+ the mode changes happen as a result of relayout in setSize, since an updated state
+ is going to be sent back in the DidSetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Add an assert.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ Initialize m_inSetSize.
+
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ Factor out code into enterAcceleratedCompositingMode and exitAcceleratedCompositingMode.
+
+ (WebKit::DrawingAreaImpl::setSize):
+ Set m_inSetSize to true while handling setSize.
+
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
+ Take over the message sending responsibility from LayerTreeHostMac, and don't send messages
+ if we're currently handling a SetSize message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Add m_inSetSize.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ Add layerTreeHost getter.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Don't send EnterAcceleratedCompositingMode messages.
+
+ (WebKit::LayerTreeHostMac::layerTreeContext):
+ Add getter for the current layer tree context.
+
+ (WebKit::LayerTreeHostMac::invalidate):
+ Don't send ExitAcceleratedCompositingMode messages.
+
+2011-02-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make the layer tree host keep track of the layer tree context
+ https://bugs.webkit.org/show_bug.cgi?id=53698
+
+ Add a LayerTreeContext member variable to the LayerTreeHost object,
+ and also add a seed count to the LayerTreeContext so we can keep track of
+ how layer tree contexts relate to each other.
+
+ * Shared/LayerTreeContext.h:
+ * Shared/mac/LayerTreeContextMac.mm:
+ (WebKit::LayerTreeContext::LayerTreeContext):
+ (WebKit::LayerTreeContext::makeWithSeed):
+ (WebKit::LayerTreeContext::encode):
+ (WebKit::LayerTreeContext::decode):
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ Add the layer tree context as a member variable.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Initialize the layer tree context.
+
+2011-02-03 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add notification of the end of a rubber band.
+ <rdar://problem/8940648>
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::drawHeader):
+ (WebKit::WebPageProxy::drawFooter):
+ (WebKit::WebPageProxy::didCompleteRubberBandForMainFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::didCompleteRubberBandForMainFrame):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::didCompleteRubberBandForMainFrame):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ Pipe the notification up to the WKUIClient.
+
+2011-02-03 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r77449.
+ http://trac.webkit.org/changeset/77449
+ https://bugs.webkit.org/show_bug.cgi?id=53663
+
+ causes many WebKit2 tests to crash (Requested by othermaciej
+ on #webkit).
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toCopiedAPI):
+ (WebKit::toURLRef):
+ (WebKit::toCopiedURLAPI):
+ * Shared/WebString.h:
+ (WebKit::WebString::isNull):
+ (WebKit::WebString::WebString):
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Fix license block issues pointed out by Daniel Bates.
+
+ * Shared/API/c/WKGraphicsContext.cpp:
+ * Shared/API/c/WKGraphicsContext.h:
+ * Shared/API/c/cg/WKGraphicsContextCG.cpp:
+ * Shared/API/c/cg/WKGraphicsContextCG.h:
+ * Shared/WebGraphicsContext.cpp:
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add WKBundleFrameGetVisibleContentBoundsExcludingScrollbars API for WebKit2.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetContentBounds):
+ (WKBundleFrameGetVisibleContentBounds):
+ (WKBundleFrameGetVisibleContentBoundsExcludingScrollbars):
+ (WKBundleFrameGetScrollOffset):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::contentBounds):
+ (WebKit::WebFrame::visibleContentBounds):
+ (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
+ (WebKit::WebFrame::scrollOffset):
+ * WebProcess/WebPage/WebFrame.h:
+ Move implementation of frame geometry to the implementation file
+ instead of keeping it in the API file.
+
+2011-02-02 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53361
+ <rdar://problem/8921729> REGRESSION: Membuster accumulates 1GB+ memory due to autorelease
+ pools not being drained.
+ Call into AppKit to add observers that push and pop autorelease pools on entry
+ and exit from the CFRunLoop. This will prevent memory from accumulating.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2011-02-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make null WTF::String objects turn into 0 pointers for WKStringRef and WKURLRef.
+ rdar://problem/8948688
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI): Return 0 if the passed in string is 0.
+ (WebKit::toCopiedAPI): Ditto.
+ (WebKit::toURLRef): Ditto. Old code was trying to do this but was missing a return.
+ (WebKit::toCopiedURLAPI): Ditto. Old code was trying to do this but had incorrect
+ nll check.
+
+ * Shared/WebString.h: Removed isNull function. It can never return true.
+ Removed constructor code that turns the null string into the empty string.
+ Instead assert that the passed in string is not null.
+
+2011-02-02 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer().
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Add some missing initializers.
+
+2011-02-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Add ChromeClient function to paint custom overhang areas.
+ https://bugs.webkit.org/show_bug.cgi?id=53639
+
+ * Shared/API/c/WKBase.h:
+ * Shared/API/c/WKGraphicsContext.cpp: Added.
+ (WKGraphicsContextGetTypeID):
+ * Shared/API/c/WKGraphicsContext.h: Added.
+ * Shared/API/c/WKSharedAPICast.h:
+ * Shared/API/c/cg/WKGraphicsContextCG.cpp: Added.
+ (WKGraphicsContextGetCGContext):
+ * Shared/API/c/cg/WKGraphicsContextCG.h: Added.
+ * Shared/APIObject.h:
+ * Shared/WebGraphicsContext.cpp: Added.
+ (WebKit::WebGraphicsContext::WebGraphicsContext):
+ * Shared/WebGraphicsContext.h: Added.
+ (WebKit::WebGraphicsContext::create):
+ (WebKit::WebGraphicsContext::platformContext):
+ (WebKit::WebGraphicsContext::type):
+ Add WebGraphicsContext API type.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::pageDidScroll):
+ (WebKit::InjectedBundlePageUIClient::shouldPaintCustomOverhangArea):
+ (WebKit::InjectedBundlePageUIClient::paintCustomOverhangArea):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::paintCustomOverhangArea):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ Pipe paintCustomOverhangArea to the InjectedBundlePageUIClient.
+
+ * UIProcess/API/C/WebKit2.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2011-02-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Work towards making the layer tree host be in charge of all painting
+ https://bugs.webkit.org/show_bug.cgi?id=53636
+
+ Make sure that DrawingAreaImpl::display is never called when in accelerated compositing mode,
+ since the layer tree host is supposed to handle all drawing in that case.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll):
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ (WebKit::DrawingAreaImpl::setSize):
+ (WebKit::DrawingAreaImpl::didUpdate):
+
+2011-02-02 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::computeFakeWindowBoundsRect):
+
+2011-02-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make sure that we don't try to call display() when in accelerated compositing mode
+ https://bugs.webkit.org/show_bug.cgi?id=53629
+
+ When in accelerated compositing mode, the layer tree host should handle all painting, so make sure that display() is never called.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setNeedsDisplay):
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ (WebKit::DrawingAreaImpl::display):
+
+2011-02-02 Adam Roben <aroben@apple.com>
+
+ Assert WebBackForwardList's current index is valid to help catch errors
+
+ Hopefully this will help catch a crash I saw once but haven't yet been able to reproduce.
+
+ Fixes <http://webkit.org/b/53622>.
+
+ Reviewed by Brady Eidson.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::WebBackForwardList):
+ (WebKit::WebBackForwardList::addItem):
+ (WebKit::WebBackForwardList::goToItem):
+ (WebKit::WebBackForwardList::currentItem):
+ (WebKit::WebBackForwardList::backItem):
+ (WebKit::WebBackForwardList::forwardItem):
+ (WebKit::WebBackForwardList::itemAtIndex):
+ (WebKit::WebBackForwardList::backListCount):
+ (WebKit::WebBackForwardList::forwardListCount):
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::clear):
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
+ Assert that m_current is valid.
+
+ * UIProcess/WebBackForwardList.h: Moved the NoCurrentItemIndex to a static data member so
+ that it can be used from WebBackForwardListCF.cpp.
+
+2011-02-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ The drawing area proxy should keep track of the accelerated compositing state
+ https://bugs.webkit.org/show_bug.cgi?id=53624
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ Initialize m_isInAcceleratedCompositingMode to false.
+
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Don't try to paint if we're in accelerated compositing mode.
+
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Bail if we're in accelerated compositing mode.
+
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ Set m_isInAcceleratedCompositingMode to true, null out the backing store.
+
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ Set m_isInAcceleratedCompositingMode back to false.
+
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Assert that we're not in accelerated compositing mode.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+
+2011-02-02 Timothy Hatcher <timothy@apple.com>
+
+ Give the Web Process access to the Safari RSS preferences.
+
+ <rdar://problem/8916870> Sandbox violation related to RSS during initial
+ page load with WebKit2 (prevents RSS from working)
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-02-02 Steve Lacey <sjl@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Implement basic media statistics on media elements.
+ https://bugs.webkit.org/show_bug.cgi?id=53322
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-02-01 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53561
+ <rdar://problem/8900228> Stepping through print previews in WebKit2 mode steps in and out of
+ printing mode a lot
+
+ Disable NSView autodisplay, so that -[WKView drawRect:] isn't called (other than when
+ resizing the window), so that we don't have to switch modes all the time.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setAutodisplay):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setAutodisplay):
+ * UIProcess/WebPageProxy.h:
+ Pipe the call from WKPrintingView down to WKView.
+
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView beginDocument]): Added. We don't want to autodisplay WKView while printing,
+ because layout is changed to print at the time, and drawing to screen requires relayout.
+
+ (-[WKPrintingView endDocument]): When not printing, turn autodisplay back on. Also, call
+ -[super endDocument] for unknown but definitive good (oops!).
+
+2011-02-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Conversion of right()/bottom() to maxX()/maxY() as part of the removal of those accessors.
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::prepareCandidateWindow):
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+
+2011-02-01 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Overflow in WebKit2 argument decoder buffer checking
+ https://bugs.webkit.org/show_bug.cgi?id=53536
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::roundUpToAlignment): Tweak code a bit for clarity and to replace
+ C casts with C++ casts.
+ (CoreIPC::ArgumentDecoder::alignBufferPosition): Rearrange buffer calculation
+ so we don't do any math with the passed-in size, because that could overflow.
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): Ditto.
+
+2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed.
+
+ Fix Qt build after r77339.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::enterAcceleratedCompositingMode):
+ (QWKPagePrivate::exitAcceleratedCompositingMode):
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Attach the layer tree in the UI process
+ https://bugs.webkit.org/show_bug.cgi?id=53560
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _enterAcceleratedCompositingMode:]):
+ Make a render layer and add it as a sublayer of our root layer.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ Make LayerTreeHostMac a GraphicsLayerClient.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ Create a root layer, add the layer subtree as a child of the root layer.
+
+ (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
+ Assert that m_rootLayer is null.
+
+ (WebKit::LayerTreeHostMac::invalidate):
+ Null out m_rootLayer.
+
+ (WebKit::LayerTreeHostMac::notifyAnimationStarted):
+ (WebKit::LayerTreeHostMac::notifySyncRequired):
+ (WebKit::LayerTreeHostMac::paintContents):
+ Add stubs.
+
+ (WebKit::LayerTreeHostMac::showDebugBorders):
+ (WebKit::LayerTreeHostMac::showRepaintCounter):
+ Return the correct settings.
+
+ (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+ Flush the root layer changes.
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::enterAcceleratedCompositingMode):
+ (WebKit::WebView::exitAcceleratedCompositingMode):
+ * UIProcess/win/WebView.h:
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a layer backed NSView for accelerated content
+ https://bugs.webkit.org/show_bug.cgi?id=53555
+
+ Rename the current _layerHostingView to _oldLayerHostingView and
+ add a new _layerHostingView to be used with the new drawing area.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView hitTest:]):
+ (-[WKView _startAcceleratedCompositing:]):
+ (-[WKView _stopAcceleratedCompositing]):
+ (-[WKView _enterAcceleratedCompositingMode:]):
+ (-[WKView _exitAcceleratedCompositingMode]):
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Pass enter/exit accelerated compositing mode to the WKView
+ https://bugs.webkit.org/show_bug.cgi?id=53552
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
+ (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _enterAcceleratedCompositingMode:]):
+ (-[WKView _exitAcceleratedCompositingMode]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
+ (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
+ * UIProcess/WebPageProxy.h:
+
+2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed Qt buildfix after r77286.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+ Remove the physical terminology from IntRect and FloatRect.
+
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Send messages when entering/exiting accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=53534
+
+ * Shared/LayerTreeContext.h: Added.
+ * Shared/mac/LayerTreeContextMac.mm: Added.
+ Add new LayerTreeContext which holds all information needed to enter
+ accelerated compositing mode.
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxy::exitAcceleratedCompositingMode):
+ Add empty stubs.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add new messgaes.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add empty stubs.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ (WebKit::LayerTreeHostMac::invalidate):
+ Send messages.
+
+2011-02-01 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein and Darin Adler.
+
+ <rdar://problem/8830594> Printed page is sometimes shifted down, making footer invisible
+
+ * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView locationOfPrintRect:]): Instead of
+ letting AppKit compute content position on page, make the view provide it. We can do this
+ because WK(Printing)Views are always printed on their own, not as part of other views.
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make LayerTreeHost ref counted
+ https://bugs.webkit.org/show_bug.cgi?id=53530
+
+ LayerTreeHostMac will soon be able to trigger layout, which could cause
+ the page to leave accelerated compositing mode and free the LayerTreeHostMac object.
+
+ Making LayerTreeHost ref counted will let LayerTreeHostMac protect itself while triggering layout.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::create):
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::create):
+ (WebKit::LayerTreeHostMac::LayerTreeHostMac):
+ (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
+ (WebKit::LayerTreeHostMac::invalidate):
+
+2011-02-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Part 2 for <rdar://problem/8492788>
+ Adopt WKScrollbarPainterController
+
+ Use header detection to define scrollbar painting controller #define.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-02-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53520
+
+ Remove the physical terminology from IntRect and FloatRect.
+
+ Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
+ we need to update our terminology to be more accurate.
+
+ I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
+ renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
+ even for flipped rectangles.
+
+ * Platform/Region.cpp:
+ (WebKit::Region::Shape::Shape):
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (pageDidComputePageRects):
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::invalidate):
+ (WebKit::TiledDrawingAreaProxy::paint):
+ (WebKit::TiledDrawingAreaProxy::createTiles):
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::callSetWindow):
+
+2011-02-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move flushPendingLayerChanges to LayerTreeHostMac
+ https://bugs.webkit.org/show_bug.cgi?id=53525
+
+ In preparation for adding more Mac specific code to flushPendingLayerChanges.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::flushPendingLayerChanges):
+
+2011-02-01 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
+
+ Implement NSView's viewWillStartLiveResize and
+ viewDidEndLiveResize and propagate the messages down
+ to WebCore.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewWillStartLiveResize]):
+ (-[WKView viewDidEndLiveResize]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::viewWillStartLiveResize):
+ (WebKit::WebPageProxy::viewWillEndLiveResize):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::viewWillStartLiveResize):
+ (WebKit::WebPage::viewWillEndLiveResize):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+ A bunch of new WebKitSystemInterface functions.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-02-01 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
+ with vertical text.
+
+ Change printing functions to check writing-mode and properly swap width and height
+ as needed.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::computePagesForPrinting):
+
+2011-01-31 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53466
+ Move WebKit2 to printing via API methods
+
+ Also fixes <rdar://problem/8933724> REGRESSION: Wrong pages are printed when not printing from page 1
+
+ Also fixes horizontal tiling (no bug filed).
+
+ The main idea here is that we don't force AppKit to use a different scaling factor when
+ a Web view can't be resized to exact page size, and scale when drawing instead.
+
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _firstPrintedPageNumber]): Factored out into a separate method.
+ (-[WKPrintingView _lastPrintedPageNumber]): Ditto.
+ (pageDidDrawToPDF): Avoid crashing if data is null.
+ (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Use -_firstPrintedPageNumber
+ and -_lastPrintedPageNumber.
+ (pageDidComputePageRects): Set frame size to what it would have been for a normal NSView
+ that's been asked to resize.
+ (-[WKPrintingView _pageForRect:]): Check x(), because several pages can be at the same y()
+ when tiling horizontally.
+ (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Point to draw at and frame size are
+ now using different units, translate as appropriate.
+ (-[WKPrintingView _drawPreview:]): Scale the rect to WebCore units.
+ (-[WKPrintingView drawRect:]): Correctly calculate page number when the first page to print
+ isn't page 1.
+ (-[WKPrintingView rectForPage:]): Scale the rect to AppKit units.
+
+2011-01-31 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ WKView should support scrollPageDown:, scrollPageUp:, scrollToBeg and other similar selectors
+ https://bugs.webkit.org/show_bug.cgi?id=53460
+
+ * UIProcess/API/mac/WKView.mm: Added WEBCORE_COMMAND macro for lots of editor commands that
+ are implemented in WebCore so they will get forwarded. Many of these will probably work without
+ any further changes required. Added comments about the methods that we do not yet forward.
+ (createSelectorExceptionMap): Map scrollPageDown: to ScrollPageForward and
+ scrollPageUp: to ScrollPageBackward because we want the page up and page down
+ keys to follow the document logical order, not physical order. This is equivalent
+ to what we do in WebPage::performDefaultBehaviorForKeyEvent.
+
+2011-01-31 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Steve Falkenburg.
+
+ WebKit2: the cookies used by the WebKit2 Web Process should not go in a top-level
+ directory.
+ https://bugs.webkit.org/show_bug.cgi?id=53278
+
+ Use the name WebKit2WebProcess since the default location for the cookies is determined
+ based on the process name (which is WebKit2WebProcess.exe on Windows).
+
+ * win/WebKit2.make:
+ Copy the WebKit2WebProcess.resources directory into the AppleInternal bin.
+
+ * win/WebKit2WebProcess.resources: Added.
+ * win/WebKit2WebProcess.resources/Info.plist: Added.
+ Copied from the WebKit version of Info.plist.
+
+ * win/WebKit2WebProcessPostBuild.cmd:
+ Copy the WebKit2WebProcess.resources directory into the WebKitOutPutDir's bin.
+
+2011-01-31 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make LayerTreeHost an abstract base class and make LayerTreeHostMac inherit from it
+ https://bugs.webkit.org/show_bug.cgi?id=53432
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add LayerTreeHostMac.h.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Make m_layerTreeHost an OwnPtr and initialize/destroy it appropriately.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::create):
+ On Mac, create a LayerTreeHostMac instance.
+
+ (WebKit::LayerTreeHost::~LayerTreeHost):
+ No need to call platformInvalidate anymore.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ * WebProcess/WebPage/mac/LayerTreeHostMac.h: Added.
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
+ (WebKit::LayerTreeHostMac::~LayerTreeHostMac):
+ Invalidate the run loop observer here instead of in platformInvalidate.
+
+ (WebKit::LayerTreeHostMac::scheduleLayerFlush):
+ (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
+ These are now members of LayerTreeHostMac.
+
+2011-01-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ [Take 2!]
+ Fixed crash on window close (maybe crash on launch?) due to missing frame null checks
+ https://bugs.webkit.org/show_bug.cgi?id=53408
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle): Use MESSAGE_CHECK because
+ we don't think we should be able to reach this state under normal conditions.
+
+2011-01-30 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fixed crash on window close (maybe crash on launch?) due to missing
+ frame null checks
+ https://bugs.webkit.org/show_bug.cgi?id=53408
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle): Check for NULL, since we're
+ calling a function that can return it.
+
+2011-01-30 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2]REGRESSION (r76991): Fix build errors
+ https://bugs.webkit.org/show_bug.cgi?id=53400
+
+ Revert the temporary build fix (http://trac.webkit.org/changeset/77088)
+ and remove WebKit2Prefix.h from the build.
+ * UIProcess/API/qt/qwkhistory.h:
+ * UIProcess/API/qt/qwkpage.h:
+ * WebKit2.pro:
+
+2011-01-30 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ FindController::updateFindIndicator() crashes if selection isn't visible
+ https://bugs.webkit.org/show_bug.cgi?id=53399
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator): Return false if ShareableBitmap::createShareable() returns null (typically because the selection rect is empty).
+
+2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed.
+
+ [Qt][WK2] Buildfix.
+
+ * UIProcess/API/qt/qwkhistory.h:
+ * UIProcess/API/qt/qwkpage.h:
+
+2011-01-29 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ Add WKPageCopyPendingAPIRequestURL API
+ https://bugs.webkit.org/show_bug.cgi?id=53383
+
+ This API returns the last URL requested for load via API, if neither that load nor any
+ other load subsequently reaches the provisional state.
+
+ This is useful to be able to track loads initiated via the API
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopyPendingAPIRequestURL): Retrieve the pending URL.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadURL): Set pending URL.
+ (WebKit::WebPageProxy::loadURLRequest): ditto
+ (WebKit::WebPageProxy::reload): ditto
+ (WebKit::WebPageProxy::goForward): ditto
+ (WebKit::WebPageProxy::goBack): ditto
+ (WebKit::WebPageProxy::estimatedProgress): Assume the initial
+ progress value when there is a pending URL.
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Clear
+ pending URL; clients should look at the provisional URL now.
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction): Clear
+ pending URL if it doesn't match the policy URL; this means we
+ were interrupted by another load.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::pendingAPIRequestURL): Helper function.
+ (WebKit::WebPageProxy::clearPendingAPIRequestURL): ditto
+ (WebKit::WebPageProxy::setPendingAPIRequestURL): ditto
+
+2011-01-28 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Downloads in WK2 on Windows should write resume data to bundle
+ https://bugs.webkit.org/show_bug.cgi?id=53282
+ <rdar://problem/8753077>
+
+ Reviewed by Alice Liu.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Call didDecideDestination(), now that the destination is decided.
+
+ * WebProcess/Downloads/Download.h:
+ Declare didDecideDestination(). Added member variables to hold the
+ destination file path and the download bundle path.
+ (WebKit::Download::destination):
+ Return the path to the final destination for this download.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::start):
+ Remove the name of an unused param.
+ (WebKit::Download::startWithHandle):
+ Ditto.
+ (WebKit::Download::cancel):
+ Tell CFNetwork not to delete the file upon failure, and tell it to
+ cancel the download. Copy the resume data for the download, and append
+ it to the download bundle. Call didCancel() with an empty
+ DataReference, since we have written our own resume data.
+ (WebKit::decideDestinationWithSuggestedObjectNameCallback):
+ Remove some unused param names. Removed the call to
+ CFURLDownloadSetDestination() - this is now handled in
+ Download::didDecideDestination().
+ (WebKit::didCreateDestinationCallback):
+ Report that the final destination was created, rather than the download
+ bundle, matching old WebKit.
+ (WebKit::Download::didDecideDestination):
+ Store the final destination and the download bundle paths, and call
+ CFURLDownloadSetDestination(), passing the path to the download bundle.
+
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ (WebKit::Download::didDecideDestination):
+ Stubbed.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::didDecideDestination):
+ Stubbed - unneeded on the Mac.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::didDecideDestination):
+ Stubbed.
+
+2011-01-29 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Support find bouncy in WebKit2 on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=53329
+ <rdar://problem/8565843>
+ The Mac implements the find bouncy inside of WebKit in the UI process for WebKit2, but we need to do this inside Safari for WebKit2 on Windows.
+ Add infrastructure to call back into the app when the find indicator changes.
+
+ * UIProcess/API/C/win/WKView.cpp: Cleanup some code style violations.
+ (WKViewSetFindIndicatorCallback): Added.
+ (WKViewGetFindIndicatorCallback): Added.
+ * UIProcess/API/C/win/WKView.h: Cleanup some code style violations.
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::create):
+ (WebKit::FindIndicator::FindIndicator):
+ (WebKit::FindIndicator::frameRect):
+ (WebKit::FindIndicator::draw):
+ Rename m_selectionRect to m_selectionRectInWindowCoordinates and m_textRects to m_textRectsInSelectionRectCoordinates (along with similarly named local variables) to be more explict about the coordinate system.
+ * UIProcess/FindIndicator.h:
+ (WebKit::FindIndicator::selectionRectInWindowCoordinates): Added.
+ (WebKit::FindIndicator::textRects): Rename m_textRects to m_textRectsInSelectionRectCoordinates.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setFindIndicator): Rename selectionRect to selectionRectInWindowCoordinates and textRects to textRectsInSelectionRectCoordinates to be more explict about the coordinate system.
+ * UIProcess/WebPageProxy.h: Ditto.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::setFindIndicator): Added.
+ (WebKit::WebView::setFindIndicatorCallback): Added.
+ (WebKit::WebView::getFindIndicatorCallback): Added.
+ * UIProcess/win/WebView.h:
+
+2011-01-28 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53367
+ <rdar://problem/8926460> Remove dysfunctional code from -[WKPrintingView _isPrintingPreview].
+
+ * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _isPrintingPreview]): The common
+ branch works fine for now, no need to make platforms different.
+
+2011-01-28 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WKPageGetEstimatedProgress returns wrong value after a mainframe provisional load has started
+ https://bugs.webkit.org/show_bug.cgi?id=53358
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didStartProgress): Start progress at the magic initial value, not 0.
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Yet another build fix (What was I thinking?)
+
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Plugins/PluginProxy.h:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * Shared/PrintInfo.h:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Fix tyop.
+
+ * Shared/mac/CoreAnimationRenderer.mm:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add CoreAnimationRenderer class
+ https://bugs.webkit.org/show_bug.cgi?id=53343
+
+ * Shared/mac/CoreAnimationRenderer.h: Added.
+ * Shared/mac/CoreAnimationRenderer.mm: Added.
+
+ (WebKit::CoreAnimationRenderer::CoreAnimationRenderer):
+ Initialize the underlying CARenderer object and hook up a notification observer.
+
+ (WebKit::CoreAnimationRenderer::~CoreAnimationRenderer):
+ Assert that the client is null. It has been set to null by the call to invalidate().
+
+ (WebKit::CoreAnimationRenderer::setBounds):
+ Update the bounds on the CARenderer and the root layer.
+
+ (WebKit::CoreAnimationRenderer::render):
+ Ask the renderer to render and return the next frame time.
+
+ (WebKit::CoreAnimationRenderer::invalidate):
+ Remove the change observer and reset the client.
+
+ (WebKit::CoreAnimationRenderer::rendererDidChange):
+ Call the client member function.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add an OBJC_CLASS macro for forward declaring an Objective-C class
+ https://bugs.webkit.org/show_bug.cgi?id=53337
+
+ * Shared/NativeWebKeyboardEvent.h:
+ * Shared/PrintInfo.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/mac/WebContextMenuProxyMac.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.h:
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.h:
+ * config.h:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't put config.h in the message headers.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * Shared/mac/ShareableSurface.cpp:
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Try to unbreak the Windows build.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2011-01-28 Brady Eidson <beidson@apple.com>
+
+ Reviewed by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53330
+ Need InjectedBundle API to get the response MIMEType for a URL
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyMIMETypeForResourceWithURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+ Get the MIMEType from the in-memory cache, or cachedResponseMIMETypeForURL() if not available:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::mimeTypeForResourceWithURL):
+ * WebProcess/WebPage/WebFrame.h:
+
+ Get the MIMEType from the platform's disk cache if available:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::cachedResponseMIMETypeForURL):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::cachedResponseMIMETypeForURL):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::cachedResponseMIMETypeForURL):
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up the mess introduced when config.h was added to the project:
+
+ - Remove the contents of WebKit2Prefix.h that is now in config.h, to avoid including everything
+ twice in each file, probably slowing down compile time.
+
+ - Add config.h to all the files that were forgotten in order to keep the build from breaking.
+
+ - Added trap to ensure that config.h is included at the top of every implementation file. If this
+ had been added it would have caught the previous issue.
+
+2011-01-28 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/8857651> Implement unregisterWorld for WebKit2
+ Rename unregisterWorld to clearWrappers. Clearing the wrappers reduces the
+ memory use of isolated worlds.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
+ (WKBundleScriptWorldClearWrappers):
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
+ (WebKit::InjectedBundleScriptWorld::clearWrappers):
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
+
+2011-01-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <select> can't display right-to-left (rtl) languages
+ https://bugs.webkit.org/show_bug.cgi?id=19785
+
+ * Shared/WebPopupItem.cpp:
+ (WebKit::WebPopupItem::WebPopupItem): Added initializers for m_textDirection and m_hasTextDirectionOverride.
+ (WebKit::WebPopupItem::encode): Encode the item's writing direction and direction override values.
+ (WebKit::WebPopupItem::decode): Decode the item's writing direction and direction override values.
+ * Shared/WebPopupItem.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu): Added a parameter for the menu's text direction.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Ditto.
+ * UIProcess/WebPopupMenuProxy.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::populate): Added a parameter for the menu's text direction.
+ Set items' text alignment to match the menu's writing direction. Set items' writing direction
+ and direction override according to their styles.
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu): Set the pop-up's layout direction.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
+ (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::populateItems): Initialize items' writing direction and direction override
+ values.
+ (WebKit::WebPopupMenu::show): Pass the menu's writing direction.
+
+2011-01-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add ShareableSurface class
+ https://bugs.webkit.org/show_bug.cgi?id=53313
+
+ * Shared/mac/ShareableSurface.cpp: Added.
+ (WebKit::ShareableSurface::Handle::Handle):
+ Initialize the mach port.
+
+ (WebKit::ShareableSurface::Handle::~Handle):
+ Deallocate our send right if needed.
+
+ (WebKit::ShareableSurface::Handle::encode):
+ Encode the send right, and then null it out.
+
+ (WebKit::ShareableSurface::Handle::decode):
+ Decode the send right.
+
+ (WebKit::createIOSurface):
+ Create an IOSurface with the given size.
+
+ (WebKit::ShareableSurface::create):
+ Create an IOSurface, either from a size or from a handle.
+
+ (WebKit::ShareableSurface::~ShareableSurface):
+ Delete the texture and framebuffer.
+
+ (WebKit::ShareableSurface::createHandle):
+ Create a mach port from the surface.
+
+ (WebKit::ShareableSurface::attach):
+ Create an FBO if needed and bind it.
+
+ (WebKit::ShareableSurface::detach):
+ Unbind the FBO.
+
+ (WebKit::ShareableSurface::textureID):
+ Generate a new texture and bind it to the IOSurface.
+
+ * Shared/mac/ShareableSurface.h: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2011-01-27 Adam Roben <aroben@apple.com>
+
+ Change BinarySemaphore to wrap an auto-reset Win32 event on Windows
+
+ Fixes <http://webkit.org/b/53208> <rdar://problem/8922490>.
+
+ Reviewed by Dave Hyatt.
+
+ * Platform/CoreIPC/BinarySemaphore.cpp: Wrap this implementation in #if !PLATFORM(WIN).
+
+ * Platform/CoreIPC/BinarySemaphore.h: Make the Windows implementation have a single HANDLE
+ member that holds the event.
+
+ * Platform/CoreIPC/win/BinarySemaphoreWin.cpp: Copied from Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp.
+ (CoreIPC::BinarySemaphore::BinarySemaphore): Create our event.
+ (CoreIPC::BinarySemaphore::~BinarySemaphore): Destory our event.
+ (CoreIPC::BinarySemaphore::signal): Signal the event.
+ (CoreIPC::BinarySemaphore::wait): Convert the absolute time to a wait interval, then wait
+ for the event to be signaled or for the interval to elapse.
+
+ * win/WebKit2.vcproj: Added BinarySemaphoreWin.cpp. Also let VS have its way with the file.
+
+2011-01-27 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Page flashes just before accelerated compositing animation
+ https://bugs.webkit.org/show_bug.cgi?id=53274
+
+ When switching out of compositing mode, the new ChunkedUpdateDrawingAreaProxy
+ is getting created with the current page size. When the setSize() call is
+ subsequently made, the sizeDidChange() call is not made (which does the initial
+ render of the page) because the old size and new size are the same. The solution
+ is to skip the setting of the size in the ctor and let it go through a size
+ change sequence.
+
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+
+2011-01-28 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Fix dist compilation for the release
+ https://bugs.webkit.org/show_bug.cgi?id=53290
+
+ * GNUmakefile.am: Remove a file that is not in the repository
+ anymore.
+
+
+2011-01-28 Andreas Kling <kling@webkit.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ [Qt][WK2] Combine QWKPage::engine{Connected,Disconnected} into one signal.
+
+ Having two signals for this is redundant, combine them into
+ QWKPage::engineConnectionChanged(bool connected).
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::didRelaunchProcess):
+ (QWKPagePrivate::processDidCrash):
+ * UIProcess/API/qt/qwkpage.h:
+
+2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Build fix for Mac Intel Debug after r76916
+ https://bugs.webkit.org/show_bug.cgi?id=53284
+
+ Fix macro redefinition by guarding the redefined macros.
+
+ * config.h:
+
+2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix for Mac Intel Debug after r76916.
+
+ Fix macro redefinition by guarding the redefined macros.
+
+ Check if the macro is already defined before defininig it.
+ c++config.h has the same macros with the same values.
+
+ * config.h:
+
+2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ Update the expected results for test-webkitpy after r76916.
+
+ Include "config.h" in the expected results as well.
+
+ * Scripts/webkit2/messages_unittest.py:
+
+2011-01-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed buildfix for SnowLeopard Intel Debug.
+
+ Fix macro redefinition by not including config.h.
+
+ Revert previous change in WebPageProxyCF.cpp.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2011-01-27 Greg Coletta <greg.coletta@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Get rid of prefix header dependency for WebKit2 build system.
+ https://bugs.webkit.org/show_bug.cgi?id=50174
+
+ Add config.h include explicitelly.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * Platform/CoreIPC/Attachment.cpp:
+ * Platform/CoreIPC/BinarySemaphore.cpp:
+ * Platform/CoreIPC/Connection.cpp:
+ * Platform/CoreIPC/DataReference.cpp:
+ * Platform/CoreIPC/gtk/ConnectionGtk.cpp:
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ * Platform/Logging.cpp:
+ * Platform/Module.cpp:
+ * Platform/Region.cpp:
+ * Platform/RunLoop.cpp:
+ * Platform/WorkQueue.cpp:
+ * Platform/cg/CGUtilities.cpp:
+ * Platform/gtk/RunLoopGtk.cpp:
+ * Platform/gtk/SharedMemoryGtk.cpp:
+ * Platform/gtk/WorkQueueGtk.cpp:
+ * Platform/mac/MachUtilities.cpp:
+ * Platform/mac/SharedMemoryMac.cpp:
+ * Platform/mac/WorkQueueMac.cpp:
+ * Platform/qt/MappedMemoryPool.cpp:
+ * Platform/qt/ModuleQt.cpp:
+ * Platform/qt/RunLoopQt.cpp:
+ * Platform/qt/WorkQueueQt.cpp:
+ * Platform/win/ModuleWin.cpp:
+ * Platform/win/RunLoopWin.cpp:
+ * Platform/win/SharedMemoryWin.cpp:
+ * Platform/win/WorkQueueWin.cpp:
+ * PluginProcess/PluginControllerProxy.cpp:
+ * PluginProcess/PluginProcess.cpp:
+ * PluginProcess/WebProcessConnection.cpp:
+ * Scripts/webkit2/messages.py:
+ * Shared/API/c/WKArray.cpp:
+ * Shared/API/c/WKCertificateInfo.cpp:
+ * Shared/API/c/WKContextMenuItem.cpp:
+ * Shared/API/c/WKData.cpp:
+ * Shared/API/c/WKDictionary.cpp:
+ * Shared/API/c/WKError.cpp:
+ * Shared/API/c/WKImage.cpp:
+ * Shared/API/c/WKMutableArray.cpp:
+ * Shared/API/c/WKMutableDictionary.cpp:
+ * Shared/API/c/WKNumber.cpp:
+ * Shared/API/c/WKSecurityOrigin.cpp:
+ * Shared/API/c/WKSerializedScriptValue.cpp:
+ * Shared/API/c/WKString.cpp:
+ * Shared/API/c/WKType.cpp:
+ * Shared/API/c/WKURL.cpp:
+ * Shared/API/c/WKURLRequest.cpp:
+ * Shared/API/c/WKURLResponse.cpp:
+ * Shared/API/c/WKUserContentURLPattern.cpp:
+ * Shared/API/c/cf/WKStringCF.cpp:
+ * Shared/API/c/cf/WKURLCF.cpp:
+ * Shared/API/c/cf/WKURLRequestCF.cpp:
+ * Shared/API/c/cf/WKURLResponseCF.cpp:
+ * Shared/API/c/cg/WKImageCG.cpp:
+ * Shared/API/c/win/WKCertificateInfoWin.cpp:
+ * Shared/ChildProcess.cpp:
+ * Shared/ImmutableArray.cpp:
+ * Shared/ImmutableDictionary.cpp:
+ * Shared/MutableArray.cpp:
+ * Shared/MutableDictionary.cpp:
+ * Shared/OriginAndDatabases.cpp:
+ * Shared/PlatformPopupMenuData.cpp:
+ * Shared/Plugins/NPIdentifierData.cpp:
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ * Shared/Plugins/NPObjectProxy.cpp:
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ * Shared/Plugins/NPVariantData.cpp:
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
+ * Shared/Plugins/PluginProcessCreationParameters.cpp:
+ * Shared/PrintInfo.cpp:
+ * Shared/SessionState.cpp:
+ * Shared/ShareableBitmap.cpp:
+ * Shared/UpdateInfo.cpp:
+ * Shared/VisitedLinkTable.cpp:
+ * Shared/WebBackForwardListItem.cpp:
+ * Shared/WebContextMenuItem.cpp:
+ * Shared/WebContextMenuItemData.cpp:
+ * Shared/WebError.cpp:
+ * Shared/WebEvent.cpp:
+ * Shared/WebEventConversion.cpp:
+ * Shared/WebGeolocationPosition.cpp:
+ * Shared/WebImage.cpp:
+ * Shared/WebKeyboardEvent.cpp:
+ * Shared/WebMemorySampler.cpp:
+ * Shared/WebMouseEvent.cpp:
+ * Shared/WebOpenPanelParameters.cpp:
+ * Shared/WebPageCreationParameters.cpp:
+ * Shared/WebPageGroupData.cpp:
+ * Shared/WebPlatformTouchPoint.cpp:
+ * Shared/WebPopupItem.cpp:
+ * Shared/WebPreferencesStore.cpp:
+ * Shared/WebProcessCreationParameters.cpp:
+ * Shared/WebTouchEvent.cpp:
+ * Shared/WebURLRequest.cpp:
+ * Shared/WebURLResponse.cpp:
+ * Shared/WebWheelEvent.cpp:
+ * Shared/cairo/ShareableBitmapCairo.cpp:
+ * Shared/cf/ArgumentCodersCF.cpp:
+ * Shared/cg/ShareableBitmapCG.cpp:
+ * Shared/gtk/ShareableBitmapGtk.cpp:
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
+ * Shared/mac/CommandLineMac.cpp:
+ * Shared/mac/UpdateChunk.cpp:
+ * Shared/qt/CleanupHandler.cpp:
+ * Shared/qt/NativeWebKeyboardEventQt.cpp:
+ * Shared/qt/ShareableBitmapQt.cpp:
+ * Shared/qt/UpdateChunk.cpp:
+ * Shared/qt/WebCoreArgumentCodersQt.cpp:
+ * Shared/qt/WebEventFactoryQt.cpp:
+ * Shared/qt/WebURLRequestQt.cpp:
+ * Shared/qt/WebURLResponseQt.cpp:
+ * Shared/win/CommandLineWin.cpp:
+ * Shared/win/NativeWebKeyboardEventWin.cpp:
+ * Shared/win/PlatformCertificateInfo.cpp:
+ * Shared/win/UpdateChunk.cpp:
+ * Shared/win/WebCoreArgumentCodersWin.cpp:
+ * Shared/win/WebEventFactory.cpp:
+ * Shared/win/WebURLRequestWin.cpp:
+ * Shared/win/WebURLResponseWin.cpp:
+ * UIProcess/API/C/WKAuthenticationChallenge.cpp:
+ * UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKCredential.cpp:
+ * UIProcess/API/C/WKDatabaseManager.cpp:
+ * UIProcess/API/C/WKDownload.cpp:
+ * UIProcess/API/C/WKFormSubmissionListener.cpp:
+ * UIProcess/API/C/WKFrame.cpp:
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ * UIProcess/API/C/WKGeolocationManager.cpp:
+ * UIProcess/API/C/WKGeolocationPermissionRequest.cpp:
+ * UIProcess/API/C/WKGeolocationPosition.cpp:
+ * UIProcess/API/C/WKInspector.cpp:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ * UIProcess/API/C/WKOpenPanelParameters.cpp:
+ * UIProcess/API/C/WKOpenPanelResultListener.cpp:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPageGroup.cpp:
+ * UIProcess/API/C/WKPreferences.cpp:
+ * UIProcess/API/C/WKProtectionSpace.cpp:
+ * UIProcess/API/C/win/WKContextWin.cpp:
+ * UIProcess/API/C/win/WKView.cpp:
+ * UIProcess/API/C/win/WKViewPrivate.cpp:
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ * UIProcess/API/qt/qwkcontext.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
+ * UIProcess/Authentication/AuthenticationDecisionListener.cpp:
+ * UIProcess/Authentication/WebCredential.cpp:
+ * UIProcess/Authentication/WebProtectionSpace.cpp:
+ * UIProcess/BackingStore.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ * UIProcess/DrawingAreaProxy.cpp:
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ * UIProcess/FindIndicator.cpp:
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
+ * UIProcess/GeolocationPermissionRequestProxy.cpp:
+ * UIProcess/Launcher/ProcessLauncher.cpp:
+ * UIProcess/Launcher/ThreadLauncher.cpp:
+ * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
+ * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ * UIProcess/ResponsivenessTimer.cpp:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ * UIProcess/VisitedLinkProvider.cpp:
+ * UIProcess/WebBackForwardList.cpp:
+ * UIProcess/WebContext.cpp:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ * UIProcess/WebContextMenuProxy.cpp:
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ * UIProcess/WebDatabaseManagerProxyClient.cpp:
+ * UIProcess/WebDownloadClient.cpp:
+ * UIProcess/WebEditCommandProxy.cpp:
+ * UIProcess/WebFindClient.cpp:
+ * UIProcess/WebFormClient.cpp:
+ * UIProcess/WebFormSubmissionListenerProxy.cpp:
+ * UIProcess/WebFrameListenerProxy.cpp:
+ * UIProcess/WebFramePolicyListenerProxy.cpp:
+ * UIProcess/WebFrameProxy.cpp:
+ * UIProcess/WebGeolocationManagerProxy.cpp:
+ * UIProcess/WebGeolocationProvider.cpp:
+ * UIProcess/WebHistoryClient.cpp:
+ * UIProcess/WebInspectorProxy.cpp:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebNavigationData.cpp:
+ * UIProcess/WebOpenPanelResultListenerProxy.cpp:
+ * UIProcess/WebPageContextMenuClient.cpp:
+ * UIProcess/WebPageGroup.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebPreferences.cpp:
+ * UIProcess/WebProcessManager.cpp:
+ * UIProcess/WebProcessProxy.cpp:
+ * UIProcess/WebResourceLoadClient.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ * UIProcess/cf/WebPreferencesCF.cpp:
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ * UIProcess/gtk/WebInspectorGtk.cpp:
+ * UIProcess/gtk/WebPageProxyGtk.cpp:
+ * UIProcess/gtk/WebPreferencesGtk.cpp:
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ * UIProcess/qt/WebContextQt.cpp:
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * UIProcess/qt/WebPageProxyQt.cpp:
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp:
+ * UIProcess/qt/WebPreferencesQt.cpp:
+ * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
+ * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
+ * UIProcess/win/WebContextWin.cpp:
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ * UIProcess/win/WebPageProxyWin.cpp:
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ * UIProcess/win/WebView.cpp:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Authentication/AuthenticationManager.cpp:
+ * WebProcess/Downloads/Download.cpp:
+ * WebProcess/Downloads/DownloadManager.cpp:
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ * WebProcess/Downloads/curl/DownloadCurl.cpp:
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ * WebProcess/Geolocation/WebGeolocationManager.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ * WebProcess/Plugins/Plugin.cpp:
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ * WebProcess/Plugins/PluginView.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
+ * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
+ * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
+ * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ * WebProcess/WebKitMain.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/DecoderAdapter.cpp:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/EncoderAdapter.cpp:
+ * WebProcess/WebPage/FindController.cpp:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/PageOverlay.cpp:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ * WebProcess/WebPage/WebEditCommand.cpp:
+ * WebProcess/WebPage/WebFrame.cpp:
+ * WebProcess/WebPage/WebInspector.cpp:
+ * WebProcess/WebPage/WebOpenPanelResultListener.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPageGroupProxy.cpp:
+ * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
+ * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp:
+ * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp:
+ * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp:
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/gtk/WebProcessGtk.cpp:
+ * WebProcess/gtk/WebProcessMainGtk.cpp:
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ * WebProcess/qt/WebProcessQt.cpp:
+ * WebProcess/win/WebProcessMainWin.cpp:
+ * WebProcess/win/WebProcessWin.cpp:
+ * config.h: Copied from Source/WebKit2/WebKit2Prefix.h.
+ * win/WebKit2Common.vsprops:
+
+2011-01-27 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ execCommand("Paste") doesn't work in WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=52785
+
+ Thread through the new JavaScriptCanAccessClipboard setting.
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetJavaScriptCanAccessClipboard):
+ (WKPreferencesGetJavaScriptCanAccessClipboard):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2011-01-27 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Use Document::url() instead of FrameLoader::url().
+ https://bugs.webkit.org/show_bug.cgi?id=41165
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::url):
+
+2011-01-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Encode/Decode hasPreciseScrollingDeltas bit in WebWheelEvent
+ https://bugs.webkit.org/show_bug.cgi?id=53254
+
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::WebWheelEvent):
+ Initialize m_phase and m_hasPreciseScrollingDeltas.
+
+ (WebKit::WebWheelEvent::encode):
+ (WebKit::WebWheelEvent::decode):
+ Add missing coding for m_hasPreciseScrollingDeltas.
+
+2011-01-26 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler and Adam Roben.
+
+ WebKit2: add support for drag and drop on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=52775
+ <rdar://problem/8514409>
+
+ On Windows the access to the content being dragged is
+ provided via the IDataObject interface that is made available
+ to the window that registers itself as drop target.
+ Since this interface cannot be accessed from the WebProcess,
+ in every call to one of the methods of the IDropTarget interface
+ we serialize the content of the drag clipboard and send it over to
+ the WebProcess. The implementation uses the same messages as the
+ Mac one, with slightly different parameters to pass the serialized
+ clipboard.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::performDragControllerAction): Added Windows
+ specific implementation.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Added dropTargetHelper object creation.
+ (WebKit::WebView::initialize): Added to register for drag/drop with out
+ refcount issues.
+ (WebKit::WebView::close):
+ (WebKit::WebView::windowReceivedMessage):
+ (WebKit::WebView::QueryInterface):
+ (WebKit::WebView::AddRef):
+ (WebKit::WebView::Release):
+ (WebKit::dragOperationToDragCursor):
+ (WebKit::WebView::keyStateToDragOperation):
+ (WebKit::WebView::DragEnter):
+ (WebKit::WebView::DragOver):
+ (WebKit::WebView::DragLeave):
+ (WebKit::WebView::Drop):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::performDragControllerAction):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=53197
+ <rdar://problem/8895682> Make WebKit2 printing asynchronous
+
+ <rdar://problem/8899988> REGRESSION(WebKit2): Attempting to print WHATWG HTML spec shows
+ 1-page blank preview
+
+ <rdar://problem/8900078> WebKit2 printing has a separate message exchange per page when
+ printing instead of printing all at once
+
+ * UIProcess/API/mac/WKPrintingView.h: Store a lot more cached information.
+
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): Use PrintOperation stored in
+ class. We generally want that now, because current operation will not be set up on other threads.
+ (-[WKPrintingView _isPrintingPreview]): Added. Preview is different, because it can draw
+ a placeholder - but actual printing need to wait until UI process has data.
+ (-[WKPrintingView _updatePreview]): Force AppKit to update print preview when we have real
+ data to replace placeholder with.
+ (-[WKPrintingView _hasPageRects]): Return if page rects have already been computed.
+ (-[WKPrintingView _expectedPreviewCallbackForRect:]): Find an existing request for this rect,
+ if any.
+ (pageDidDrawToPDF): Update preview - or if actually printing, release control to printing thread.
+ (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ask for a PDF document with
+ pages the user asked to print.
+ (pageDidComputePageRects): When web process returns page geometry data, we update preview to display
+ a page count (which indirectly triggers a request for a preview). When actually printing,
+ request a PDF right away, we'll need it later.
+ (-[WKPrintingView _askPageToComputePageRects]): Ask web process for page geometry.
+ (prepareDataForPrintingOnSecondaryThread): This function starts preparing all data necessary
+ for actual printing on main thread.
+ (-[WKPrintingView knowsPageRange:]): Changed to be async for preview, and to call main
+ thread for actual printing.
+ (-[WKPrintingView _pageForRect:]): Find page number for a given range, assuming that AppKit
+ always asks for full pages.
+ (-[WKPrintingView _drawPDFDocument:page:atPoint:]): A helper function to draw a PDF document.
+ (-[WKPrintingView _drawPreview:]): Draw the whole page for preview.
+ (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ Draw the whole page for actual printing.
+ (-[WKPrintingView _drawPageBorderWithSizeOnMainThread:]): Call drawPageBorderWithSize: with
+ correct graphics context and print operation.
+ (-[WKPrintingView drawPageBorderWithSize:]): Delegate work to main thread when called from a
+ secondary one.
+ (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): Added an assertion that
+ our stored NSPrintOperation isn't out of sync with reality.
+ (-[WKPrintingView rectForPage:]): Handle the case where we don't have the data yet, drawing
+ a placeholder.
+ (-[WKPrintingView endDocument]): When page setup changes, we must reset all state.
+
+ * UIProcess/API/mac/WKView.mm: (-[WKView printOperationWithPrintInfo:forFrame:]): Tell
+ NSPrintingView which operation it's serving, so that it knows it even when current operation
+ isn't set.
+
+ * UIProcess/GenericCallback.h:
+ (WebKit::ComputedPagesCallback::create):
+ (WebKit::ComputedPagesCallback::~ComputedPagesCallback):
+ (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
+ (WebKit::ComputedPagesCallback::invalidate):
+ (WebKit::ComputedPagesCallback::callbackID):
+ (WebKit::ComputedPagesCallback::generateCallbackID):
+ (WebKit::ComputedPagesCallback::ComputedPagesCallback):
+ Added ComputedPagesCallback, which returns a vector of IntRects and a double. Hopefully,
+ it will become a specialization of GenericCallback one day.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Added m_voidCallbacks - it looks like they were omitted
+ by accident.
+ (WebKit::WebPageProxy::computedPagesCallback): Added.
+ (WebKit::WebPageProxy::processDidCrash): Added m_computedPagesCallbacks.
+ (WebKit::WebPageProxy::computePagesForPrinting): Async now!
+ (WebKit::WebPageProxy::drawRectToPDF): Ditto.
+ (WebKit::WebPageProxy::drawPagesToPDF): Added.
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/WebPageProxy.messages.in: Added ComputedPagesCallback.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::beginPriting): Compute page rects right away - we'll need them in
+ drawPagesToPDF(), which doesn't have a PrintInfo.
+ (WebKit::WebPage::computePagesForPrinting): Send async response.
+ (WebKit::WebPage::drawRectToPDF): This function used to draw into original
+ location at frame coordinates, and now it draws at (0, 0).
+ (WebKit::WebPage::drawPagesToPDF): Added - make a multi-page PDF.
+ * WebProcess/WebPage/WebPage.h:
+
+ * WebProcess/WebPage/WebPage.messages.in: Added DrawPagesToPDF.
+
+2011-01-27 Alejandro G. Castro <alex@igalia.com>
+
+ Unreviewed GTK build fix after r76797.
+
+ * Shared/WebPreferencesStore.h: Use Qt fonts preference for the moment.
+
+2011-01-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Allow pop-up menus to contain multiple items that have the same title.
+
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::populate): Set the item’s title after adding it rather than
+ when adding it, so that it will not replace any existing item with the same title.
+
+2011-01-27 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Add QWKPage APIs regarding engine process availability
+ https://bugs.webkit.org/show_bug.cgi?id=53237
+
+ QWKPage will now emit engineConnected() and engineDisconnected()
+ when the web process crashes and is relaunched respectively.
+
+ Also added QWKPage::isConnectedToEngine() for convenience.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::didRelaunchProcess):
+ (QWKPagePrivate::processDidCrash):
+ (QWKPage::isConnectedToEngine):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-01-27 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Lots of layout test failures due to wrong font type
+ https://bugs.webkit.org/show_bug.cgi?id=53233
+
+ * Shared/WebPreferencesStore.h:
+ Specialize default font families for Qt.
+
+2011-01-26 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKitTestRunner needs to support layoutTestController.evaluateInWebInspector
+ https://bugs.webkit.org/show_bug.cgi?id=42319
+
+ Add WKBundleInspector and APIs needed to implement WebKitTestRunner APIs.
+
+ * GNUmakefile.am:
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: Added.
+ (WKBundleInspectorGetTypeID):
+ (WKBundleInspectorShow):
+ (WKBundleInspectorClose):
+ (WKBundleInspectorEvaluateScriptForTest):
+ (WKBundleInspectorSetPageProfilingEnabled):
+ * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetInspector):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::create):
+ (WebKit::WebInspector::evaluateScriptForTest):
+ * WebProcess/WebPage/WebInspector.h:
+ (WebKit::WebInspector::type):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::inspector):
+ * WebProcess/WebPage/WebPage.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2011-01-26 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
+ <rdar://problem/8821760>
+
+ Reviewed by Antti Koivisto.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Added initialization for
+ GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
+
+2011-01-26 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
+ when using WKScrollbars.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2011-01-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add events to represent the start/end of a gesture scroll
+ https://bugs.webkit.org/show_bug.cgi?id=53215
+
+ * Scripts/webkit2/messages.py:
+ * Shared/WebEvent.h:
+ (WebKit::WebGestureEvent::WebGestureEvent):
+ (WebKit::WebGestureEvent::position):
+ (WebKit::WebGestureEvent::globalPosition):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
+ (WebKit::platform):
+ * Shared/WebEventConversion.h:
+ * Shared/WebGestureEvent.cpp: Added.
+ (WebKit::WebGestureEvent::WebGestureEvent):
+ (WebKit::WebGestureEvent::encode):
+ (WebKit::WebGestureEvent::decode):
+ (WebKit::WebGestureEvent::isGestureEventType):
+ * Shared/mac/WebEventFactory.h:
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::gestureEventTypeForEvent):
+ (WebKit::WebEventFactory::createWebGestureEvent):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView shortCircuitedEndGestureWithEvent:]):
+ (-[WKView beginGestureWithEvent:]):
+ (-[WKView viewDidMoveToWindow]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::handleGestureEvent):
+ (WebKit::WebPageProxy::didReceiveEvent):
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleGestureEvent):
+ (WebKit::WebPage::gestureEvent):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe gesture events down to WebCore.
+
+2011-01-26 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/8446709> Allow inter-ideograph justification for CJK
+ https://bugs.webkit.org/show_bug.cgi?id=53184
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData): Added a TrailingExpansionBehavior parameter to the
+ RenderText constructor.
+
+2011-01-26 Jing Jin <jjin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Methods to temporarily disable size updates to the page drawing area in WKView.
+ https://bugs.webkit.org/show_bug.cgi?id=53206
+ Part of <rdar://problem/8818585>
+
+ * UIProcess/API/mac/WKView.h: Added _frameSizeUpdateDisabledCount.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setFrameSize:]): Only update page size if frame size updates are enabled.
+ (-[WKView _setDrawingAreaSize:]): Helper method to set the page's drawing area's size.
+ (-[WKView disableFrameSizeUpdates]): Increment _frameSizeUpdateDisabledCount
+ (-[WKView enableFrameSizeUpdates]): Decrement _frameSizeUpdateDisabledCount, and if the count is 0, meaning
+ that no one is disabling frame size updates anymore, update the drawing area's size to match the current frame.
+ (-[WKView frameSizeUpdatesDisabled]): Returns YES if at least one caller is disabling frame size updates.
+ * UIProcess/API/mac/WKViewInternal.h: Declared -disableFrameSizeUpdates, -enableFrameSizeUpdates, and -frameSizeUpdatesDisabled.
+ * UIProcess/API/mac/WKViewPrivate.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj: Added WKViewPrivate.h
+
+2011-01-26 Jing Jin <jjin@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Several WKView Internal category methods are implemented in the main category.
+ https://bugs.webkit.org/show_bug.cgi?id=53195
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setEventBeingResent:]): Moved into implementation of WKView (Internal).
+ (-[WKView _interceptKeyEvent:]): Moved into implementation of WKView (Internal).
+ (-[WKView _getTextInputState:selectionEnd:underlines:WebCore::]): Moved into implementation of WKView (Internal).
+ (-[WKView _setAccessibilityChildToken:]): Moved into implementation of WKView (Internal).
+
+2011-01-26 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2: Need API to get the frame load state of a BundleFrame
+ https://bugs.webkit.org/show_bug.cgi?id=53193
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetFrameLoadState): Call through to the FrameLoader to get the frame load state.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+2011-01-25 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Crashes loading pages when cancelling subresource loads through WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=53123
+ <rdar://problem/8914361>
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): If our URL is null, return early instead of dispatching
+ a message.
+
+2011-01-25 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WK2 leaks when a page is closed
+ https://bugs.webkit.org/show_bug.cgi?id=53100
+
+ Allow the WKView a chance to clean up on a page close. In this case,
+ cleaning up means removing the references the accessibility token has
+ to the window.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::pageClosed):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setRemoteAccessibilityWindow:]):
+ (-[WKView _setAccessibilityChildToken:]):
+ (-[WKView _processDidCrash]):
+ (-[WKView _pageClosed]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::pageClosed):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageClosed):
+ * UIProcess/win/WebView.h:
+
+2011-01-25 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Expose WebGL flag set/get in WK2
+ https://bugs.webkit.org/show_bug.cgi?id=53096
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetWebGLEnabled):
+ (WKPreferencesGetWebGLEnabled):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2011-01-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add and implement LayerTreeHost::scheduleLayerFlush
+ https://bugs.webkit.org/show_bug.cgi?id=53135
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add LayerTreeHostMac.mm.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scheduleCompositingLayerSync):
+ Call LayerTreeHost::scheduleLayerFlush.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::~LayerTreeHost):
+ Call platformInvalidate().
+
+ (WebKit::LayerTreeHost::flushPendingLayerChanges):
+ Rename from syncCompositingLayers.
+
+ * WebProcess/WebPage/mac/LayerTreeHostMac.mm: Added.
+ (WebKit::LayerTreeHost::scheduleLayerFlush):
+ Create a run loop observer if needed. This code is copied from LayerBackedDrawingAreaMac.mm
+
+ (WebKit::LayerTreeHost::platformInvalidate):
+ Invalidate the run loop observer.
+
+ (WebKit::LayerTreeHost::flushPendingLayerChangesRunLoopObserverCallback):
+ Call flushPendingChanges() and remove the run loop observer if it succeeded.
+
+2011-01-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Add LayerTreeHost class
+ https://bugs.webkit.org/show_bug.cgi?id=53132
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add LayerTreeHost files.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ Initialize m_layerTreeHost.
+
+ (WebKit::DrawingAreaImpl::setRootCompositingLayer):
+ Call the m_layerTreeHost.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp: Added.
+ (WebKit::LayerTreeHost::attachRootCompositingLayer):
+ (WebKit::LayerTreeHost::detachRootCompositingLayer):
+ Add stubbed out functions.
+
+ (WebKit::LayerTreeHost::syncCompositingLayers):
+ Sync the compositing layers in the main frame.
+
+ * WebProcess/WebPage/LayerTreeHost.h: Added.
+
+2011-01-25 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber-stamped by Adam Roben.
+
+ Windows production build fix.
+ Use correct environment variable escaping
+
+ * win/WebKit2.make:
+ * win/WebKit2Generated.make:
+
+2011-01-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't inform the UI process about compositing changes when using the new drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=53120
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ Return early if we're using the new drawing area.
+
+ (WebKit::WebPage::exitAcceleratedCompositingMode):
+ Call setRootCompositingLayer(0) so the drawing area knows when we leave accelerated compositing.
+
+2011-01-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Pipe a timestamp down into the PlatformWheelEvent for the Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=53111
+
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+ Assign the timestamp.
+
+2011-01-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add hasPreciseScrollingDeltas bit to PlatformWheelEvent on the Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=53107
+
+ * Shared/WebEvent.h:
+ (WebKit::WebWheelEvent::hasPreciseScrollingDeltas):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::WebWheelEvent):
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebWheelEvent):
+
+2011-01-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ need a way to request the host CALayer render server port
+ https://bugs.webkit.org/show_bug.cgi?id=53101
+ <rdar://problem/8913620>
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::compositingRenderServerPort):
+ Get the render server port from the plug-in process.
+
+ * PluginProcess/PluginControllerProxy.h:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Call NetscapePlugin::compositingRenderServerPort.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::compositingRenderServerPort):
+ Call PluginController::compositingRenderServerPort.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::compositingRenderServerPort):
+ Get the render server port from the web process.
+
+ * WebProcess/Plugins/PluginView.h:
+ Add compositingRenderServerPort.
+
+2011-01-25 Maciej Stachowiak <mjs@apple.com>
+
+ Rubber stamped by Dan Bernstein.
+
+ Change some floating point constants from 1.0 to 1.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+
+2011-01-25 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Improve scale factor resetting
+ https://bugs.webkit.org/show_bug.cgi?id=53093
+
+ Two key changes:
+ - Don't set the scale factor to what it already is, as this causes an
+ uneeded force layout and scroll
+ - Don't ever set the scale factor based on a non-main frame committing
+
+ This fixes two WebKit2 layout tests.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+
+2011-01-24 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Change ENABLE_3D_CANVAS to ENABLE_WEBGL
+ https://bugs.webkit.org/show_bug.cgi?id=53041
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-01-25 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Add QWKPage::processCrashed() signal
+ https://bugs.webkit.org/show_bug.cgi?id=53076
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::processDidCrash):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Reset the page scale factor on standard frame loads
+ https://bugs.webkit.org/show_bug.cgi?id=53058
+ <rdar://problem/8908844>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::scaleWebView):
+ Don't set m_viewScaleFactor here. It will be set in viewScaleFactorDidChange.
+
+ (WebKit::WebPageProxy::viewScaleFactorDidChange):
+ Update m_viewScaleFactor.
+
+ * UIProcess/WebPageProxy.h:
+ Add viewScaleFactorDidChange.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add ViewScaleFactorDidChange message.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ Set the scale factor.
+
+ (WebKit::WebFrameLoaderClient::restoreViewState):
+ Inform the UI process about the new view scale factor.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaleWebView):
+ Send a ViewScaleFactorDidChange message.
+
+2011-01-24 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Use designated temp directory for the database for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=53052
+
+ Add the API necessary to support this. Database path is now
+ determined on the UI process side and passed to the Web process.
+ Reviewed by Anders Carlsson.
+
+ * GNUmakefile.am:
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetDatabaseDirectory):
+ * UIProcess/API/C/WKContextPrivate.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::databaseDirectory):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::setDatabaseDirectory):
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformDefaultDatabaseDirectory):
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::platformDefaultDatabaseDirectory):
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::platformDefaultDatabaseDirectory):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::initialize):
+ (WebKit::WebDatabaseManager::WebDatabaseManager):
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+ * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Removed.
+ * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Removed.
+ * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Removed.
+ * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Removed.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/com.apple.WebProcess.sb:
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+ * win/WebKit2.vcproj:
+
+2011-01-24 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * win/WebKit2.vcproj: Don't build the CG Utilities when building
+ without CG support.
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Don't use the timeout checker for non-user-interaction messages
+ https://bugs.webkit.org/show_bug.cgi?id=53046
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
+ (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
+
+2011-01-24 Adam Roben <aroben@apple.com>
+
+ Windows Production build fix
+
+ * win/WebKit2.make: Update for move of WebKit2 into Source.
+
+2011-01-24 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: LayoutTests: The UNIMPLEMENTED warnings in TextCheckerWin should be disabled
+ https://bugs.webkit.org/show_bug.cgi?id=53029
+
+ * UIProcess/win/TextCheckerWin.cpp:
+ Disable the warnings for this file.
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Wait for half a second if we're asked to paint when receiving a DidSetSize message
+ https://bugs.webkit.org/show_bug.cgi?id=53028
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint):
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement forceRedisplay in the new drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=53026
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::forceRepaint):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+
+2011-01-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fill unpainted rects with the background color.
+ https://bugs.webkit.org/show_bug.cgi?id=53025
+
+ * UIProcess/API/mac/WKView.mm:
+ (drawPageBackground):
+ Add new helper function.
+
+ (-[WKView drawRect:]):
+ Iterate over the unpainted rects and fill them with the background color.
+
+2011-01-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2 version of <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setCursor): If the current cursor comes from a cursor rect, do not override it.
+
+2011-01-24 Balazs Kelemen <kbalazs@webkit.org>
+
+ Rubber-stamped by Csaba Osztrogonác.
+
+ Typo fix.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncher::launchProcess): Move the bracket to the right place.
+
+2011-01-24 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove CleanupHandler by passing file descriptors.
+
+ Deleting files in signal handler of UI process is not a good idea,
+ because the memory where filenames are stored might not be valid
+ after a crash.
+
+ To avoid the need of using signal handlers for cleanup,
+ change following:
+ 1) Avoid passing filenames between processes, pass fds
+ 2) When mmap'ing files, delete them immediately after
+ opening and mmap'ing them.
+ 3) Pass sockets with fds during fork+exec instead of
+ passing them via the filesystem.
+ 4) Use mmap'ed files for implementation of SharedMemory.
+ QSharedMemory does not support cleanup correctly.
+
+ Consquences:
+ - Move MappedMemory to SharedMemory, make UpdateChunk use this.
+ - Implement CoreIPC::Attachment using mmaped files.
+ - Send messages using datagram socket. This solution works
+ similiarly to Mach ports on Mac.
+ - Send big messages out-of-line and thus avoid increasing
+ the receive buffer.
+ - Remove MemoryMappedPool and rely on libc/kernel caching
+ of mmapped areas.
+ - Unmap memory areas after use.
+ - When UI process crashes, kill the web process using SIGKILL.
+ This is possible again because cleanup handler is not needed.
+
+ [WK2][Qt] Multiple problems with MemoryMappedPool
+ https://bugs.webkit.org/show_bug.cgi?id=51984
+
+ * Platform/CoreIPC/Attachment.cpp:
+ (CoreIPC::Attachment::Attachment):
+ * Platform/CoreIPC/Attachment.h:
+ (CoreIPC::Attachment::size):
+ (CoreIPC::Attachment::releaseFileDescriptor):
+ (CoreIPC::Attachment::fileDescriptor):
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::MessageInfo::MessageInfo):
+ (CoreIPC::MessageInfo::setMessageBodyOOL):
+ (CoreIPC::MessageInfo::isMessageBodyOOL):
+ (CoreIPC::MessageInfo::bodySize):
+ (CoreIPC::MessageInfo::messageID):
+ (CoreIPC::MessageInfo::attachmentCount):
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::platformInvalidate):
+ (CoreIPC::SocketNotifierDisableGuard::SocketNotifierDisableGuard):
+ (CoreIPC::SocketNotifierDisableGuard::~SocketNotifierDisableGuard):
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::open):
+ (CoreIPC::Connection::platformCanSendOutgoingMessages):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/SharedMemory.h:
+ * Platform/WorkQueue.h:
+ * Platform/qt/MappedMemoryPool.cpp: Removed.
+ * Platform/qt/MappedMemoryPool.h: Removed.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::isNull):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::SharedMemory::Handle::releaseToAttachment):
+ (WebKit::SharedMemory::Handle::adoptFromAttachment):
+ (WebKit::SharedMemory::create):
+ (WebKit::accessModeMMap):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::accessModeFile):
+ (WebKit::SharedMemory::createHandle):
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::registerSocketEventHandler):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::~UpdateChunk):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/qt/UpdateChunk.h:
+ * UIProcess/Launcher/ProcessLauncher.h:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::QtWebProcess::QtWebProcess):
+ (WebKit::QtWebProcess::setupChildProcess):
+ (WebKit::ProcessLauncher::launchProcess):
+ (WebKit::ProcessLauncher::platformInvalidate):
+ * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
+ (WebKit::webThreadBody):
+ (WebKit::ThreadLauncher::createWebThread):
+ * WebKit2.pro:
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::WebProcessMainQt):
+
+2011-01-24 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Move project files into Source
+ https://bugs.webkit.org/show_bug.cgi?id=52891
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebProcess.pro:
+
+2011-01-23 Damian Kaleta <dkaleta@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ <rdar://problem/8905171>
+ https://bugs.webkit.org/show_bug.cgi?id=52985
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::scaleWebView): Eliminated early return inside WebPageProxy::scaleWebView, making it
+ consistent with WebKit1.
+
+2011-01-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52968
+ Use a separate NSView for printing
+
+ Also addresses <rdar://problem/8900148> Improper check for
+ -[NSGraphicsContext currentContextDrawingToScreen]
+
+ * UIProcess/API/mac/WKPrintingView.h: Added.
+ * UIProcess/API/mac/WKPrintingView.mm: Added.
+ (-[WKPrintingView initWithFrameProxy:]):
+ (-[WKPrintingView isFlipped]):
+ (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]):
+ (-[WKPrintingView knowsPageRange:]):
+ (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ (-[WKPrintingView drawPageBorderWithSize:]):
+ (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]):
+ (-[WKPrintingView rectForPage:]):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ (-[WKView canChangeFrameLayout:]):
+ (-[WKView printOperationWithPrintInfo:forFrame:]):
+ * WebKit2.xcodeproj/project.pbxproj:
+ Moved printing code to a separate view, simplifying as appropriate. The view is currently not
+ referenced by anything in WebKit2 directly, being owned by NSPrintOperation.
+
+2011-01-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Transparent windows with compositing WebKit2 content show garbage
+ https://bugs.webkit.org/show_bug.cgi?id=52966
+ <rdar://problem/8765051>
+
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::paint):
+ If the WKView should draw transparent background, do so.
+
+2011-01-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add an asynchronous WKPageForceRepaint
+ https://bugs.webkit.org/show_bug.cgi?id=52964
+ <rdar://problem/8898527>
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageForceRepaint):
+ Call WebPageProxy::forceRepaint.
+
+ * UIProcess/API/C/WKPage.h:
+ Add WKPageForceRepaint.
+
+ * UIProcess/GenericCallback.h:
+ Add a "generic" VoidCallback class.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::forceRepaint):
+ Insert the callback in the m_voidCallbacks map and send a forceRepaint message.
+
+ (WebKit::WebPageProxy::voidCallback):
+ Call the right void callback.
+
+ (WebKit::WebPageProxy::processDidCrash):
+ Invalidate m_voidCallbacks.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add a VoidCallback message.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::forceRepaint):
+ Force a repaint.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ Add forceRepaint.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::forceRepaint):
+ Call forceRepaint on the drawing area.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add a ForceRepaint message.
+
+2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Reviewed by Dirk Schulze.
+
+ Introduce FontMetrics abstraction
+ https://bugs.webkit.org/show_bug.cgi?id=51456
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Use FontMetrics instead of Font to access the metrics.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+
+2011-01-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52950
+ Leak in WebPage::drawRectToPDF
+
+ * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawRectToPDF): Use RetainPtr here, too.
+
+2011-01-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52951
+ WebKit2 generates a bad PDF for cross process messaging
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ Use a correct offset when flipping.
+
+2011-01-21 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52943
+ Objective-C files should use #import, not #include
+
+ * UIProcess/API/C/WebKit2.h: This is an interesting one, because it's cross-platform, and
+ there is more than one WKView.h.
+
+ * Platform/mac/ModuleMac.mm:
+ * Platform/mac/RunLoopMac.mm:
+ * PluginProcess/mac/PluginControllerProxyMac.mm:
+ * PluginProcess/mac/PluginProcessMac.mm:
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ * Shared/API/c/mac/WKCertificateInfoMac.mm:
+ * Shared/API/c/mac/WKURLRequestNS.mm:
+ * Shared/API/c/mac/WKURLResponseNS.mm:
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ * Shared/mac/PlatformCertificateInfo.mm:
+ * Shared/mac/SandboxExtensionMac.mm:
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ * Shared/mac/WebMemorySampler.mac.mm:
+ * Shared/mac/WebURLRequestMac.mm:
+ * Shared/mac/WebURLResponseMac.mm:
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ * UIProcess/API/mac/WKTextInputWindowController.mm:
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
+ * UIProcess/mac/BackingStoreMac.mm:
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ * UIProcess/mac/TextCheckerMac.mm:
+ * UIProcess/mac/WebContextMac.mm:
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ * UIProcess/mac/WebPageProxyMac.mm:
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ * UIProcess/mac/WebPreferencesMac.mm:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ * WebProcess/mac/WebProcessMac.mm:
+
+2011-01-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix the WebKit2 build with clang.
+
+ * Scripts/webkit2/messages.py: Add some more structs to the list.
+ * UIProcess/DrawingAreaProxy.h: Forward-declare UpdateInfo as a class.
+ * UIProcess/TextChecker.h: Forward-declare TextCheckerState as a struct.
+ * UIProcess/WebPageProxy.h: Forward-declare ContextMenuState as a struct.
+ * UIProcess/mac/TextCheckerMac.mm: Fix the type of the string constants so that they can be passed to
+ functions expecting NSString* without generating warnings.
+ * WebProcess/WebPage/DrawingArea.h: Forward-declare WebPageCreationParameters as a struct.
+ * WebProcess/WebPage/DrawingAreaImpl.h: Forward-declare UpdateInfo as a class.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getResourceDataFromFrame): Add parens around the assignment in the condition of
+ the if statement to suppress a warning.
+
2011-01-21 Brian Weinstein <bweinstein@apple.com>
Reviewed by Adam Roben.