--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/WebKit2/ChangeLog Fri Sep 17 09:02:29 2010 +0300
@@ -0,0 +1,6904 @@
+2010-07-22 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Build fix. Unreviewed.
+
+ * win/WebKit2WebProcess.vcproj:
+ Remove the pre- and post-build events, so that they will use the value
+ inherited from the vsprops.
+
+2010-07-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs layoutTestController.dumpChildFrameScrollPositions
+ https://bugs.webkit.org/show_bug.cgi?id=42548
+
+ Added WKBundleFrameCopyName.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyName): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::name): Added.
+ * WebProcess/WebPage/WebFrame.h: Ditto.
+
+2010-07-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs to support dumping of scroll position
+ https://bugs.webkit.org/show_bug.cgi?id=42514
+
+ Added WKBundleFrameGetJavaScriptContext function.
+
+ * WebKit2.xcodeproj: Added property svn:ignore.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetJavaScriptContext): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+ Use JSGlobalContextRef instead of JSContextRef and context instead of ct.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Handle broken pipes in more places in CoreIPC
+
+ Fixes <http://webkit.org/b/42784> Assertion failure in
+ Connection::readEventHandler when WebKitTestRunner exits
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::readEventHandler): Check for a broken pipe
+ whenever we call ::PeekNamedPipe.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Teach CoreIPC how to handle messages that are larger than the pipe's
+ buffer
+
+ ::GetOverlappedResult and ::ReadFile can fail with ERROR_MORE_DATA
+ when there is more data available on the pipe than was requested in
+ the read operation. In those cases, the appropriate response is to
+ perform another read operation to read the extra data. We now do this.
+
+ Also, MSDN says that, because we are doing asynchronous read
+ operations, we should not pass a pointer to ::ReadFile to find out how
+ many bytes were read. Instead we should always call
+ ::GetOverlappedResult to find this out. I've changed
+ Connection::readEventHandler to have a single loop that calls
+ ::GetOverlappedResult and ::ReadFile in alternation, rather than
+ sometimes calling ::ReadFile multiple times in a row, to satisfy this
+ requirement.
+
+ In order to simplify the logic in this function, I've made us request
+ only a single byte from the pipe when there are no messages already in
+ the pipe. (Previously we were requesting 4096 bytes in this case.)
+ This allows us not to have to consider the case where the received
+ message is smaller than our read buffer. If we decide that this has a
+ negative impact on performance, we can of course change it. I've
+ mitigated this somewhat by using ::PeekNamedMessage to find out the
+ size of the next message in the pipe (if any), so that we can read it
+ all in one read operation.
+
+ Fixes <http://webkit.org/b/42710> <rdar://problem/8197571> Assertion
+ in Connection::readEventHandler when launching WebKitTestRunner
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::readEventHandler): Put the call to
+ ::GetOverlappedResult in the same loop as ::ReadFile so that we will
+ call them alternately. If ::GetOverlappedResult fails with
+ ERROR_MORE_DATA, use ::PeekNamedPipe to determine the size of the rest
+ of the message, then read it from the pipe. After dispatching the
+ message, use ::PeekNamedPipe to find out the size of the next message
+ in the pipe so we can read it all in one operation. If there's no
+ message in the pipe, we'll request just a single byte of the next
+ message that becomes available, and Windows will tell us when the rest
+ of the message is ready. If ::ReadFile fails with ERROR_MORE_DATA it
+ means there is data available now even though we didn't think there
+ was any. We go back to the top of the loop in this case and call
+ ::GetOverlappedResult again to retrieve the available data.
+
+2010-07-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42539
+ WebKitTestRunner needs to support printing ALERT, PROMPT and CONFIRM messages
+
+ - Convert injected bundle UIClient functions to will-style, at least until we establish
+ more concrete use cases for them past the TestRunner.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
+ (WebKit::InjectedBundlePageUIClient::willSetStatusbarText):
+ (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert):
+ (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm):
+ (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::addMessageToConsole):
+ (WebKit::WebChromeClient::runJavaScriptAlert):
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+ (WebKit::WebChromeClient::setStatusbarText):
+
+2010-07-21 Simon Fraser <simon.fraser@apple.com>
+
+ Windows build fix.
+
+ Need to supply implementations of PageClient::pageDidEnterAcceleratedCompositing()
+ and pageDidLeaveAcceleratedCompositing() for WebView on Windows.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ * UIProcess/win/WebView.h:
+
+2010-07-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't assert when clicking on a plug-in in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42762
+
+ Add stub for PluginView::handleEvent.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Get accelerated compositing working with webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=41084
+
+ Hook up dynamic DrawingArea switching, so that when the WebProcess hits a page
+ that requires accelerated compositing, we switch to the LayerBackedDrawingArea.
+
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ (DrawingAreaProxyMessage::):
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::pageDidEnterAcceleratedCompositing):
+ (WebKit::PageClientImpl::pageDidLeaveAcceleratedCompositing):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _startAcceleratedCompositing:]):
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
+ (-[WKView _pageDidEnterAcceleratedCompositing]):
+ (-[WKView _pageDidLeaveAcceleratedCompositing]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::):
+ (WebKit::DrawingAreaProxy::type):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setDrawingArea):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::didEnterAcceleratedCompositing):
+ (WebKit::WebPageProxy::didLeaveAcceleratedCompositing):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::attachRootGraphicsLayer):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ (WebKit::ChunkedUpdateDrawingArea::attachCompositingContext):
+ (WebKit::ChunkedUpdateDrawingArea::setRootCompositingLayer):
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::):
+ (WebKit::DrawingArea::type):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
+ (WebKit::LayerBackedDrawingArea::setSize):
+ (WebKit::LayerBackedDrawingArea::didUpdate):
+ (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ (WebKit::WebPage::enterAcceleratedCompositingMode):
+ (WebKit::WebPage::exitAcceleratedCompositingMode):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformInit):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::detachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
+
+2010-07-20 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit on Windows should build optionally with an unversioned ICU DLL
+ https://bugs.webkit.org/show_bug.cgi?id=42722
+ <rdar://problem/8211767> WebKit needs to link against unversioned ICU
+
+ To get the proper value for U_DISABLE_RENAMING into all source files, we force
+ the include of ICUVersion.h (our generated header) via the compiler options.
+
+ Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib)
+ we copy the ICU lib to an intermediate location under obj with a common name. This
+ allows us to link properly with either without adding a new build configuration.
+
+ * win/WebKit2Common.vsprops:
+ Copy ICU libs into a common location with a common name.
+ Add additional library search path to pick up icu lib.
+ Change ICU library filename specified to linker.
+ Add forced include of ICUVersion.h.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * Shared/win/UpdateChunk.h:
+ (WebKit::UpdateChunk::isEmpty): Added to match the Mac definition.
+
+2010-07-21 Anders Carlsson <andersca@apple.com>
+
+ Land file I forgot to add.
+
+ * WebProcess/com.apple.WebProcess.sb: Added.
+
+2010-07-21 Adam Roben <aroben@apple.com>
+
+ Move WebKit2WebProcess's settings to a vsprops file
+
+ Fixes <http://webkit.org/b/42751> WebKit2WebProcess should use vsprops
+ files
+
+ Reviewed by Darin Adler.
+
+ * win/WebKit2WebProcess.vcproj: Moved settings from here...
+ * win/WebKit2WebProcessCommon.vsprops: ...to here.
+
+2010-07-20 Ivan Krstić <ike@apple.com>
+
+ Reviewed and tweaked by Anders Carlsson and Sam Weinig.
+
+ Put WebProcess in a sandbox. All of the following changes are
+ Mac-only.
+ <rdar://problem/7865269>
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ Send Sandbox extension for injected bundle to WebProcess.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add Sandbox profile to Resources for WebProcess.
+
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ New function InjectedBundle::setSandboxToken.
+
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::load):
+ Consume Sandbox token for the bundle if present.
+
+ (WebKit::InjectedBundle::setSandboxToken):
+ Set Sandbox token for the bundle.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::loadInjectedBundle):
+ Extra function parameter for Sandbox token.
+
+ (WebKit::WebProcess::didReceiveMessage):
+ Pass Sandbox token to loadInjectedBundle().
+
+ * WebProcess/WebProcess.h:
+ Extra function parameter for Sandbox token in loadInjectedBundle().
+
+ * WebProcess/com.apple.WebProcess.sb: Added.
+ Sandbox profile for WebProcess.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ Initialize Sandbox, exit on failure.
+
+2010-07-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
+ Make Acid2 pass in WebKit2
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::objectContentType): Check for supported image mimetypes
+ before falling back to plugins.
+
+2010-07-20 Adam Roben <aroben@apple.com>
+
+ Remove WebKit2.sln
+
+ WebKit.sln builds all the same projects.
+
+ Rubber-stamped in advance by Steve Falkenburg.
+
+ * WebKit2.sln: Removed.
+
+2010-07-20 Adam Roben <aroben@apple.com>
+
+ Make the web process break into the debugger when Ctrl-Alt-Shift is
+ held during launch
+
+ Fixes <http://webkit.org/b/42670> Would like a way to break into the
+ debugger when the web process launches
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain): If the Control, Alt, and Shift keys are held down in a
+ Debug build, call DebugBreak() so that we will break into the
+ debugger.
+
+2010-07-20 Adam Roben <aroben@apple.com>
+
+ Teach Connection how to handle a slow receiver
+
+ Fixes <http://webkit.org/b/42667> Assertion in
+ Connection::sendOutgoingMessage when browser or web process is paused
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage): If WriteFile returns FALSE
+ and the last error is ERROR_IO_PENDING, Windows will write the data as
+ soon as the current write operation is completed. We don't need to do
+ anything special in this case, so there's no need to assert about it.
+
+2010-07-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Handle WKView visibility changes
+ <rdar://problem/7891077>
+
+ * Shared/mac/UpdateChunk.h:
+ (WebKit::UpdateChunk::isEmpty):
+ Add convenience getter.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewDidMoveToWindow]):
+ Reorder the calls to _updateActiveState and _updateVisibility based on whether the view is moved to
+ a window or away from a window.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ Initialize m_forceRepaintWhenResumingPainting to false.
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ Pass the m_forceRepaintWhenResumingPainting along to the DrawingAreaMessage::ResumePainting message.
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
+ Don't try to paint empty update chunks.
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ Don't paint the update chunk if we're not visible. Instead, make sure that the entire page is being redrawn
+ when its shown again.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
+ Rename m_shouldPaint to m_isPaintingSuspended and invert its logic.
+
+ (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
+ Don't schedule a display timer if the dirty rect is empty.
+
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ If painting is suspended, just send back an empty update chunk in the DidSetSize message.
+
+ (WebKit::ChunkedUpdateDrawingArea::resumePainting):
+ If forceRepaint is true, repaint the entire drawing area.
+
+2010-07-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement NPN_GetURL and NPN_PostURL
+ https://bugs.webkit.org/show_bug.cgi?id=42650
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::parsePostBuffer):
+ Add a FIXME about deleting the file.
+
+ (WebKit::makeURLString):
+ Move this static method before NPN_GetURL.
+
+ (WebKit::NPN_GetURL):
+ Call NetscapePLugin::LoadURL.
+
+ (WebKit::NPN_PostURL):
+ Ditto.
+
+ (WebKit::NPN_PostURLNotify):
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ Remove unreached code.
+
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+ Stop the stream if the plug-in returns -1 from NPP_Write.
+
+2010-07-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner and WebProcess simultaneously stall in CoreIPC::Connection::sendOutgoingMessage
+ https://bugs.webkit.org/show_bug.cgi?id=42356
+
+ Up the port queue length from 5 to 1024. While this does solve the problem, we should still try to
+ make sendOutgoingMessage not block. I've filed https://bugs.webkit.org/show_bug.cgi?id=42611 to track
+ doing this on Mac and Windows.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::open):
+ Call setMachPortQueueLength.
+
+ * Platform/mac/MachUtilities.cpp: Added.
+ (setMachPortQueueLength):
+ Given a mach port receive right, sets the port queue length.
+
+ * Platform/mac/MachUtilities.h: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add MachUtilities.cpp and MachUtilities.h
+
+2010-07-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
+
+ Handle NP_ASFILE and NP_ASFILEONLY transfer modes
+ https://bugs.webkit.org/show_bug.cgi?id=42587
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_StreamAsFile):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add NPP_ wrapper.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ Initialize m_fileHandle.
+
+ (WebKit::isSupportedTransferMode):
+ NP_ASFILE and NP_ASFILEONLY is now supported.
+
+ (WebKit::NetscapePluginStream::deliverData):
+ Call deliverDataToFile if necessary.
+
+ (WebKit::NetscapePluginStream::deliverDataToFile):
+ Create a temporary file and write the data into it.
+
+ (WebKit::NetscapePluginStream::stop):
+ If the transfer mode is either NP_ASFILE or NP_ASFILEONLY, make sure to
+ call NPP_StreamAsFile and close the file and delete it.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::cancelStreamLoad):
+ Keep a reference to the Stream since cancelling it will remove it from the map.
+
+2010-07-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_PostURLNotify
+ https://bugs.webkit.org/show_bug.cgi?id=42602
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::parsePostBuffer):
+ Read the buffer from a file if necessary and parse it.
+
+ (WebKit::NPN_GetURLNotify):
+ Add extra arguments.
+
+ (WebKit::NPN_PostURLNotify):
+ Parse the post buffer, then call NetscapePlugin::loadURL.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::loadURL):
+ Pass the method, the header fields and form data along.
+
+ (WebKit::NetscapePlugin::allowPopups):
+ Just return false for now.
+
+ (WebKit::NetscapePlugin::initialize):
+ Pass extra arguments to loadURL.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/PluginController.h:
+ Add method, header fields and form data.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::loadURL):
+ Set the method, add the header fields and set the body.
+
+2010-07-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add local storage support for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42584
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::swap):
+ * Shared/WebPreferencesStore.h:
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetLocalStorageEnabled):
+ (WKPreferencesGetLocalStorageEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setLocalStorageEnabled):
+ (WebKit::WebPreferences::localStorageEnabled):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::preferencesDidChange):
+
+2010-07-19 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Uae an OwnPtr for the drawing area in WebPage (fixes a leak!).
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::drawingArea):
+
+2010-07-19 Anders carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 does not have application cache
+ https://bugs.webkit.org/show_bug.cgi?id=42552
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Add SetApplicationCacheDirectory.
+
+ * Shared/WebPreferencesStore.h:
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ add offlineWebApplicationCacheEnabled.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetOfflineWebApplicationCacheEnabled):
+ (WKPreferencesGetOfflineWebApplicationCacheEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ Add getters/setters for whether the application cache is enabled.
+
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setOfflineWebApplicationCacheEnabled):
+ Update the store and call update().
+
+ * UIProcess/WebPreferences.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ Ask the web process to set the application cache directory.
+
+ * UIProcess/mac/WebContextMac.mm: Added.
+ (WebKit::WebContext::applicationCacheDirectory):
+ Return the application cache directory.
+
+ * UIProcess/win/WebContextWin.cpp: Added.
+ (WebKit::WebContext::applicationCacheDirectory):
+ Ditto.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add WebContextMac.mm
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::preferencesDidChange):
+
+ (WebKit::WebPage::didReceiveMessage):
+ Handle PreferencesDidChange. Get rid of the default: case statement so we'll
+ get warnings if we have unhandled message kinds.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::setApplicationCacheDirectory):
+ Set the application cache directory.
+
+ (WebKit::WebProcess::didReceiveMessage):
+ Handle SetApplicationCacheDirectory.
+
+ win/WebKit2.vcproj:
+ Add WebContextWin.cpp
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Another attempt at fixing the Windows build.
+
+ * WebProcess/Plugins/NPJSObjectMap.h:
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Try to fix Windows build.
+
+ * win/WebKit2.vcproj:
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More NPRuntime work
+ https://bugs.webkit.org/show_bug.cgi?id=42526
+
+ * WebProcess/Plugins/NPJSObjectMap.cpp:
+ (WebKit::identifierFromIdentifierRep):
+ (WebKit::NPJSObject::hasProperty):
+ Check if the JSObject has the given property.
+
+ (WebKit::NPJSObject::getProperty):
+ Add stubbed out function.
+
+ (WebKit::NPJSObject::npClass):
+ Add NP_HasProperty and NP_GetProperty.
+
+ (WebKit::NPJSObject::NP_HasProperty):
+ Call NPJSObject::hasProperty.
+
+ (WebKit::NPJSObject::NP_GetProperty):
+ Call NPJSObject::getProperty.
+
+ * WebProcess/Plugins/NPRuntimeUtilities.cpp:
+ (WebKit::releaseNPVariantValue):
+ Release the given NPVariant.
+
+ * WebProcess/Plugins/NPRuntimeUtilities.h:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetProperty):
+ Call the NPClass GetProperty function.
+
+ (WebKit::NPN_HasProperty):
+ Call the NPClass HasProperty function.
+
+ (WebKit::NPN_ReleaseVariantValue):
+ Call releaseNPVariantValue.
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NPJSObjectMap class
+ https://bugs.webkit.org/show_bug.cgi?id=42524
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/NPJSObjectMap.cpp: Added.
+ * WebProcess/Plugins/NPJSObjectMap.h: Added.
+ Add NPJSObjectMap, a map which contains NPObjects that wrap JavaScript objects.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Initialize the map.
+
+ (WebKit::PluginView::~PluginView):
+ Invalidate the map.
+
+ (WebKit::PluginView::frame):
+ Add frame getter.
+
+ (WebKit::PluginView::windowScriptNPObject):
+ Wrap the window object.
+
+ (WebKit::PluginView::pluginElementNPObject):
+ Wrap the plug-in element object.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement more NPRuntime related NPN_ functions
+ https://bugs.webkit.org/show_bug.cgi?id=42520
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/NPRuntimeUtilities.cpp: Added.
+ * WebProcess/Plugins/NPRuntimeUtilities.h: Added.
+ Add new file with NPRuntime related utility functions.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_CreateObject):
+ (WebKit::NPN_RetainObject):
+ (WebKit::NPN_ReleaseObject):
+ Call the corresponding NPRuntimeUtilities functions.
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Begin work on NPRuntime support
+ https://bugs.webkit.org/show_bug.cgi?id=42519
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Handle NPNVWindowNPObject and NPNVPluginElementNPObject.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::windowScriptNPObject):
+ (WebKit::NetscapePlugin::pluginElementNPObject):
+ Call the plug-in controller.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add new windowScriptNPObject and pluginElementNPObject functions.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::windowScriptNPObject):
+ (WebKit::PluginView::pluginElementNPObject):
+ Add stubbed out functions.
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement some NPRuntime related NPN_ functions
+ https://bugs.webkit.org/show_bug.cgi?id=42518
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetStringIdentifier):
+ (WebKit::NPN_GetStringIdentifiers):
+ (WebKit::NPN_GetIntIdentifier):
+ (WebKit::NPN_IdentifierIsString):
+ (WebKit::NPN_UTF8FromIdentifier):
+ (WebKit::NPN_IntFromIdentifier):
+ (WebKit::NPN_CreateObject):
+
+2010-07-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add dumping of statusbar text to WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=42516
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ Add setStatusbarText callback to WKBundlePageUIClient.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::setStatusbarText):
+ Call setStatusbarText.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setStatusbarText):
+ Call the bundle page UI client.
+
+2010-07-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKitTestRunner should load the test plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42509
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetAdditionalPluginPath):
+ Add a private function for setting a single additional plug-in path. the WebKit1 SPI that does the
+ same thing takes an array of paths, but this is good enough for now.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::setAdditionalPluginPaths):
+ Set the additional plug-in paths vector and refresh the database.
+
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary):
+ First try to load plug-ins in the additional plug-in paths.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setAdditionalPluginPath):
+ Call PluginInfoStore::setAdditionalPluginPaths.
+
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::pluginInfoStore):
+ Make the plug-in info store per context instead of having a single shared info store.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPlugins):
+ (WebKit::WebProcessProxy::getPluginHostConnection):
+ * UIProcess/WebProcessProxy.h:
+ Get the plug-in info store from the context.
+
+2010-07-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Stop all NPStreams before destroying a plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42504
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::stopAllStreams):
+ Go through all streams and stop them.
+
+ (WebKit::NetscapePlugin::destroy):
+ Call stopAllStreams.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add stopAllStreams.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ Make stop public.
+
+2010-07-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Open streams should not keep a plug-in view alive
+ https://bugs.webkit.org/show_bug.cgi?id=42503
+
+ PluginView::Stream now has a weak reference to its PluginView.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::~Stream):
+ Assert that the plug-in view is null.
+
+ (WebKit::PluginView::Stream::didFail):
+ After calling removeStream, set the plug-in view member variable to 0. This is OK to do
+ since we keep a reference to the Stream, so we're sure that the call to removeStream does not
+ destroy the stream.
+
+ (WebKit::PluginView::Stream::didFinishLoading):
+ Ditto .
+
+ (WebKit::PluginView::~PluginView):
+ Cancel all streams.
+
+ (WebKit::PluginView::cancelAllStreams):
+ Cancel all streams.
+
+2010-07-16 Zhe Su <suzhe@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
+ https://bugs.webkit.org/show_bug.cgi?id=42253
+
+ Dummy implementation of EditorClient::willSetInputMethodState.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::willSetInputMethodState):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+
+2010-07-16 Alice Liu <alice.liu@apple.com>
+
+ Build fix, not reviewed.
+
+ Reverted http://trac.webkit.org/changeset/63585 because getopt isn't
+ available in the OpenSource support libraries
+
+ * WebKit2.sln:
+
+2010-07-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=42482
+ <rdar://problem/8197701>
+ Add notification of when the BackForwardList changes
+ to aid invalidation of Back/Forward related UI elements.
+
+ * UIProcess/API/C/WKPage.h:
+ Add didChangeBackForwardList to the WKPageLoaderClient. This
+ fires whenever an item is added or removed from the back forward
+ list or when the cursor changes position.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::addItem):
+ (WebKit::WebBackForwardList::goToItem):
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didChangeBackForwardList):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeBackForwardList):
+ * UIProcess/WebPageProxy.h:
+ Pipe changes to the WebBackForwardList up to the page load client.
+
+2010-07-16 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add WebKitTestRunner to the WebKit2 solution
+
+ * WebKit2.sln: Add InjectedBundle and WebKitTestRunner projects. Also change the build dependency order from
+ DumpRunderTree --> WebKitAPITest to
+ DumpRenderTree --> InjectedBundle --> WebKitTestRunner --> WebKitAPITest
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Set notifyData to the stream's notification data
+ https://bugs.webkit.org/show_bug.cgi?id=42429
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::start):
+
+2010-07-15 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix. Don't include CoreGraphics.h on non-CG builds.
+
+ * WebKit2Prefix.h: Conditionalize include of CoreGraphics.h
+ to avoid build break on WinCairo.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ If needed, NPN_GetURL the src URL
+ https://bugs.webkit.org/show_bug.cgi?id=42424
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_GetValue):
+ Add NPP_GetValue wrapper.
+
+ (WebKit::NetscapePlugin::shouldLoadSrcURL):
+ Check whether the src url should be cancelled.
+
+ (WebKit::NetscapePlugin::initialize):
+ If the src URL should be loaded, then load it.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Stop the plug-in stream when it's finished loading
+ https://bugs.webkit.org/show_bug.cgi?id=42423
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::streamDidFinishLoading):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::streamDidFinishLoading):
+ Call NetscapePluginStream::didFinishLoading.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::didFinishLoading):
+ Stop the stream with NPRES_DONE.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add streamDidFinishLoading.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::didFinishLoading):
+ Call Plugin::streamDidFinishLoading.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass URL stream data to the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42420
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::streamDidReceiveData):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::streamDidReceiveData):
+ Call NetscapePluginStream::didReceiveData.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::didReceiveData):
+ Deliver the data to the plug-in.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add pure virtual streamDidReceiveData member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::didReceiveData):
+ Call Plugin::streamDidReceiveData.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle failed loads correctly
+ https://bugs.webkit.org/show_bug.cgi?id=42418
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::streamDidFail):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::streamDidFail):
+ Call NetscapePluginStream::didFail.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::didReceiveResponse):
+ Take a reference to the plug-in stream in case starting it causes it to be destroyed.
+
+ (WebKit::NetscapePluginStream::didFail):
+ Take a reference to the plug-in stream in case stopping it causes it to be destroyed.
+
+ (WebKit::NetscapePluginStream::destroy):
+ Cancel the stream.
+
+ (WebKit::NetscapePluginStream::start):
+ If we fail to start the stream, cancel the load.
+
+ (WebKit::NetscapePluginStream::cancel):
+ Call NetscapePlugin::cancelStreamLoad.
+
+ (WebKit::NetscapePluginStream::notifyAndDestroyStream):
+ Don't call cancel here. notifyAndDestroyStream can be called when we don't want to cancel the
+ load, such as when it's already failed to load.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ Add didFail.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add pure virtual streamDidFail member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::Stream):
+ Initialize m_streamWasCancelled to false.
+
+ (WebKit::PluginView::Stream::cancel):
+ Set m_streamWasCancelled to true.
+
+ (WebKit::PluginView::Stream::didFail):
+ Call Plugin::streamDidFail.
+
+2010-07-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=42358
+ <rdar://problem/8194512>
+ Hyphenation tests crash the Web process
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Add missing initializer.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix the Windows build.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::didReceiveResponse):
+ expectedContentLength should be a signed long long.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cancel stream loads when destroying NetscapePluginStreams
+ https://bugs.webkit.org/show_bug.cgi?id=42413
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::cancelStreamLoad):
+ Call PluginController::cancelStreamLoad.
+
+ (WebKit::NetscapePlugin::streamDidReceiveResponse):
+ Call NetscapePluginStream::didReceiveResponse.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::didReceiveResponse):
+ Try to start the stream.
+
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ Don't stop the stream if it can't be started. start handles that now.
+
+ (WebKit::isSupportedTransferMode):
+ Return whether the given transfer mode is supported.
+
+ (WebKit::NetscapePluginStream::start):
+ If the stream fails to start, call notifyAndDestroyStream. If it starts successfully but has
+ an unsupported transfer mode, call stop.
+
+ (WebKit::NetscapePluginStream::notifyAndDestroyStream):
+ Cancel the stream load unless it's being destroyed because it has finished loading.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add cancelStreamLoad pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::cancel):
+ Tell the stream loader to cancel and null it out.
+
+ (WebKit::PluginView::cancelStreamLoad):
+ Get the stream and cancel it.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start loading plug-in streams
+ https://bugs.webkit.org/show_bug.cgi?id=42407
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::streamDidReceiveResponse):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::streamDidReceiveResponse):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add streamDidReceiveResponse pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ Make PluginView::Stream a NetscapePlugInStreamLoaderClient.
+
+ (WebKit::PluginView::Stream::start):
+ Create a plug-in loader and start loading.
+
+ (WebKit::PluginView::Stream::didReceiveResponse):
+ Get the necessary data out of the resource response and call streamDidReceiveResponse.
+
+ (WebKit::PluginView::Stream::didReceiveData):
+ (WebKit::PluginView::Stream::didFail):
+ (WebKit::PluginView::Stream::didFinishLoading):
+ Add empty stubs.
+
+2010-07-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42396
+ Give the navigation type in the policy client callbacks meaning.
+
+ - Use the new WKFrameNavigationType instead of just uint32_t.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toWK):
+ Add conversion method from WebCore::NavigationType to WKFrameNavigationType.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ * UIProcess/WebPolicyClient.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a PluginView::Stream class
+ https://bugs.webkit.org/show_bug.cgi?id=42398
+
+ * WebProcess/Plugins/PluginView.cpp:
+ Add the Stream class.
+
+ (WebKit::PluginView::performURLRequest):
+ Create the stream and start it.
+
+ (WebKit::PluginView::addStream):
+ Add the stream to the map.
+
+ (WebKit::PluginView::removeStream):
+ Remove the stream from the map.
+
+ * WebProcess/Plugins/PluginView.h:
+ Add Stream forward declaration and the m_streams map.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't allow multiple calls to NetscapePluginStream::stop
+ https://bugs.webkit.org/show_bug.cgi?id=42395
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ Initialize m_urlNotifyHasBeenCalled.
+
+ (WebKit::NetscapePluginStream::~NetscapePluginStream):
+ Assert that the stream didn't need a URL notification or that one was sent.
+
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ Don't call stop in the JS failure case because the stream won't be started.
+
+ (WebKit::NetscapePluginStream::stop):
+ Remove m_isStarted check and add an assertion instead. Move code that calls NPP_URLNotify and
+ destroys the stream out to a separate function.
+
+ (WebKit::NetscapePluginStream::notifyAndDestroyStream):
+ Call NPP_URLNotify if necessary and destroy the stream.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_DestroyStream
+ https://bugs.webkit.org/show_bug.cgi?id=42393
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_DestroyStream):
+ Call NetscapePlugin::destroyStream.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroyStream):
+ Check if the stream is valid, and if it is call NetscapePluginStream::destroy.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ Keep a reference to the stream in case it's destroyed by an NPP_ call.
+
+ (WebKit::NetscapePluginStream::destroy):
+ Verify that the stream can be destroyed and stop it.
+
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+ Add m_isStarted checks after any calls to NPP_ functions.
+
+ (WebKit::NetscapePluginStream::stop):
+ Set m_isStarted to false before calling NPP_DestroyStream.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ (WebKit::NetscapePluginStream::npStream):
+ Add NPStream getter.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner goes off the deep end, spinning in a dispatch queue thread
+ https://bugs.webkit.org/show_bug.cgi?id=42355
+
+ Sometimes, when receiving a message whose size is very close to the inlineMessageMaxSize,
+ mach_msg would return with MACH_RCV_TOO_LARGE. In debug builds we would assert, but in release
+ builds we would just bail and the receiveSourceEventHandler would be run again shortly since we didn't
+ actually pull the message off the mach message queue.
+
+ Fix this by setting the receive source buffer size to include the maximum message trailer size, which
+ mach_msg requires. Also, handle mach_msg returning MACH_RCV_TOO_LARGE (even though in theory it would never happen
+ now that the receivedBufferSize always includes the maximum message trailer size.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::receiveSourceEventHandler):
+ Use a Vector with inline data instead of a char array. This way we can resize the Vector if the message received
+ is too big.
+
+2010-07-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Send JavaScript stream data to plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=42384
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_WriteReady):
+ (WebKit::NetscapePlugin::NPP_Write):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add NPP_ wrappers.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ Initialize m_deliveryDataTimer and m_stopstreamWhenDoneDelivering.
+
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ Call deliverData and stop.
+
+ (WebKit::NetscapePluginStream::deliverData):
+ Add the data to m_deliveryData and call deliverDataToPlugin.
+
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+ Deliver the data in m_deliveryData to the plug-in. Call NPP_WriteReady to see how much
+ data the plug-in can handle right now. If the plug-in returns zero or a negative value, delay the
+ delivery using the delivery data timer. Otherwise, call NPP_Write in chunks until all the data has been
+ delivered, then stop the stream if needed.
+
+ (WebKit::NetscapePluginStream::stop):
+ If the reason for stopping the stream is that it's finished and the plug-in hasn't processed all the data,
+ don't close the stream now. Instead, set m_stopStreamWhenDoneDelivering to true which will cause the stream to be
+ closed once all data has been delivered.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ Add member functions and member variables.
+
+2010-07-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Steve Falkenburg.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42299
+ Correct WinCairo build for new WebKit2 project structure.
+
+ * win/WebKit2Apple.vsprops: Put WebKit2.def here.
+ * win/WebKit2CFLite.def: Added CFLite version of def file.
+ * win/WebKit2CFLite.vsprops: Add new WebKit2CFLite.def here.
+ * win/WebKit2Common.vsprops: Remove WebKit2.def definition as
+ WinCairo and Apple need different versions of this.
+ * win/WebKit2WebProcess.vcproj: Add a new Debug_Cairo target
+ for the WebKit2WebProcess project.
+
+2010-07-15 Mark Rowe <mrowe@apple.com>
+
+ Update the sorting in the Xcode project files.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42315
+ <rdar://problem/8185281>
+ All text in WebKit2 draws with no subpixel antialiasing
+
+ - Change CGBitmapInfo passed to CGBitmapContextCreate and CGImageCreate
+ from kCGImageAlphaPremultipliedLast to kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host.
+
+ * Shared/mac/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::createImage):
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+
+2010-07-14 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ - Fix WebKitTestRunner build
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add stdint.h include.
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Try to fix Windows build.
+
+ * win/WebKit2.vcproj:
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on plug-in streams
+ https://bugs.webkit.org/show_bug.cgi?id=42308
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::loadURL):
+ If the target is null, create a NetscapePluginStream and add it to the m_streams map.
+
+ (WebKit::NetscapePlugin::removePluginStream):
+ Remove the given NetscapePluginStream from the m_streams map.
+
+ (WebKit::NetscapePlugin::NPP_NewStream):
+ (WebKit::NetscapePlugin::NPP_DestroyStream):
+ Add NPP_ wrappers.
+
+ (WebKit::NetscapePlugin::streamFromID):
+ Return the plug-in stream given a stream ID.
+
+ (WebKit::NetscapePlugin::didEvaluateJavaScript):
+ Find the plug-in stream and call sendJavaScriptStream.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ Initialize member variables.
+
+ (WebKit::NetscapePluginStream::~NetscapePluginStream):
+ Assert that we aren't started.
+
+ (WebKit::NetscapePluginStream::sendJavaScriptStream):
+ If the JavaScript request was successful, start the stream. Otherwise call stop() which just
+ ends up calling NPP_URLNotify when the stream isn't started.
+
+ (WebKit::NetscapePluginStream::start):
+ Set up the NPStream object. Call NPP_NewStream. Return false if the call was not successful, or if
+ the requested stream type is one that we don't yet support.
+
+ (WebKit::NetscapePluginStream::stop):
+ Call NPP_DestroyStream if the stream is started. Call NPP_URLNotify if necessary.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ Remove unneeded comment.
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Make Back/Forward work.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::goForward): Pass the item ID to avoid roundtrip.
+ (WebKit::WebPageProxy::goBack): Ditto.
+ (WebKit::WebPageProxy::didReceiveMessage): Implement WebPageProxyMessage::BackForwardGoToItem.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::goForward): Use m_page->goToItem with the correct type instead of the Page shortcut.
+ (WebKit::WebPage::goBack): Ditto.
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ Remove unused m_canGoBack and m_canGoForward.
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add NetscapePluginStream class
+ https://bugs.webkit.org/show_bug.cgi?id=42296
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Added.
+ (WebKit::NetscapePluginStream::NetscapePluginStream):
+ (WebKit::NetscapePluginStream::~NetscapePluginStream):
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h: Added.
+ (WebKit::NetscapePluginStream::create):
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42297
+ <rdar://problem/8187355>
+ Make titles in WebBackForwardListItems work.
+
+ - Make WebBackForwardListItemMap per WebProcessProxy to allow updating
+ them separate from a page. They are conceptually per process anyway.
+ - Add a message to add or update a WebBackForwardListItemMap triggered
+ by the WebCore::notifyHistoryItemChanged mechanism.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ Add AddOrUpdateBackForwardItem message.
+
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::setOriginalURL):
+ (WebKit::WebBackForwardListItem::setURL):
+ (WebKit::WebBackForwardListItem::setTitle):
+ Add setters.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ BackForwardAddItem now assumes the item has already been created, so
+ now just forwards the add message onto the WebBackForwardList.
+
+ (WebKit::WebPageProxy::addItemToBackForwardList): Take a WebBackForwardList instead of an ID.
+ (WebKit::WebPageProxy::goToItemInBackForwardList): Ditto.
+ * UIProcess/WebPageProxy.h: Ditto.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::webBackForwardItem):
+ (WebKit::WebProcessProxy::addOrUpdateBackForwardListItem):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ Have the WebProcessProxy manage the WebBackForwardListItems.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem):
+ (WebKit::WK2NotifyHistoryItemChanged): Use this to notify UIProcess
+ of HistoryItem changes (such as the title being added).
+ (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
+ Register the notifyHistoryItemChanged function.
+ (WebKit::WebBackForwardListProxy::addItem):
+ Just send the ID as the updateBackForwardItem is already going to have
+ been called by this time.
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Call NPN_URLNotify for frame loads initiated by plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=42291
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::loadURL):
+ If needed, keep track of the request ID and URL so we can call NPP_URLNotify at a later point.
+
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ Get the notification data and the URL from the map and call NPP_URLNotify.
+
+ (WebKit::NetscapePlugin::frameDidFail):
+ Get the notification data and the URL from the map and call NPP_URLNotify.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NetscapePlugin::NPP_ member functions for calling into the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42287
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_New):
+ (WebKit::NetscapePlugin::NPP_Destroy):
+ (WebKit::NetscapePlugin::NPP_SetWindow):
+ (WebKit::NetscapePlugin::NPP_URLNotify):
+ (WebKit::NetscapePlugin::callSetWindow):
+ (WebKit::NetscapePlugin::initialize):
+ (WebKit::NetscapePlugin::destroy):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+
+2010-07-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send JavaScript url request results back to the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42277
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::didEvaluateJavaScript):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stub.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::didEvaluateJavaScript):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add Empty stub.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add didEvaluateJavaScript pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ If target is not null, Call Plugin::frameDidFail or Plugin::frameDidFinishLoading.
+ If target is null, call didEvaluateJavaScript with the result string.
+
+2010-07-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
+ Make changing Cursors work in WebKit2.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ Add SetCursor message.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add encoding/decoding of Cursors. For now we don't support Custom
+ cursors.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setCursor):
+ * UIProcess/PageClient.h:
+ Add pass through functions to get the cursor from the WebPageProxy
+ to the WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setCursor:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ Implement changing the cursor.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::setCursor):
+ * UIProcess/WebPageProxy.h:
+ Decode the cursor.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc):
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::onSetCursor):
+ (WebKit::WebView::setCursor):
+ * UIProcess/win/WebView.h:
+ Implement changing the cursor.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setCursor):
+ (WebKit::WebChromeClient::setLastSetCursorToCurrentCursor):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ Encode the cursor when setCursor is called.
+
+2010-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for loading javascript: URLs
+ https://bugs.webkit.org/show_bug.cgi?id=42221
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::controller):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add stub function.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroy):
+ Set the plug-in controller to 0.
+
+ (WebKit::NetscapePlugin::controller):
+ Return the plug-in controller.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add controller() member function.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add controller() pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performURLRequest):
+ If the given URL request has a javascript: protocol, call
+ performJavaScriptURLRequest.
+
+ (WebKit::PluginView::performFrameLoadURLRequest):
+ Add a security origin check.
+
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ Evaluate the JavaScript code, Get the resulting string.
+
+ * WebProcess/Plugins/PluginView.h:
+ Add performJavaScriptURLRequest.
+
+2010-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for URL frame loading using NPN_GetURLNotify
+ https://bugs.webkit.org/show_bug.cgi?id=42192
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::frameDidFinishLoading):
+ (WebKit::DummyPlugin::frameDidFail):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add empty stubs.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ Implement NPN_GetURLNotify and have it call NetscapePlugin::loadURL.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_nextRequestID to 0.
+
+ (WebKit::NetscapePlugin::loadURL):
+ Ask the plug-in controller to load the URL.
+
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ (WebKit::NetscapePlugin::frameDidFail):
+ Add empty stubs for now.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add new member functions for frame load notifications.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add loadURL.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::URLRequest::URLRequest):
+ Add class that represents an URL request.
+
+ (WebKit::PluginView::PluginView):
+ Initialize m_pendingURLRequestsTimer.
+
+ (WebKit::PluginView::~PluginView):
+ Unset all active load listeners.
+
+ (WebKit::PluginView::pendingURLRequestsTimerFired):
+ Take the first request in the queue and process it.
+
+ (WebKit::PluginView::performURLRequest):
+ Call performFrameLoadURLRequest if necessary.
+
+ (WebKit::PluginView::performFrameLoadURLRequest):
+ Find a frame to load the request in. If a frame doesn't exist try to create a new frame.
+
+ (WebKit::PluginView::loadURL):
+ Create a URLRequest and add it to the queue.
+
+ (WebKit::PluginView::didFinishLoad):
+ Get the pending frame load request and call Plugin::frameDidFinishLoading.
+
+ (WebKit::PluginView::didFailLoad):
+ Get the pending frame load request and call Plugin::frameDidFail.
+
+ * WebProcess/Plugins/PluginView.h:
+ Inherit from WebFrame::LoadListener.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::didFinishLoad):
+ Call the WebFrame's load listener if needed.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::WebFrame):
+ Initialize m_loadListener to 0.
+
+ * WebProcess/WebPage/WebFrame.h:
+ Add a LoadListener class that the plug-in view can use to track frame loads.
+
+ (WebKit::WebFrame::LoadListener::~LoadListener):
+ (WebKit::WebFrame::setLoadListener):
+ (WebKit::WebFrame::loadListener):
+
+2010-07-13 Diego Gonzalez <diegohcg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WebKit2] Hook up navigation actions
+ https://bugs.webkit.org/show_bug.cgi?id=42183
+
+ Make Back, Forward, Stop and Reload being enable/disabled according
+ page loading.
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didStartProvisionalLoadForFrame):
+ (qt_wk_didCommitLoadForFrame):
+ (qt_wk_didFinishLoadForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::updateAction):
+
+2010-07-13 John Sullivan <sullivan@apple.com>
+
+ Written by Simon Fraser, reviewed by me.
+
+ Cleaner fix for previous check-in.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ Use std::max<int> for int-casting brevity.
+
+2010-07-13 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed signed/unsigned problem that led to bogus contents in the array
+ returned by WKBackForwardListCopyBackListWithLimit().
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ Cast m_current and limit to signed values in std::max call.
+
+2010-07-13 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Ada Chan.
+
+ Fix missing resources causing layout test failures
+ https://bugs.webkit.org/show_bug.cgi?id=42179
+
+ Quick fix to get the layout tests going again.
+ I'll work on getting resource.h from WebKit into a cross-project
+ propagated header after this lands.
+
+ * win/WebKit2.rc:
+ * win/resource.h: Copied from WebKit/win/WebKit.vcproj/resource.h.
+
+2010-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make all NPN_ functions static.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+
+2010-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Document the member functions of the abstract Plugin and PluginController classes.
+
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginController.h:
+
+2010-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Trivial build fix.
+
+ Provide a stub for mimeTypeFromExtension() that uses notImplemented().
+
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::mimeTypeFromExtension):
+
+2010-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Tweaks needed to compile WebKit2 with Qt
+ https://bugs.webkit.org/show_bug.cgi?id=41604
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::launch): Adjust to PassOwnPtr API changes.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Don't include JavaScriptCore.h,
+ as it unconditionally includes JSStringRefCF. Instead include JavaScript.h.
+
+2010-07-12 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Don't build MiniBrowser except for Debug_Internal.
+
+ * WebKit2.sln:
+
+2010-07-12 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Make WebKit2 be built by build-webkit (so it will be built by build.webkit.org bots)
+ https://bugs.webkit.org/show_bug.cgi?id=40922
+
+ Add additional dependent projects. Necessary since our WebKit build on
+ Windows is packaged into a DLL with WebKit2.
+
+ * WebKit2.sln:
+
+2010-07-12 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Fix WebKit2 to use the same compiler-selection logic as the other projects.
+
+ * WebKit2.xcodeproj/project.pbxproj: Don't hard-code WebKit2 to build with GCC 4.2.
+
+2010-07-12 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WKView should override setFrameSize: instead of setFrame:
+ https://bugs.webkit.org/show_bug.cgi?id=42127
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setFrameSize:]): Override this method instead of setFrame:,
+ since that is the right way to do it.
+
+2010-07-12 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Alice Liu.
+
+ <rdar://problem/8113038> WebKit1 and WebKit2 should build as a single DLL
+ https://bugs.webkit.org/show_bug.cgi?id=40921
+
+ Pre-WebKit2 WebKit now builds into a static library named WebKitLib.lib.
+ WebKit.dll now links in WebCore.lib, WebKitLib.lib and WebKit2 code.
+
+ This is a first step. We'll likely want to migrate the remainder of
+ the non-deprecated WebKit code (strings, DLLMain, resources) into WebKit2.
+
+ * UIProcess/API/C/WKBase.h: Updated to new BUILDING_ name.
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Updated to new BUILDING_ name.
+ * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Removed.
+ * WebProcess/win/DllMain.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
+ * WebProcess/win/WebLocalizableStrings.cpp: Removed. Overlaps with implementation in WebKitLib.lib.
+ * WebProcess/win/WebLocalizableStrings.h: Removed. Overlaps with implementation in WebKitLib.lib.
+ * win/WebKit2.def: Added. Copied from WebKit project.
+ * win/WebKit2.rc: Added resources previously in WebKit.
+ * win/WebKit2.vcproj: Changed project name to WebKit so we will link output to WebKit.dll.
+ Removed implementations overlapping with WebKitLib (WebCoreLocalizedStrings, DllMain, WebLocalizableStrings, WebProcessMain).
+ * win/WebKit2Common.vsprops: Use a framework name of WebKit instead of WebKit2 to reflect project name.
+ Renamed BUILDING_WEBKIT2 to BUILDING_WEBKIT since there is now just a single WebKit.dll.
+ * win/WebKit2WebProcess.vcproj: Link against WebKit instead of WebKit2 due to renaming.
+ * win/deleteButton.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButton.png.
+ * win/deleteButtonPressed.png: Copied from ../WebKit/win/WebKit.vcproj/deleteButtonPressed.png.
+ * win/fsVideoAudioVolumeHigh.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeHigh.png.
+ * win/fsVideoAudioVolumeLow.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoAudioVolumeLow.png.
+ * win/fsVideoExitFullscreen.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoExitFullscreen.png.
+ * win/fsVideoPause.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPause.png.
+ * win/fsVideoPlay.png: Copied from ../WebKit/win/WebKit.vcproj/fsVideoPlay.png.
+ * win/missingImage.png: Copied from ../WebKit/win/WebKit.vcproj/missingImage.png.
+ * win/nullplugin.png: Copied from ../WebKit/win/WebKit.vcproj/nullplugin.png.
+ * win/panEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panEastCursor.png.
+ * win/panIcon.png: Copied from ../WebKit/win/WebKit.vcproj/panIcon.png.
+ * win/panNorthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthCursor.png.
+ * win/panNorthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthEastCursor.png.
+ * win/panNorthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panNorthWestCursor.png.
+ * win/panSouthCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthCursor.png.
+ * win/panSouthEastCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthEastCursor.png.
+ * win/panSouthWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panSouthWestCursor.png.
+ * win/panWestCursor.png: Copied from ../WebKit/win/WebKit.vcproj/panWestCursor.png.
+ * win/searchCancel.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancel.png.
+ * win/searchCancelPressed.png: Copied from ../WebKit/win/WebKit.vcproj/searchCancelPressed.png.
+ * win/searchMagnifier.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifier.png.
+ * win/searchMagnifierResults.png: Copied from ../WebKit/win/WebKit.vcproj/searchMagnifierResults.png.
+ * win/textAreaResizeCorner.png: Copied from ../WebKit/win/WebKit.vcproj/textAreaResizeCorner.png.
+ * win/verticalTextCursor.png: Copied from ../WebKit/win/WebKit.vcproj/verticalTextCursor.png.
+ * win/zoomInCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomInCursor.png.
+ * win/zoomOutCursor.png: Copied from ../WebKit/win/WebKit.vcproj/zoomOutCursor.png.
+
+2010-07-12 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Get rid of auto_ptr use in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42119
+
+ Replace all use of auto_ptr with OwnPtr/PassOwnPtr.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::sendSyncMessage):
+ (CoreIPC::Connection::processIncomingMessage):
+ (CoreIPC::Connection::sendOutgoingMessages):
+ (CoreIPC::Connection::dispatchMessages):
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Message::Message):
+ (CoreIPC::Connection::send):
+ (CoreIPC::Connection::sendSync):
+ (CoreIPC::Connection::waitFor):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ (CoreIPC::createArgumentDecoder):
+ (CoreIPC::Connection::receiveSourceEventHandler):
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::readEventHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/RunLoop.cpp:
+ (RunLoop::performWork):
+ (RunLoop::scheduleWork):
+ * Platform/RunLoop.h:
+ * Platform/WorkItem.h:
+ (WorkItem::create):
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::executeWorkItem):
+ (WorkQueue::scheduleWork):
+ (WorkQueue::EventSource::EventSource):
+ (WorkQueue::registerMachPortEventHandler):
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::connectSignal):
+ (WorkQueue::scheduleWork):
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::registerHandle):
+ (WorkQueue::scheduleWork):
+ (WorkQueue::performWork):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::sendMessage):
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::send):
+
+2010-07-12 Ada Chan <adachan@apple.com>
+
+ Build fix. Copy WKArray.h to the include directory.
+
+ * win/WebKit2Generated.make:
+
+2010-07-12 Mark Rowe <mrowe@apple.com>
+
+ Re-do an Xcode project change that Xcode decided not to save.
+
+ * WebKit2.xcodeproj/project.pbxproj: Remove WebKit2.exp from the project.
+ For some reason it was being copied in to the framework wrapper.
+
+2010-07-12 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove the exports file from WebKit2.
+
+ * Configurations/Base.xcconfig: Have symbols default to hidden visibility.
+ * Configurations/WebKit2.xcconfig: Remove the export file.
+ * UIProcess/API/mac/WKView.h: Export the WKView class.
+ * WebProcess/WebKitMain.cpp: Export the WebKitMain function.
+ * mac/WebKit2.exp: Removed.
+
+2010-07-12 Adam Roben <aroben@apple.com>
+
+ Move WebKit2.vcproj's settings into .vsprops files
+
+ This makes it easier to make changes that affect all configurations.
+
+ Fixes <http://webkit.org/b/42097> WebKit2 should use .vsprops files
+
+ Reviewed by Steve Falkenburg.
+
+ * win/WebKit2.vcproj: Moved settings from here to the files below.
+ * win/WebKit2Apple.vsprops: Added. Links against Apple-specific
+ libraries.
+ * win/WebKit2CFLite.vsprops: Added. Links against CFLite.
+ * win/WebKit2Common.vsprops: Added. Contains settings shared by all
+ configurations.
+ * win/WebKit2DirectX.vsprops: Added. Contains settings to help with
+ linking against DirectX.
+
+2010-07-12 Adam Roben <aroben@apple.com>
+
+ Stop generating stripped symbols for Release builds
+
+ It turns out we can strip the symbols after-the-fact using PDBCopy.
+
+ Fixes <http://webkit.org/b/42085>.
+
+ Reviewed by Steve Falkenburg.
+
+ * win/WebKit2.vcproj: Removed the no-longer-needed Release override of
+ the StripPrivateSymbols attribute. (This attribute is no longer set in
+ release.vsprops, so doesn't need to be overridden.)
+
+2010-07-12 Brian Weinstein <bweinstein@apple.com>
+
+ WebKit2 build fix for Windows.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Remove some stub function definitions.
+ * win/WebKit2.vcproj: Add PluginController.h to the vcproj.
+
+2010-07-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a PluginController class, use it for invalidation and getting the user agent
+ https://bugs.webkit.org/show_bug.cgi?id=42084
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginController.h
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::initialize):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Pass the PluginController to initialize.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ Implement NPN_UserAgent, NPN_MemAlloc, NPN_MemFree, NPN_InvalidateRect and NPN_InvalidateRegion.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_pluginController to null.
+
+ (WebKit::NetscapePlugin::invalidate):
+ Ask the plug-in controller to invalidate.
+
+ (WebKit::NetscapePlugin::userAgent):´
+ Ask the plug-in controller for the user agent.
+
+ (WebKit::NetscapePlugin::initialize):
+ Set the m_pluginController member variable.
+
+ * WebProcess/Plugins/Plugin.h:
+ Make initialize take a PluginController.
+
+ * WebProcess/Plugins/PluginController.h: Added.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::initializePlugin):
+ Pass the PluginController to initialize.
+
+ (WebKit::PluginView::invalidateRect):
+ Tell the host window to invalidate the given rect.
+
+ (WebKit::PluginView::invalidate):
+ Call invalidateRect.
+
+ (WebKit::PluginView::userAgent):
+ Ask the frame loader client for the user agent.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-12 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
+ (WebKit::NetscapePluginModule::tryLoad):
+ (WebKit::NetscapePluginModule::unload):
+ Stubbed these out.
+
+ * win/WebKit2.vcproj: Added a Netscape filter beneath
+ WebProcess/Plugins, and moved NetscapePlugin into it. Added
+ NetscapePluginModule to the new Netscape filter. Added
+ WebProcess/Plugins to the include path for all configurations (it was
+ only added to Release and Debug_Internal previously) and added
+ WebProcess/Plugins/Netscape to the include path for all
+ configurations.
+
+2010-07-11 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement animation-related methods for WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=42053
+
+ Implemented some helpers for WebKitTestRunner;
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetNumberOfActiveAnimations):
+ (WKBundleFramePauseAnimationOnElementWithId):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::numberOfActiveAnimations):
+ (WebKit::WebFrame::pauseAnimationOnElementWithId):
+ * WebProcess/WebPage/WebFrame.h:
+ * mac/WebKit2.exp:
+
+2010-07-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't initialize plug-ins until allowed by the page
+ https://bugs.webkit.org/show_bug.cgi?id=42033
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::paint):
+ (WebKit::NetscapePlugin::geometryDidChange):
+ Assert that the plug-in is started.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Initialize m_isWaitingUntilMediaCanStart.
+
+ (WebKit::PluginView::~PluginView):
+ If necessary, remove the plug-in view as a MediaCanStartListener.
+
+ (WebKit::PluginView::initializePlugin):
+ If we're not allowed to initialize the plug-in, add the plug-in view as a MediaCanStartListener.
+
+ (WebKit::PluginView::paint):
+ Check that the plug-in is initialized.
+
+ (WebKit::PluginView::viewGeometryDidChange):
+ Ditto.
+
+ (WebKit::PluginView::mediaCanStart):
+ Initialize the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Have the plug-in view initialize the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=42030
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::initialize):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Plugin::initialize now takes a struct.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::initialize):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Plugin::initialize now takes a struct.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add Parameters struct.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Add Parameters parameter.
+
+ (WebKit::PluginView::~PluginView):
+ Add m_plugin null check.
+
+ (WebKit::PluginView::initializePlugin):
+ Try to initialize the plug-in and zero out the plug-in if initialization fails.
+
+ (WebKit::PluginView::paint):
+ Add m_plugin null check.
+
+ (WebKit::PluginView::setParent):
+ Initialize the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+ (WebKit::PluginView::create):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Don't initialize the plug-in here.
+
+2010-07-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Call Page::canStartMedia when the WKView is added to/removed from a window
+ https://bugs.webkit.org/show_bug.cgi?id=42029
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ Add SetIsInWindow.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ Call setIsInWindow.
+
+ (-[WKView _updateVisibility]):
+ Call setIsInWindow.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize m_isInWindow.
+
+ (WebKit::WebPageProxy::setIsInWindow):
+ Send WebPageMessage::SetIsInWindow.
+
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setIsInWindow):
+ Call Page::canStartMedia.
+
+ (WebKit::WebPage::didReceiveMessage):
+ Handle the SetIsInWindow message.
+
+ * WebProcess/WebPage/WebPage.h:
+
+2010-07-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Reuse initialized NetscapePluginModules, pass parameters to NPP_New
+ https://bugs.webkit.org/show_bug.cgi?id=42028
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Let the plug-in module know that a plug-in has been created.
+
+ (WebKit::NetscapePlugin::~NetscapePlugin):
+ Let the plug-in module know that a plug-in has been destroyed.
+
+ (WebKit::NetscapePlugin::initialize):
+ Pass the MIME type and parameters to the plug-in.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::initializedNetscapePluginModules):
+ Add list of initialized plug-in modules.
+
+ (WebKit::NetscapePluginModule::NetscapePluginModule):
+ Initialize m_pluginCount to 0.
+
+ (WebKit::NetscapePluginModule::~NetscapePluginModule):
+ Assert that we're not in the list of initialized plug-ins.
+
+ (WebKit::NetscapePluginModule::pluginCreated):
+ Increment the plug-in count.
+
+ (WebKit::NetscapePluginModule::pluginDestroyed):
+ Decrement the plug-in count and call shutdown if it's 0.
+
+ (WebKit::NetscapePluginModule::shutdown):
+ Call NP_Shutdown and remove the plug-in from the list of initialized plug-ins.
+
+ (WebKit::NetscapePluginModule::getOrCreate):
+ Look for an already initialized plug-in module before creating one.
+
+ (WebKit::NetscapePluginModule::load):
+ Set m_isInitialized to true.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
+ (WebKit::NetscapePluginModule::unload):
+ Leak the CFBundleRef to avoid possible crashes.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Call getOrCreate instead of create.
+
+2010-07-09 Leon Clarke <leonclarke@google.com>
+
+ Reviewed by Adam Barth.
+
+ add support for link prefetching
+ https://bugs.webkit.org/show_bug.cgi?id=3652
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-07-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig and Dan Bernstein.
+
+ Handle setting of drawing and event models
+ https://bugs.webkit.org/show_bug.cgi?id=41994
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ Handle NPPVpluginDrawingModel and NPPVpluginEventModel.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_inNPPNew.
+
+ (WebKit::NetscapePlugin::~NetscapePlugin):
+ Assert that we aren't still running.
+
+ (WebKit::NetscapePlugin::fromNPP):
+ New function that returns a NetscapePlugin object given a NPP pointer.
+
+ (WebKit::NetscapePlugin::initialize):
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp:
+ (WebKit::NetscapePlugin::setDrawingModel):
+ Set the drawing model.
+
+ (WebKit::NetscapePlugin::setEventModel):
+ Set the event model.
+
+ (WebKit::initializeEvent):
+ (WebKit::NetscapePlugin::platformPaint):
+ Only send the Cocoa event when using the Cocoa event model.
+
+2010-07-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41971
+ Add really basic BackForwardList support.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ Add new message kind.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ Add new message kinds. Remove DidChangeCanGoBack and DidChangeCanGoForward.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGoToBackForwardListItem):
+ * UIProcess/API/C/WKPage.h:
+ Add function to initiate a navigation to a BackForward item. The
+ BackForward list will be updated to use this as the current item
+ asynchronously.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::WebBackForwardList):
+ (WebKit::WebBackForwardList::addItem): Added.
+ (WebKit::WebBackForwardList::goToItem): Added.
+ (WebKit::WebBackForwardList::itemAtIndex): Added.
+ (WebKit::WebBackForwardList::backListCount): Changed to return int matching WebCore.
+ (WebKit::WebBackForwardList::forwardListCount): Ditto.
+ (WebKit::WebBackForwardList::backListWithLimit): Add cast to int.
+ (WebKit::WebBackForwardList::forwardListWithLimit): Ditto.
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): Ditto.
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): Ditto.
+ * UIProcess/WebBackForwardList.h:
+
+ * UIProcess/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::create):
+ (WebKit::WebBackForwardListItem::itemID):
+ Added itemID.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::canGoForward):
+ (WebKit::WebPageProxy::canGoBack):
+ (WebKit::WebPageProxy::goToBackForwardItem):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::addItemToBackForwardList):
+ (WebKit::WebPageProxy::goToItemInBackForwardList):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ - Removed m_canGoBack and m_canGoForward booleans and instead use the BackForwardList.
+ - Forward goToBackForwardItem to the WebProcess.
+ - Respond to messages from the WebBackForwardListProxy in the WebProcess,
+ forwarding to the WebBackForwardList.
+
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
+ (WebKit::WebBackForwardControllerClient::createBackForwardList):
+ Start using a WebBackForwardListProxy instead of a BackForwardListImpl.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidAddBackForwardItem):
+ (WebKit::WebFrameLoaderClient::dispatchDidRemoveBackForwardItem):
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeBackForwardIndex):
+ Remove calls backForwardListDidChange() now that we communicate much more
+ information than just this state.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::idToHistoryItemMap):
+ (WebKit::historyItemToIDMap):
+ (WebKit::generateHistoryItemID):
+ (WebKit::getIDForHistoryItem):
+ (WebKit::WebBackForwardListProxy::itemForID):
+ Add leaking cached maps of HistoryItems to IDs, the life time of these
+ objects will be improved in a subsequent patch.
+
+ (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
+ (WebKit::WebBackForwardListProxy::addItem):
+ (WebKit::WebBackForwardListProxy::goBack):
+ (WebKit::WebBackForwardListProxy::goForward):
+ (WebKit::WebBackForwardListProxy::goToItem):
+ (WebKit::WebBackForwardListProxy::backItem):
+ (WebKit::WebBackForwardListProxy::currentItem):
+ (WebKit::WebBackForwardListProxy::forwardItem):
+ (WebKit::WebBackForwardListProxy::itemAtIndex):
+ (WebKit::WebBackForwardListProxy::backListWithLimit):
+ (WebKit::WebBackForwardListProxy::forwardListWithLimit):
+ (WebKit::WebBackForwardListProxy::capacity):
+ (WebKit::WebBackForwardListProxy::setCapacity):
+ (WebKit::WebBackForwardListProxy::enabled):
+ (WebKit::WebBackForwardListProxy::setEnabled):
+ (WebKit::WebBackForwardListProxy::backListCount):
+ (WebKit::WebBackForwardListProxy::forwardListCount):
+ (WebKit::WebBackForwardListProxy::containsItem):
+ (WebKit::WebBackForwardListProxy::close):
+ (WebKit::WebBackForwardListProxy::closed):
+ (WebKit::WebBackForwardListProxy::removeItem):
+ (WebKit::WebBackForwardListProxy::entries):
+ (WebKit::WebBackForwardListProxy::pushStateItem):
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+ Forward functions to the UIProcess.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::goToBackForwardItem):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ Respond to GoToBackForwardItem message.
+
+ * mac/WebKit2.exp: Add new API function.
+
+2010-07-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Verify drawing coordinates, add crude painting support
+ https://bugs.webkit.org/show_bug.cgi?id=41984
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add NetscapePluginMac.cpp.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize drawing and event models.
+
+ (WebKit::NetscapePlugin::initialize):
+ Call platformPostInitialize.
+
+ (WebKit::NetscapePlugin::destroy):
+ Call NPP_Destroy.
+
+ (WebKit::NetscapePlugin::paint):
+ Call platformPaint.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add member functions.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.cpp: Added.
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ Set default event and drawing models and verify that they are compatible.
+
+ (WebKit::NetscapePlugin::platformPaint):
+ Send a paint event (assuming the Cocoa event model currently).
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::paint):
+ Change the paint rect to be in window coordinates.
+
+ (WebKit::PluginView::viewGeometryDidChange):
+ (WebKit::PluginView::clipRectInWindowCoordinates):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-07-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass a clip rect to the plugin and call NPP_SetWindow
+ https://bugs.webkit.org/show_bug.cgi?id=41969
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::geometryDidChange):
+ * WebProcess/Plugins/DummyPlugin.h:
+ Add clip rect parameter.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_npWindow.
+
+ (WebKit::NetscapePlugin::callSetWindow):
+ Call NPP_SetWindow.
+
+ (WebKit::NetscapePlugin::initialize):
+ Set the window type to NPWindowTypeDrawable for now.
+
+ (WebKit::NetscapePlugin::geometryDidChange):
+ Update the frame and clip rects and call NPP_SetWindow.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Add an NPWindow member variable.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add a clipRect parameter to geometryDidChange.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Add the plug-in element to the constructor.
+
+ (WebKit::PluginView::viewGeometryDidChange):
+ Compute the clip rect and pass it to the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+ (WebKit::PluginView::create):
+ Pass the plug-in element to the constructor.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Pass the plug-in element to PluginView::create.
+
+2010-07-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Instantiate Netscape plug-ins, pass geometry information to Plugin
+ https://bugs.webkit.org/show_bug.cgi?id=41960
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ Handle NPNVsupportsCoreGraphicsBool and NPNVsupportsCocoaBool.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Set npp.ndata.
+
+ (WebKit::NetscapePlugin::initialize):
+ Try to instantiate the plug-in by calling NPP_New.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ Store the NetscapePluginModule and the NPP struct.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
+ Add a getter for the NPPluginFuncs vtable.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::frameRectsChanged):
+ Make sure to call viewGeometryDidChange.
+
+ (WebKit::PluginView::setParent):
+ Ditto.
+
+ (WebKit::PluginView::viewGeometryDidChange):
+ Convert the frame rect to window coordinates and pass it to the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+ Add function declarations.
+
+2010-07-08 Diego Gonzalez <diegohcg@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WebKit2] Make QWKPage call _q_webActionTriggered as a private slot
+ https://bugs.webkit.org/show_bug.cgi?id=41880
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-07-09 Antti Koivisto <koivisto@iki.fi>
+
+ Not reviewed.
+
+ Build fix.
+
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-07-08 Brian Weinstein <bweinstein@apple.com>
+
+ WebKit2 build fix for Windows.
+
+ * WebProcess/Plugins/PluginView.h: Change the forward declaration of Plugin
+ to an include.
+ * win/WebKit2.vcproj: Update the include paths for Release to match Debug, and
+ add some files to the vcproj that were added on Mac.
+
+2010-07-08 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix the windows build.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NetscapePlugin class
+ https://bugs.webkit.org/show_bug.cgi?id=41919
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Added.
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ (WebKit::NetscapePlugin::~NetscapePlugin):
+ (WebKit::NetscapePlugin::initialize):
+ (WebKit::NetscapePlugin::destroy):
+ (WebKit::NetscapePlugin::paint):
+ (WebKit::NetscapePlugin::geometryDidChange):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added.
+ (WebKit::NetscapePlugin::create):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Enable notImplemented messages by default and have the various clients explicitly disable them.
+
+ * Shared/NotImplemented.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add stubbed out NPN functions
+ https://bugs.webkit.org/show_bug.cgi?id=41917
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Added.
+ (WebKit::initializeBrowserFuncs):
+ (WebKit::netscapeBrowserFuncs):
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h: Added.
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp:
+ (WebKit::NetscapePluginModule::tryLoad):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+
+2010-07-08 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Spelling and style correction
+ https://bugs.webkit.org/show_bug.cgi?id=41891
+
+ Correcting a spelling and a style mistakes.
+
+ * UIProcess/Launcher/ProcessLauncher.h:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement more of NetscapePluginModule
+ https://bugs.webkit.org/show_bug.cgi?id=41910
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::create):
+ (WebKit::NetscapePluginModule::load):
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Added.
+ (WebKit::NetscapePluginModule::unload):
+ (WebKit::pointerToFunction):
+ (WebKit::NetscapePluginModule::tryLoad):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add stubbed out NetscapePluginModule class
+ https://bugs.webkit.org/show_bug.cgi?id=41901
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp: Added.
+ (WebKit::NetscapePluginModule::NetscapePluginModule):
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Added.
+ (WebKit::NetscapePluginModule::create):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Move socket objects to connection's thread
+ https://bugs.webkit.org/show_bug.cgi?id=41897
+
+ To receive network related notifications in the WorkQueue thread, the
+ QLocalSocket instances must be moved to that thread.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::open):
+ * Platform/WorkQueue.h:
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::moveSocketToWorkThread):
+
+2010-07-08 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41653
+ Add new WebKitTestRunner project for Windows
+
+ * win/WebKit2Generated.make: Add files needed for WebKitTestRunner
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a GetPluginHostConnection WebProcessProxy message
+ https://bugs.webkit.org/show_bug.cgi?id=41893
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginHostConnection):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add more parameters to Plugin::initialize
+ https://bugs.webkit.org/show_bug.cgi?id=41890
+
+ * WebProcess/Plugins/DummyPlugin.cpp:
+ (WebKit::DummyPlugin::initialize):
+ * WebProcess/Plugins/DummyPlugin.h:
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/Plugins/DummyPlugin.h:
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a Plugin abstract base class and a DummyPlugin that implements it
+ https://bugs.webkit.org/show_bug.cgi?id=41885
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/DummyPlugin.cpp: Added.
+ (WebKit::DummyPlugin::paint):
+ Paint a red rectangle.
+
+ * WebProcess/Plugins/Plugin.cpp: Added.
+ * WebProcess/Plugins/Plugin.h: Added.
+ Add Plugin, an abstract baseclass.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::paint):
+ (WebKit::PluginView::viewGeometryDidChange):
+ * WebProcess/Plugins/PluginView.h:
+ (WebKit::PluginView::create):
+ Add a Plugin member function and forward PluginView calls to it.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Make a DummyPlugin and pass it to the PluginView.
+
+ * win/WebKit2.vcproj:
+ Add files.
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add stubbed out PluginView class
+ https://bugs.webkit.org/show_bug.cgi?id=41879
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginView.cpp and PluginView.h
+
+ * WebProcess/Plugins/PluginView.cpp: Added.
+ (WebKit::PluginView::PluginView):
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::setFrameRect):
+ (WebKit::PluginView::paint):
+ (WebKit::PluginView::viewGeometryDidChange):
+ (WebKit::PluginView::invalidateRect):
+ Stub out these functions.
+
+ * WebProcess/Plugins/PluginView.h: Added.
+ (WebKit::PluginView::create):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Create a plug-in view.
+
+ * win/WebKit2.vcproj:
+ Add PluginView.cpp and PluginView.h.
+
+2010-07-08 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 on Windows needs a version resource
+ https://bugs.webkit.org/show_bug.cgi?id=41870
+ <rdar://problem/8170501>
+
+ * win/WebKit2.rc: Added.
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.rc: Added.
+ * win/WebKit2WebProcess.vcproj:
+
+2010-07-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41874
+ Add stubbed out WebBackForwardListProxy
+
+ - No behavior change.
+ - Rename the old WebBackForwardListProxy to WebBackForwardList since it
+ will be the implementation, not the proxy.
+
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/WebBackForwardList.cpp: Copied from UIProcess/WebBackForwardListProxy.cpp.
+ * UIProcess/WebBackForwardList.h: Copied from UIProcess/WebBackForwardListProxy.h.
+ (WebKit::WebBackForwardList::create):
+ * UIProcess/WebBackForwardListProxy.cpp: Removed.
+ * UIProcess/WebBackForwardListProxy.h: Removed.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::backForwardList):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp: Added.
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Added.
+ (WebKit::WebBackForwardListProxy::create):
+ * win/WebKit2.vcproj:
+
+2010-07-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Pass Page to BackForwardControllerClient::createBackForwardList since it
+ may be called before implementations of BackForwardControllerClient have
+ access to a Page.
+
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
+ (WebKit::WebBackForwardControllerClient::createBackForwardList):
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h:
+
+2010-07-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix fallout from Darin's adoptRef assertion changes.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedProcessContext):
+ (WebKit::WebContext::sharedThreadContext):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::createMainFrame):
+ (WebKit::WebFrame::createSubframe):
+ (WebKit::WebFrame::create):
+ (WebKit::WebFrame::WebFrame):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-07-08 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ WebKit2 should enable DEP (Data Execution Prevention) on Windows via /NXCOMPAT
+ https://bugs.webkit.org/show_bug.cgi?id=41837
+ <rdar://problem/8170505>
+
+ * win/WebKit2WebProcess.vcproj:
+
+2010-07-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
+ Convert BackForwardList to an abstract base class and add BackForwardListImpl
+ as the concrete implementation of it.
+
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp:
+ (WebKit::WebBackForwardControllerClient::createBackForwardList):
+
+2010-07-08 Luiz Agostini <luiz@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Improve QtWebkit2 secondary process launching procedure
+ https://bugs.webkit.org/show_bug.cgi?id=41853
+
+ Changing secondary process launching procedure to make sure that the method
+ ProcessLauncher::didFinishLaunchingProcess will only be called after secondary
+ process has been launched and the connection has been stablished between the
+ UIProcess and WebProcess.
+
+ This solves the timing issues ocasionaly observed when launching MiniBrowser.
+
+ QLocalServer object and related code has been removed from the class Connection.
+ Server instances of the Connection class now get the QLocalSocket via ProcessLauncher.
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::platformInvalidate):
+ (CoreIPC::Connection::open):
+
+ Using QProcess* as PlatformProcessIdentifier.
+
+ * Platform/PlatformProcessIdentifier.h:
+
+ A new singleton class named ProcessLauncherHelper was created to handle the QLocalServer
+ object used to receive connections. This class launches the process and waits for it to connect
+ before calling ProcessLauncher::didFinishLaunchingProcess.
+
+ * UIProcess/Launcher/ProcessLauncher.h:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::launch):
+ (WebKit::ProcessLauncherHelper::takePendingConnection):
+ (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
+ (WebKit::ProcessLauncherHelper::instance):
+ (WebKit::ProcessLauncherHelper::newConnection):
+ (WebKit::ProcessLauncher::launchProcess):
+ (WebKit::ProcessLauncher::terminateProcess):
+ (_qt_takePendingConnection):
+
+2010-07-08 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Random build fixes.
+
+ * Shared/qt/WebEventFactoryQt.cpp:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ * WebProcess/WebProcess.cpp:
+
+2010-07-07 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Terminate QtWebProcess on exit
+ https://bugs.webkit.org/show_bug.cgi?id=41766
+
+ Call WKPageTerminate to terminate QtWebProcess on exit.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::~QWKPage):
+
+2010-07-07 Steve Falkenburg <sfalken@apple.com>
+
+ Windows release build fix.
+ Don't generate public symbols since this is exceeding address space on our builders.
+
+ * win/WebKit2.vcproj:
+
+2010-07-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
+ Add basic piping for BackForwardControllerClient.
+
+ - Add very basic WebBackForwardControllerClient.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Added.
+ (WebKit::WebBackForwardControllerClient::backForwardControllerDestroyed):
+ (WebKit::WebBackForwardControllerClient::createBackForwardList):
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Added.
+ (WebKit::WebBackForwardControllerClient::WebBackForwardControllerClient):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ * win/WebKit2.vcproj:
+
+2010-07-07 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add Qt section to the prefix header.
+
+ * WebKit2Prefix.h:
+
+2010-07-07 Antti Koivisto <koivisto@iki.fi>
+
+ Not reviewed.
+
+ Fix build, remove some left over debugging code.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+
+2010-07-07 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement WebPage for Qt.
+
+ * WebProcess/WebPage/qt/WebPageQt.cpp: Added.
+ (WebKit::WebPage::platformInitialize):
+ (WebKit::):
+ (WebKit::WebPage::interpretKeyEvent):
+
+
+2010-07-06 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows WebKit2 build.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::mimeTypeFromExtension):
+
+2010-07-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginInfoStore::findPlugin
+ https://bugs.webkit.org/show_bug.cgi?id=41719
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::getPlugins):
+ (WebKit::PluginInfoStore::findPluginForMIMEType):
+ (WebKit::PluginInfoStore::findPluginForExtension):
+ (WebKit::pathExtension):
+ (WebKit::PluginInfoStore::findPlugin):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::mimeTypeFromExtension):
+
+2010-07-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add injected bundle API for exposing console messages.
+
+ - Split WKBundlePageClient into multiple clients matching WKPage.
+ (For now we only have a loader client and a UI client)
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetLoaderClient):
+ (WKBundlePageSetUIClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.cpp.
+ (WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
+ (WebKit::InjectedBundlePageLoaderClient::initialize):
+ (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: Copied from WebProcess/InjectedBundle/InjectedBundlePageClient.h.
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.
+ (WebKit::InjectedBundlePageUIClient::InjectedBundlePageUIClient):
+ (WebKit::InjectedBundlePageUIClient::initialize):
+ (WebKit::InjectedBundlePageUIClient::addMessageToConsole):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::addMessageToConsole):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleLoaderClient):
+ (WebKit::WebPage::initializeInjectedBundleUIClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleLoaderClient):
+ (WebKit::WebPage::injectedBundleUIClient):
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-07-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41707
+ Add ability to dump frame inner text for the test runner
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyInnerText):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::innerText):
+ * WebProcess/WebPage/WebFrame.h:
+ * mac/WebKit2.exp:
+
+2010-07-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Only export a single WebKitMain function for the Web Process to call
+ https://bugs.webkit.org/show_bug.cgi?id=41702
+
+ * Shared/CommandLine.h:
+ Add windows CommandLine::parse overload.
+
+ * Shared/win/CommandLineWin.cpp: Added.
+ (WebKit::CommandLine::parse):
+ Move parse overload from WebProcess/win/WebProcessMain.cpp.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ Pass the right mode to.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Update for moves.
+
+ * WebProcess/Launching/mac/WebProcessMain.mm: Removed.
+ * WebProcess/Launching/win/WebProcessWinMain.cpp: Removed.
+ * WebProcess/WebKitMain.cpp: Added.
+ (WebKitMain):
+ (enableTerminationOnHeapCorruption):
+ Add WebKitMain functions for Mac and Windows.
+
+ * WebProcess/WebProcessMain.h: Added.
+ * WebProcess/mac/WebProcessMainMac.mm: Added.
+ (WebKit::WebProcessMain):
+ Add Mac version of WebProcessMain.
+
+ * WebProcess/win/WebProcessMain.cpp: Removed.
+ * WebProcess/win/WebProcessMain.h: Removed.
+ * WebProcess/win/WebProcessMainWin.cpp: Added.
+ (WebKit::WebProcessMain):
+ Add Windows version of WebProcessMain.
+
+ * mac/MainMac.cpp: Added.
+ (main):
+ Add Mac WebProcess main function.
+
+ * mac/WebKit2.exp:
+ Remove functions that we don't need to export.
+
+ * win/MainWin.cpp: Added.
+ (wWinMain):
+ Add Windows WebProcess main function.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+ Update for moves.
+
+2010-07-05 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebKit2 triple click
+ https://bugs.webkit.org/show_bug.cgi?id=41629
+
+ QtWebkit2 triple click implementation.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::mousePressEvent):
+ (QWKPagePrivate::mouseDoubleClickEvent):
+ (QWKPage::timerEvent):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add stubs
+
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp: Copied from WebKit2/UIProcess/Plugins/win/PluginInfoStoreWin.cpp.
+ (WebKit::PluginInfoStore::pluginDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Added.
+ (WebKit::InjectedBundle::load):
+
+2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add WebErrorsQt
+
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Added.
+ (WebKit::):
+ (WebKit::cancelledError):
+ (WebKit::blockedError):
+ (WebKit::cannotShowURLError):
+ (WebKit::interruptForPolicyChangeError):
+ (WebKit::cannotShowMIMETypeError):
+ (WebKit::fileDoesNotExistError):
+
+2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add Qt C API integration.
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp: Added.
+ (WKStringCreateWithQString):
+ (WKStringCopyQString):
+ * UIProcess/API/cpp/qt/WKStringQt.h: Added.
+ * UIProcess/API/cpp/qt/WKURLQt.cpp: Added.
+ (WKURLCreateWithQUrl):
+ (WKURLCopyQUrl):
+ * UIProcess/API/cpp/qt/WKURLQt.h: Added.
+
+2010-07-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add the Qt process launcher.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Added.
+ (WebKit::ProcessLauncher::launchProcess):
+ (WebKit::ProcessLauncher::terminateProcess):
+ (WebKit::webThreadBody):
+ (WebKit::ProcessLauncher::createWebThread):
+ (webProcessMain):
+
+2010-07-05 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement ChunkedUpdateDrawingArea + Proxy for Qt. Not built yet.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/qt: Added.
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::page):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * WebProcess/WebPage/qt: Added.
+ * WebProcess/WebPage/qt/ChunkedUpdateDrawingAreaQt.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+
+2010-07-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add simple command line parser and pass mode argument to the web process
+ https://bugs.webkit.org/show_bug.cgi?id=41586
+
+ * Shared/CommandLine.h:
+ (WebKit::CommandLine::operator[]):
+ Add CommandLine class.
+
+ * Shared/mac/CommandLineMac.cpp:
+ (WebKit::CommandLine::parse):
+ Implement Mac version of CommandLine::parse.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Add "legacywebprocess" mode to the posix_spawn call.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add CommandLine to the xcode project.
+
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+ (webProcessMain):
+ (main):
+ Parse the command line and check the mode.
+
+2010-07-04 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ WebProcess crashes in release for simple layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=41575
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCopyRenderTreeExternalRepresentation): ref external representation StringImpl*
+ before taking it out of its parent String, to avoid returning freed memory.
+
+2010-07-03 Maciej Stachowiak <mjs@apple.com>
+
+ Rubber stamped by Anders Carlsson.
+
+ Add stdint.h include to fix WebKitTestRunner build.
+
+ * UIProcess/API/C/WKPage.h:
+
+2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Wrong method name in file Connection.h
+ https://bugs.webkit.org/show_bug.cgi?id=41536
+
+ Method openConnectionHandler was spelled as openConnection in class Connection.
+
+ * Platform/CoreIPC/Connection.h:
+
+2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Adding notification and touch events methods to WebChromeClient
+ https://bugs.webkit.org/show_bug.cgi?id=41527
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::notificationPresenter):
+ (WebKit::WebChromeClient::needTouchEvents):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Removing CoreFoundation.h include from WKFrame.h
+ https://bugs.webkit.org/show_bug.cgi?id=41528
+
+ * UIProcess/API/C/WKFrame.h:
+
+2010-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41540
+ WebKit2: Add InjectedCode API to get a list of subframes
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyChildFrames):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::childFrameRef):
+ (WebKit::childFrameDeref):
+ (WebKit::WebFrame::childFrames):
+ * WebProcess/WebPage/WebFrame.h:
+ * mac/WebKit2.exp:
+
+2010-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Turn off the Objective-C garbage collection for the WebProcess.
+
+ * Configurations/WebProcess.xcconfig:
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+ (main): Assert that GC is off.
+
+2010-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ There is no longer a reason to check that the process is valid when posting
+ a message to the bundle, the process code will take care of that for us.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+
+2010-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Use send instead of connection()->send(), now that connections() are created
+ asynchronously it can be null at this point and the message needs to be queued.
+
+ * UIProcess/mac/WebProcessProxyMac.mm:
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+
+2010-07-01 Steve Falkenburg <sfalken@apple.com>
+
+ Even more Windows build fixing.
+ Removed bogus post-build event commands.
+ Removed unnecessary link libraries.
+
+ * win/WebKit2.vcproj:
+
+2010-07-01 Steve Falkenburg <sfalken@apple.com>
+
+ Fix Windows while not breaking Qt (didn't realize this was building for Qt).
+
+ * WebProcess/WebProcess.cpp:
+
+2010-07-01 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2Generated.make:
+
+2010-07-01 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * WebProcess/WebProcess.cpp:
+
+2010-07-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Make WebKit2 compile (though not work) on Leopard.
+
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::EventSource::EventSource):
+ (WorkQueue::scheduleWork):
+ (WorkQueue::registerMachPortEventHandler):
+ (WorkQueue::unregisterMachPortEventHandler):
+ (WorkQueue::platformInitialize):
+ (WorkQueue::platformInvalidate):
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ * UIProcess/mac/WebProcessProxyMac.mm:
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+
+2010-07-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=41491
+ Add first stab at back/forward list API.
+
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBackForwardList.cpp: Added.
+ * UIProcess/API/C/WKBackForwardList.h: Added.
+ * UIProcess/API/C/WKBackForwardListItem.cpp: Added.
+ * UIProcess/API/C/WKBackForwardListItem.h: Added.
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/WebBackForwardListItem.cpp: Added.
+ * UIProcess/WebBackForwardListItem.h: Added.
+ * UIProcess/WebBackForwardListProxy.cpp: Added.
+ * UIProcess/WebBackForwardListProxy.h: Added.
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-07-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make process launching asynchronous
+ https://bugs.webkit.org/show_bug.cgi?id=41489
+
+ * Platform/CoreIPC/Connection.h:
+ Make OutgoingMessage public.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ Don't wait for a paint reply when the process is starting up.
+
+ * UIProcess/Launcher/ProcessLauncher.cpp: Added.
+ Add new ProcessLauncher class.
+
+ (WebKit::processLauncherWorkQueue):
+ Returns the work queue where process launching will happen.
+
+ (WebKit::ProcessLauncher::ProcessLauncher):
+ Schedule launching the process.
+
+ (WebKit::ProcessLauncher::didFinishLaunchingProcess):
+ Call the client method.
+
+ (WebKit::ProcessLauncher::invalidate):
+ Set the client to 0.
+
+ * UIProcess/Launcher/ProcessLauncher.h: Added.
+ * UIProcess/Launcher/WebProcessLauncher.h: Removed.
+ Rename WebProcessLauncher.h -> ProcessLauncher.h
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Added.
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm: Removed.
+ Rename WebProcessLauncher.mm -> ProcessLauncherMac.mm, update for ProcessLauncher changes.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp: Added.
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp: Removed.
+ Rename WebProcessLauncher.cpp -> ProcessLauncherWin.cpp, update for ProcessLauncher changes.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ Delete any unsent messages.
+
+ (WebKit::WebProcessProxy::connect):
+ Use the new ProcessLauncher.
+
+ (WebKit::WebProcessProxy::sendMessage):
+ If we're waiting for the process to launch, the messages need to be enqueued.
+
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ Send the outgoing messages.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Update for renames.
+
+2010-07-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Get accelerated compositing working with webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=41084
+
+ Start up the CA render server in the UI process (currently, at launch time), and
+ pass the server port over to the web process for use by the layer-backed drawing area.
+
+ Fix some style issues pointed out by Dan Bernstein.
+
+ Implement the WebChromeClient methods that pass the attach/detach calls through
+ to the drawing area.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _startAcceleratedCompositing:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ * UIProcess/mac/WebProcessProxyMac.mm: Added.
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::attachRootGraphicsLayer):
+ (WebKit::WebChromeClient::scheduleCompositingLayerSync):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::compositingRenderServerPort):
+
+2010-07-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Get accelerated compositing working with webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=41084
+
+ Add a new kind of DrawingArea, which is a LayerBackedDrawingArea, which will be used
+ when the page goes into accelerated compositing mode. It is not wired up yet.
+
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: New 'attach' and 'detach' messages
+ related to accelerated compositing.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _startAcceleratedCompositing:]):
+ (-[WKView _stopAcceleratedCompositing]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ Add a subview of the WKView which has layer-backing enabled, and put the drawing area's
+ layer inside of that.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::attachCompositingContext):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::detachCompositingContext): These methods will never be called
+ on the ChunkedUpdateDrawingArea. Stub them out.
+
+ * UIProcess/DrawingAreaProxy.h:
+ Add attachCompositingContext() and detachCompositingContext() methods, and a new drawing area
+ type to the enum.
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp: Added.
+ * UIProcess/LayerBackedDrawingAreaProxy.h: Added.
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj: Add LayerBackedDrawingArea files.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Add virtual methods stubs.
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create): Create a LayerBackedDrawingArea if asked.
+ * WebProcess/WebPage/DrawingArea.h: New LayerBackedDrawingAreaType type, and new virtual
+ methods related to accelerated compositing.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Added.
+ * WebProcess/WebPage/LayerBackedDrawingArea.h: Added.
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Added.
+
+2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Rubberstamped by Sam Weinig.
+
+ Export symbols on Linux with GCC, like JSC does.
+
+ * UIProcess/API/C/WKBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+
+2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add implementation of the UI and loader client for Qt.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/ClientImpl.cpp: Added.
+ (toQWKPage):
+ (qt_wk_didStartProvisionalLoadForFrame):
+ (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
+ (qt_wk_didFailProvisionalLoadWithErrorForFrame):
+ (qt_wk_didCommitLoadForFrame):
+ (qt_wk_didFinishLoadForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+ (qt_wk_didReceiveTitleForFrame):
+ (qt_wk_didFirstLayoutForFrame):
+ (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
+ (qt_wk_didStartProgress):
+ (qt_wk_didChangeProgress):
+ (qt_wk_didFinishProgress):
+ (qt_wk_didBecomeUnresponsive):
+ (qt_wk_didBecomeResponsive):
+ (qt_wk_createNewPage):
+ (qt_wk_showPage):
+ (qt_wk_close):
+ (qt_wk_runJavaScriptAlert):
+ * UIProcess/API/qt/ClientImpl.h: Added.
+
+2010-07-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change the CoreIPC connection identifier to be a HANDLE on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=41479
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::createServerAndClientIdentifiers):
+ New function that creates a server and client HANDLE.
+
+ (CoreIPC::Connection::platformInitialize):
+ Don't open the connections here.
+
+ (CoreIPC::Connection::readEventHandler):
+ (CoreIPC::Connection::open):
+
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::webThreadBody):
+ Get the handle from the thread.
+
+ (WebKit::launchWebProcess):
+ Mark the client identifier as inheritable and pass it along to the web process.
+
+ * WebProcess/win/WebProcessMain.cpp:
+ (WebKit::CommandLine::CommandLine):
+ (WebKit::CommandLine::parse):
+ (WebKit::CommandLine::operator[]):
+ Add simple command line parser.
+
+ (WebKit::WebProcessMain):
+ Get the handle identifier from the command line.
+
+ * WebProcess/win/WebProcessMain.h:
+
+2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add initial Qt API for WebKit2
+
+ * UIProcess/API/qt/WKView.h: Added.
+ * UIProcess/API/qt/qgraphicswkview.cpp: Added.
+ (QGraphicsWKViewPrivate::pageRef):
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::~QGraphicsWKView):
+ (QGraphicsWKView::page):
+ (QGraphicsWKView::paint):
+ (QGraphicsWKView::setGeometry):
+ (QGraphicsWKView::load):
+ (QGraphicsWKView::setUrl):
+ (QGraphicsWKView::url):
+ (QGraphicsWKView::title):
+ (QGraphicsWKView::triggerPageAction):
+ (QGraphicsWKView::back):
+ (QGraphicsWKView::forward):
+ (QGraphicsWKView::reload):
+ (QGraphicsWKView::stop):
+ (QGraphicsWKView::itemChange):
+ (QGraphicsWKView::event):
+ (QGraphicsWKView::sizeHint):
+ (QGraphicsWKView::inputMethodQuery):
+ (QGraphicsWKView::keyPressEvent):
+ (QGraphicsWKView::keyReleaseEvent):
+ (QGraphicsWKView::hoverMoveEvent):
+ (QGraphicsWKView::mouseMoveEvent):
+ (QGraphicsWKView::mousePressEvent):
+ (QGraphicsWKView::mouseReleaseEvent):
+ (QGraphicsWKView::mouseDoubleClickEvent):
+ (QGraphicsWKView::wheelEvent):
+ (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
+ (QGraphicsWKView::visibleRect):
+ * UIProcess/API/qt/qgraphicswkview.h: Added.
+ * UIProcess/API/qt/qwkpage.cpp: Added.
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::~QWKPagePrivate):
+ (QWKPagePrivate::init):
+ (QWKPagePrivate::toolTipChanged):
+ (QWKPagePrivate::paint):
+ (QWKPagePrivate::keyPressEvent):
+ (QWKPagePrivate::keyReleaseEvent):
+ (QWKPagePrivate::mouseMoveEvent):
+ (QWKPagePrivate::mousePressEvent):
+ (QWKPagePrivate::mouseReleaseEvent):
+ (QWKPagePrivate::mouseDoubleClickEvent):
+ (QWKPagePrivate::wheelEvent):
+ (QWKPagePrivate::updateAction):
+ (QWKPagePrivate::updateNavigationActions):
+ (QWKPagePrivate::_q_webActionTriggered):
+ (QWKPage::QWKPage):
+ (QWKPage::~QWKPage):
+ (QWKPage::pageRef):
+ (QWKPage::setCreateNewPageFunction):
+ (QWKPage::load):
+ (QWKPage::setUrl):
+ (QWKPage::url):
+ (QWKPage::title):
+ (QWKPage::setViewportSize):
+ (QWKPage::requestZoomRect):
+ (QWKPage::triggerAction):
+ (QWKPage::action):
+ * UIProcess/API/qt/qwkpage.h: Added.
+ * UIProcess/API/qt/qwkpage_p.h: Added.
+ (QWKPagePrivate::get):
+ (QWKPagePrivate::processDidExit):
+ (QWKPagePrivate::processDidRevive):
+ (QWKPagePrivate::takeFocus):
+
+2010-07-01 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added _WKFramePolicyListenerDownload and _WKFramePolicyListenerIgnore.
+
+2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r62267.
+ http://trac.webkit.org/changeset/62267
+ https://bugs.webkit.org/show_bug.cgi?id=41468
+
+ broke stuff (Requested by weinig on #webkit).
+
+ * UIProcess/API/C/WKBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+
+2010-07-01 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ * mac/WebKit2.exp:
+ Added _WKFramePolicyListenerRelease and _WKFramePolicyListenerRetain.
+
+2010-07-01 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add our event factory for converting Qt events to something WebKit2
+ understands.
+
+ * Shared/qt/WebEventFactoryQt.cpp: Added.
+ (WebKit::mouseButtonForEvent):
+ (WebKit::webEventTypeForEvent):
+ (WebKit::modifiersForEvent):
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ (WebKit::WebEventFactory::createWebWheelEvent):
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * Shared/qt/WebEventFactoryQt.h: Added.
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Add UpdateChunk. This one is mmap based, using Qt abstractions.
+
+ * Shared/qt: Added.
+ * Shared/qt/UpdateChunk.cpp: Added.
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::~UpdateChunk):
+ (WebKit::UpdateChunk::data):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/qt/UpdateChunk.h: Added.
+ (WebKit::UpdateChunk::rect):
+ (WebKit::UpdateChunk::size):
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Include some stdlib headers to fix linux build.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebUIClient.cpp:
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement CoreIPC::Connection and PlatformProcessIdentifier for Qt. Not built yet.
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt: Added.
+ * Platform/CoreIPC/qt/ConnectionQt.cpp: Added.
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::platformInvalidate):
+ (CoreIPC::Connection::newConnectionHandler):
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::openConnection):
+ (CoreIPC::Connection::open):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/PlatformProcessIdentifier.h:
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement WorkQueue for Qt. Not built yet.
+
+ * Platform/WorkQueue.h:
+ * Platform/qt/WorkQueueQt.cpp: Added.
+ (WorkQueue::WorkItemQt::WorkItemQt):
+ (WorkQueue::WorkItemQt::~WorkItemQt):
+ (WorkQueue::WorkItemQt::execute):
+ (WorkQueue::WorkItemQt::timerEvent):
+ (WorkQueue::connectSignal):
+ (WorkQueue::disconnectSignal):
+ (WorkQueue::platformInitialize):
+ (WorkQueue::platformInvalidate):
+ (WorkQueue::scheduleWork):
+
+2010-07-01 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Initial WebKit2 implementation
+ https://bugs.webkit.org/show_bug.cgi?id=40233
+
+ Implement RunLoop for Qt. Not built yet.
+
+ * Platform/RunLoop.h:
+ * Platform/qt: Added.
+ * Platform/qt/RunLoopQt.cpp: Added.
+ (RunLoop::TimerObject::TimerObject):
+ (RunLoop::TimerObject::performWork):
+ (RunLoop::TimerObject::wakeUp):
+ (RunLoop::TimerObject::timerEvent):
+ (RunLoop::run):
+ (RunLoop::stop):
+ (RunLoop::RunLoop):
+ (RunLoop::~RunLoop):
+ (RunLoop::wakeUp):
+ (RunLoop::TimerBase::timerFired):
+ (RunLoop::TimerBase::TimerBase):
+ (RunLoop::TimerBase::~TimerBase):
+ (RunLoop::TimerBase::start):
+ (RunLoop::TimerBase::stop):
+ (RunLoop::TimerBase::isActive):
+
+2010-06-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41426
+ Add ImmutableArray class and WKArrayRef API to go with it. This will be used
+ in a few follow up patches.
+
+ * Shared/ImmutableArray.cpp: Added.
+ (WebKit::ImmutableArray::ImmutableArray):
+ (WebKit::ImmutableArray::~ImmutableArray):
+ * Shared/ImmutableArray.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKArray.cpp: Added.
+ * UIProcess/API/C/WKArray.h: Added.
+ * UIProcess/API/C/WKBase.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add WebProcessProxy::send
+ https://bugs.webkit.org/show_bug.cgi?id=41416
+
+ * Platform/CoreIPC/Connection.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::tryClose):
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::stopLoading):
+ (WebKit::WebPageProxy::reload):
+ (WebKit::WebPageProxy::goForward):
+ (WebKit::WebPageProxy::goBack):
+ (WebKit::WebPageProxy::setFocused):
+ (WebKit::WebPageProxy::setActive):
+ (WebKit::WebPageProxy::mouseEvent):
+ (WebKit::WebPageProxy::wheelEvent):
+ (WebKit::WebPageProxy::keyEvent):
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ (WebKit::WebPageProxy::runJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
+ (WebKit::WebPageProxy::preferencesDidChange):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ (WebKit::WebProcessProxy::sendMessage):
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::connection):
+ (WebKit::WebProcessProxy::send):
+
+2010-06-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a private Message class template
+ https://bugs.webkit.org/show_bug.cgi?id=41370
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Message::Message):
+ (CoreIPC::Connection::Message::arguments):
+
+2010-06-28 John Gregg <johnnyg@google.com>
+
+ Unreviewed, build fix (removing merge conflict from previous).
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-23 John Gregg <johnnyg@google.com>
+
+ Reviewed by Kent Tamura.
+
+ add ENABLE_DIRECTORY_UPLOAD build support
+ https://bugs.webkit.org/show_bug.cgi?id=41100
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-28 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped Geoffrey Garen.
+
+ Add WKBundleFrameIsMainFrame to exports file.
+
+ * mac/WebKit2.exp:
+
+2010-06-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=41288
+ WebKit2: Add frame API for InjectedBundle code
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added.
+ (WKBundleFrameIsMainFrame):
+ (WKBundleFrameGetURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetMainFrame):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::isMainFrame):
+ (WebKit::WebFrame::url):
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::mainFrame):
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-27 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ Update guards related to blocks to check whether __BLOCKS__ is defined, rather than checking its value.
+ This matches how similar checks are performed in system headers, and avoids a compile error when __BLOCKS__
+ is not defined.
+
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPagePrivate.h:
+
+2010-06-26 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
+ https://bugs.webkit.org/show_bug.cgi?id=38924
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-25 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2.vcproj:
+
+2010-06-25 Ada Chan <adachan@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Add additional include search paths relative to $(WebKitLibrariesDir) to fix a build.
+
+ * win/WebKit2.vcproj:
+
+2010-06-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WKBundlePageRenderTreeExternalRepresentation really needs to be
+ WKBundlePageCopyRenderTreeExternalRepresentation so we don't have dangling
+ pointers and adhere to naming conventions.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCopyRenderTreeExternalRepresentation):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * mac/WebKit2.exp:
+
+2010-06-24 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2.make: Added.
+ * win/WebKit2.submit.sln: Added.
+
+2010-06-24 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2WebProcess.vcproj:
+
+2010-06-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Add WKBundlePageRenderTreeExternalRepresentation for WebKitTestRunner.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageRenderTreeExternalRepresentation):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::renderTreeExternalRepresentation):
+ (WebKit::WebPage::getRenderTreeExternalRepresentation):
+ * WebProcess/WebPage/WebPage.h:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-24 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Ada Chan.
+
+ * mac/WebKit2.exp:
+ Added _WKNavigationDataRelease and _WKNavigationDataRetain.
+
+2010-06-24 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added _WKPageReloadFromOrigin.
+
+2010-06-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=41168
+ <rdar://problem/8124605>
+ Webkit2: Add WKPageReloadFromOrigin() to match old-WebKit functionality
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageReload):
+ (WKPageReloadFromOrigin):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::reload):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::reload):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-06-24 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ Fixes <http://webkit.org/b/41158>.
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/win/UpdateChunk.cpp: Updated header name.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: Added.
+ (WebKit::PluginInfoStore::pluginDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ Stubbed these out.
+
+ * win/WebKit2.vcproj: Added UIProcess/Plugins to the include path for
+ all configurations. Added UIProcess/Plugins files to the project.
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Have the UI process compute the plug-in data
+ https://bugs.webkit.org/show_bug.cgi?id=41118
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ Add GetPlugin message kind.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add argument coders for PluginInfo and MimeClassInfo.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::safeCreateCFString):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ Use safeCreateCFString.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPlugins):
+ Ask the plug-in info store for the plug-in list.
+
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ Handle GetPlugins.
+
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::objectContentType):
+ Implement.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ Send a sync GetPlugins message.
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add ArgumentCoder for vectors.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ (CoreIPC::):
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Rename WebCoreTypeArgumentMarshalling.h to WebCoreArgumentCoders.h
+
+ * Shared/WebCoreArgumentCoders.h: Copied from Shared/WebCoreTypeArgumentMarshalling.h.
+ * Shared/WebCoreTypeArgumentMarshalling.h: Removed.
+ * Shared/WebEvent.h:
+ * Shared/WebNavigationDataStore.h:
+ * Shared/WebPreferencesStore.h:
+ * Shared/mac/UpdateChunk.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/WebContext.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebProcess.cpp:
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ MessageIDs should always have the most significant bit zeroed out
+ https://bugs.webkit.org/show_bug.cgi?id=41112
+
+ The most significant bit is used by the Mac implementation of CoreIPC, and
+ should always be zero in MessageID objects.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::waitForMessage):
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::MessageID::):
+ (CoreIPC::MessageID::MessageID):
+ (CoreIPC::MessageID::operator==):
+ (CoreIPC::MessageID::fromInt):
+ (CoreIPC::MessageID::isSync):
+ (CoreIPC::MessageID::stripMostSignificantBit):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ (CoreIPC::createArgumentDecoder):
+
+2010-06-23 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added yet another symbol needed by Mac clients.
+
+2010-06-23 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added another symbol needed by Mac clients.
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename SimpleArgumentCoder.h to ArgumentCoders.h
+
+ * Platform/CoreIPC/ArgumentCoders.h: Copied from Platform/CoreIPC/SimpleArgumentCoder.h.
+ * Platform/CoreIPC/SimpleArgumentCoder.h: Removed.
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a plug-in info cache to WebPlatformStrategies
+ https://bugs.webkit.org/show_bug.cgi?id=41087
+
+ This is in preparation for proxying the getPlugins call over to the UI process.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::WebPlatformStrategies):
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ (WebKit::WebPlatformStrategies::refreshPlugins):
+ (WebKit::WebPlatformStrategies::getPluginInfo):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-06-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Stop silently ignoring crashes.
+
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+
+2010-06-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add missing include to WKRetainPtr.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+
+2010-06-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=41073
+ WebKit2: Flesh out more of the InjectedBundle client API
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::willDestroyPage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp:
+ (WebKit::InjectedBundlePageClient::didStartProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageClient::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageClient::didCommitLoadForFrame):
+ (WebKit::InjectedBundlePageClient::didFinishLoadForFrame):
+ (WebKit::InjectedBundlePageClient::didFailLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageClient::didReceiveTitleForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.h:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::load): Add some error logging on failure to load the bundle.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close):
+ * mac/WebKit2.exp:
+
+2010-06-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a SimpleArgumentCoder class template that works on POD types
+ https://bugs.webkit.org/show_bug.cgi?id=41023
+
+ * Platform/CoreIPC/SimpleArgumentCoder.h: Added.
+ (CoreIPC::SimpleArgumentCoder::encode):
+ (CoreIPC::SimpleArgumentCoder::decode):
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ (CoreIPC::):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Use the ArgumentCoder class template for decoding
+ https://bugs.webkit.org/show_bug.cgi?id=41021
+
+ * Platform/CoreIPC/ArgumentCoder.h:
+ (CoreIPC::ArgumentCoder::decode):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::decode):
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ (CoreIPC::):
+
+2010-06-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change the encode functions to be specializations of a class template
+ https://bugs.webkit.org/show_bug.cgi?id=41015
+
+ * Platform/CoreIPC/ArgumentCoder.h: Added.
+ (CoreIPC::ArgumentCoder::encode):
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ (CoreIPC::ArgumentEncoder::encode):
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ (CoreIPC::):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement PluginInfoStore::shouldUsePlugin.
+
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Support reading plug-in info from Carbon resources
+ https://bugs.webkit.org/show_bug.cgi?id=40959
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::ResourceMap::ResourceMap):
+ (WebKit::ResourceMap::~ResourceMap):
+ (WebKit::ResourceMap::isValid):
+ (WebKit::getStringListResource):
+ (WebKit::getPluginInfoFromCarbonResources):
+ (WebKit::PluginInfoStore::getPluginInfo):
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::getPluginInfo):
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Have PluginInfoStoreMac actually get plug-in info and populate the plug-in list
+ https://bugs.webkit.org/show_bug.cgi?id=40957
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary):
+ (WebKit::PluginInfoStore::loadPluginsInDirectory):
+ (WebKit::PluginInfoStore::loadPlugin):
+ (WebKit::PluginInfoStore::getPlugins):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: Added.
+ (WebKit::PluginInfoStore::pluginDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::getPluginArchitecture):
+ (WebKit::getPluginInfoFromPropertyLists):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginInfoStore class
+ https://bugs.webkit.org/show_bug.cgi?id=40949
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ * Shared/WebPreferencesStore.h:
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ Add plugInsEnabled to the preferences store.
+
+ * UIProcess/Plugins: Added.
+ * UIProcess/Plugins/PluginInfoStore.cpp: Added.
+ (WebKit::PluginInfoStore::shared):
+ (WebKit::PluginInfoStore::PluginInfoStore):
+ (WebKit::PluginInfoStore::refresh):
+ (WebKit::PluginInfoStore::getPlugins):
+ * UIProcess/Plugins/PluginInfoStore.h: Added.
+ * UIProcess/Plugins/mac: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::refreshPlugins):
+ (WebKit::WebPlatformStrategies::getPluginInfo):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2010-06-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
+ https://bugs.webkit.org/show_bug.cgi?id=40948
+
+ Rename UIProcess version of DrawingAreaUpdateChunk to ChunkedUpdateDrawingAreaProxy,
+ and rename the Mac/Win versions of the various DrawingArea files too.
+
+ Also rename the DrawingAreaUpdateChunkType enum to ChunkedUpdateDrawingAreaType.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ * UIProcess/ChunkedUpdateDrawingArea.cpp: Removed.
+ * UIProcess/ChunkedUpdateDrawingArea.h: Removed.
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::~ChunkedUpdateDrawingAreaProxy):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::encode):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::):
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::page):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Removed.
+ * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::page):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Removed.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateWindow):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateContentsAndWindow):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateContentsForSlowScroll):
+ (WebKit::ChunkedUpdateDrawingArea::scroll):
+ (WebKit::ChunkedUpdateDrawingArea::setNeedsDisplay):
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::scheduleDisplay):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ (WebKit::ChunkedUpdateDrawingArea::suspendPainting):
+ (WebKit::ChunkedUpdateDrawingArea::resumePainting):
+ (WebKit::ChunkedUpdateDrawingArea::didUpdate):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Added.
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::):
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Removed.
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Removed.
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Removed.
+ * WebProcess/WebPage/win/ChunkedUpdateDrawingAreaWin.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Removed.
+ * win/WebKit2.vcproj:
+
+2010-06-21 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Rename DrawingAreaProxyUpdateChunk to ChunkedUpdateDrawingArea
+ https://bugs.webkit.org/show_bug.cgi?id=40948
+
+ Rename DrawingAreaUpdateChunk to ChunkedUpdateDrawingArea.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ * UIProcess/ChunkedUpdateDrawingArea.cpp: Added.
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::~ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::paint):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ (WebKit::ChunkedUpdateDrawingArea::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingArea::didSetSize):
+ (WebKit::ChunkedUpdateDrawingArea::update):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * UIProcess/ChunkedUpdateDrawingArea.h: Added.
+ (WebKit::ChunkedUpdateDrawingArea::encode):
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Removed.
+ * UIProcess/DrawingAreaProxyUpdateChunk.h: Removed.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm:
+ (WebKit::ChunkedUpdateDrawingArea::page):
+ (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingArea::platformPaint):
+ (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::page):
+ (WebKit::ChunkedUpdateDrawingArea::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingArea::invalidateBackingStore):
+ (WebKit::ChunkedUpdateDrawingArea::platformPaint):
+ (WebKit::ChunkedUpdateDrawingArea::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-06-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=40940
+ Add message passing support to the WebKit2 API.
+
+ Adds message passing for both InjectedBundle -> WebContext
+ and WebContext -> InjectedBundle.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Added.
+ (WebProcessProxyMessage::):
+ (CoreIPC::):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetInjectedBundleClient):
+ (WKContextPostMessageToInjectedBundle):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeInjectedBundleClient):
+ (WebKit::WebContext::forwardMessageToWebContext):
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp: Added.
+ (WebKit::WebContextInjectedBundleClient::WebContextInjectedBundleClient):
+ (WebKit::WebContextInjectedBundleClient::initialize):
+ (WebKit::WebContextInjectedBundleClient::didRecieveMessageFromInjectedBundle):
+ * UIProcess/WebContextInjectedBundleClient.h: Added.
+ * UIProcess/WebProcessManager.cpp:
+ (WebKit::WebProcessManager::processDidClose):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveInjectedBundleMessage):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ * UIProcess/WebProcessProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePostMessage):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::didCreatePage):
+ (WebKit::InjectedBundle::didRecieveMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::loadInjectedBundle):
+ (WebKit::WebProcess::forwardMessageToInjectedBundle):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make WebKit2 build with clang++
+
+ * Platform/CoreIPC/Connection.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView keyUp:]):
+ (-[WKView keyDown:]):
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.h:
+
+2010-06-21 Satish Sampath <satish@chromium.org>
+
+ Reviewed by Steve Block.
+
+ Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
+
+ Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
+ https://bugs.webkit.org/show_bug.cgi?id=40878
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-20 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add #if USE(PLATFORM_STRATEGIES) where WebPlatformStrategies is being used.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ Only initialize the web platform strategies if PLATFORM_STRATEGIES is being used.
+
+2010-06-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=40882
+ Add ability to have a WebProcess per WebContext.
+
+ - Move to a one-to-one correspondence of WebContexts to WebProcessProxies.
+ - Add explicit shared contexts for general use.
+ - Only non-shared contexts can use injected bundles.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextCreate):
+ (WKContextCreateWithInjectedBundlePath):
+ (WKContextGetSharedProcessContext):
+ (WKContextGetSharedThreadContext):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKContextPrivate.h:
+ Change API for WKContext to no longer take a WKProcessModel type and instead
+ have explicit Create/Get functions for the different kind of contexts. Added
+ two shared contexts, one threaded, one process, and made the threaded on private
+ for now.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:]):
+ Make WKViews that don't have an explicit context use the shared process
+ context by default.
+
+ * UIProcess/Launcher/WebProcessLauncher.h:
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm:
+ (WebKit::launchWebProcess):
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::launchWebProcess):
+ Use a boolean argument to note whether we are using a thread or a process
+ instead of using the process model enum.
+
+ * UIProcess/ProcessModel.h:
+ (WebKit::):
+ Convert to using explicit Shared modifier for shared contexts.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedProcessContext):
+ (WebKit::WebContext::sharedThreadContext):
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::createWebPage):
+ (WebKit::WebContext::reviveIfNecessary):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::create):
+ (WebKit::WebContext::process):
+ * UIProcess/WebPageNamespace.cpp:
+ (WebKit::WebPageNamespace::createWebPage):
+ (WebKit::WebPageNamespace::preferencesDidChange):
+ (WebKit::WebPageNamespace::getStatistics):
+ * UIProcess/WebPageNamespace.h:
+ (WebKit::WebPageNamespace::process):
+ (WebKit::WebPageNamespace::reviveIfNecessary):
+ Move WebProcessProxy creation logic up into WebContext.
+
+ * UIProcess/WebProcessManager.cpp:
+ (WebKit::WebProcessManager::getWebProcess):
+ (WebKit::WebProcessManager::processDidClose):
+ * UIProcess/WebProcessManager.h:
+ Keep a map of WebContexts to WebProcessProxies in addition to the two
+ shared processes.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::create):
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ (WebKit::WebProcessProxy::connect):
+ (WebKit::WebProcessProxy::didClose):
+ * UIProcess/WebProcessProxy.h:
+ Store a WebContext instead of the process model.
+
+ * mac/WebKit2.exp:
+ Add new functions.
+
+2010-06-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make WebCoreSystemInterface.h a C++ only header
+ https://bugs.webkit.org/show_bug.cgi?id=40867
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Removed.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Copied from WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.m.
+ * mac/WebKit2.exp:
+
+2010-06-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add platform strategies for WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=40863
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added.
+ (WebKit::WebPlatformStrategies::initialize):
+ (WebKit::WebPlatformStrategies::WebPlatformStrategies):
+ (WebKit::WebPlatformStrategies::createPluginStrategy):
+ (WebKit::WebPlatformStrategies::refreshPlugins):
+ (WebKit::WebPlatformStrategies::getPluginInfo):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+
+2010-06-18 Sam Weinig <weinig@apple.com>
+
+ Rolling http://trac.webkit.org/changeset/61297 back in.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Added.
+ (WKBundlePageSetClient):
+ (WKBundlePageGetMainFrameURL):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added.
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Added.
+ (WebKit::InjectedBundlePageClient::InjectedBundlePageClient):
+ (WebKit::InjectedBundlePageClient::initialize):
+ (WebKit::InjectedBundlePageClient::didClearWindowObjectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleClient):
+ (WebKit::WebPage::mainFrameURL):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleClient):
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix a race condition during startup where we would never send the InitializeConnection message to the server.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::open):
+
+2010-06-17 Ada Chan <adachan@apple.com>
+
+ Rolling out http://trac.webkit.org/changeset/61297 due to build errors.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Removed.
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.cpp: Removed.
+ * WebProcess/InjectedBundle/InjectedBundlePageClient.h: Removed.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+
+2010-06-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for <rdar://problem/8010805>
+ Assertion failure ("mainThreadPthread") in isMainThread() mousing over cnn.com in Mini Browser
+
+ Don't use WebCore::String::operator NSString*() from the UIProcess, since it uses
+ StringImpl::createCFString() which expects to be called from WebCore's main thread.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::nsStringFromWebCoreString):
+ (WebKit::PageClientImpl::toolTipChanged):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView view:stringForToolTip:point:userData:]):
+
+2010-06-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=40630
+ WebKit2: Add mechanism to inject code into the WebProcess on startup
+
+ Add initial InjectedBundle support.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Add new LoadInjectedBundle message kind.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (toWK):
+ (WKContextCreate):
+ (WKContextCreateWithInjectedBundlePath):
+ * UIProcess/API/C/WKContext.h:
+ Rename WKContextCreateWithProcessModel to WKContextCreate and add
+ WKContextCreateWithInjectedBundlePath for creating a context with
+ a bundle.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::create):
+ (WebKit::WebContext::processModel):
+ (WebKit::WebContext::bundlePath):
+ * UIProcess/WebPageNamespace.cpp:
+ (WebKit::WebPageNamespace::ensureWebProcess):
+ (WebKit::WebPageNamespace::reviveIfNecessary):
+ * UIProcess/WebProcessManager.cpp:
+ (WebKit::WebProcessManager::getWebProcess):
+ * UIProcess/WebProcessManager.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::create):
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ * UIProcess/WebProcessProxy.h:
+ Thread the bundle path through process creation.
+
+ * WebProcess/InjectedBundle: Added.
+ * WebProcess/InjectedBundle/API: Added.
+ * WebProcess/InjectedBundle/API/c: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Added.
+ (WKBundleSetClient):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added.
+ (WebKit::):
+ (toWK):
+ (toRef):
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h: Added.
+ * WebProcess/InjectedBundle/InjectedBundle.cpp: Added.
+ (WebKit::InjectedBundle::InjectedBundle):
+ (WebKit::InjectedBundle::~InjectedBundle):
+ (WebKit::InjectedBundle::initializeClient):
+ (WebKit::InjectedBundle::didCreatePage):
+ * WebProcess/InjectedBundle/InjectedBundle.h: Added.
+ (WebKit::InjectedBundle::create):
+ Add bundle boilerplate.
+
+ * WebProcess/InjectedBundle/mac: Added.
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Added.
+ (WebKit::InjectedBundle::load):
+ Load the InjectedBundle using CFBundle.
+
+ * WebProcess/InjectedBundle/win: Added.
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Added.
+ (WebKit::pathGetFileName):
+ (WebKit::directoryName):
+ (WebKit::InjectedBundle::load):
+ Load the InjectedBundle using HMODULE.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Add initial bundle callback for page creation. More to come.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::loadInjectedBundle):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::injectedBundle):
+ Load the InjectedBundle on LoadInjectedBundle message.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * mac/WebKit2.exp:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add the new files.
+
+2010-06-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Move functions out of Frame class that were marked "move to Chrome"
+ https://bugs.webkit.org/show_bug.cgi?id=39636
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::tryClose): Call shouldClose on FrameLoader instead of
+ going through Frame.
+
+2010-06-14 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Reorder build event to fix cygwin path issue.
+
+ * win/WebKit2Generated.vcproj:
+
+2010-06-14 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Add build failure stopping code.
+
+ * win/WebKit2WebProcess.vcproj:
+
+2010-06-14 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Add build failure stopping code.
+
+ * win/WebKit2Generated.vcproj:
+
+2010-06-14 Ada Chan <adachan@apple.com>
+
+ Rubber-stamped by Steve Falkenburg.
+
+ - Fix the release configuration to use release.vsprops.
+ - Add Debug_Internal and Debug_All configurations to the WebKit2WebProcess project.
+ - Fix launchWebProcess() to get the right path to the WebKit2WebProcess executable.
+
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::launchWebProcess):
+ * win/WebKit2WebProcess.vcproj:
+
+2010-06-12 Ada Chan <adachan@apple.com>
+
+ Unreviewed fix for a linking error with WebKit2LocalizableStringsBundle for Windows release build.
+
+ * WebProcess/win/WebLocalizableStrings.cpp:
+ (findCachedString):
+
+2010-06-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Use -Os for optimized builds instead of -02. -02 wasn't giving the
+ right trade off at this time.
+
+ * Configurations/Base.xcconfig:
+
+2010-06-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move WKRetain and WKRelease overloaded functions out of WKRetainPtr
+ and into the files of the type they overload (eg, WKRetain(WKFrameRef
+ moves to WKFrame.h)).
+
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKFramePolicyListener.h:
+ * UIProcess/API/C/WKNavigationData.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPageNamespace.h:
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/C/WKString.h:
+ * UIProcess/API/C/WKURL.h:
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ * UIProcess/API/win/WKView.h:
+
+2010-06-10 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ * mac/WebKit2.exp:
+ Added another symbol needed by Mac clients.
+
+2010-06-09 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed build fix.
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+
+2010-06-09 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed build fix.
+
+ WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
+ data from inspected page to WebInspector as JSON string via http. The native
+ serialization to JSON string is supported by InspectorValue's classes. This patch
+ has the implementation of sendMessageToFrontend function. WebKit version of it still
+ uses ScriptFunctionCall and will be switched to another transport a little bit later.
+ https://bugs.webkit.org/show_bug.cgi?id=40134
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ (WebKit::WebInspectorClient::sendMessageToFrontend):
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+
+2010-06-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ <rdar://problem/8071268> WebKit2 URLs are displayed as 1-character strings in log statements
+
+ Create a CFString from our WebCore string and then create the CFURL from the CFString.
+
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCopyCFURL):
+
+2010-06-08 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * mac/WebKit2.exp:
+ Added _WKPageGetEstimatedProgress and _WKFrameGetPage
+
+2010-06-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Would like a way to query WKPageRef for the current progress value
+ https://bugs.webkit.org/show_bug.cgi?id=40310
+ <rdar://problem/8071299>
+
+ Add WKPageGetEstimatedProgress. Remove the progress parameter from the didChangeProgress
+ loader client callback function.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetEstimatedProgress):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didChangeProgress):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::didStartProgress):
+ (WebKit::WebPageProxy::didChangeProgress):
+ (WebKit::WebPageProxy::didFinishProgress):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::estimatedProgress):
+
+2010-06-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Would like a way to tell which WKPageRef a WKFrameRef is part of
+ https://bugs.webkit.org/show_bug.cgi?id=40308
+ <rdar://problem/8071251>
+
+ Add and implement WKFrameGetPage.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetPage):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::page):
+
+2010-06-08 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ * mac/WebKit2.exp:
+ Added a few more symbols needed by Mac clients.
+
+2010-06-08 MORITA Hajime <morrita@google.com>
+
+ Unreviewed. An attempt to fix test break.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-06 MORITA Hajime <morrita@google.com>
+
+ Unreviewd, follow up to r60820
+
+ https://bugs.webkit.org/show_bug.cgi?id=40219
+ [Mac] ENABLE_METER_TAG should be enabled
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-06-05 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ <rdar://problem/8063622> Failure to launch WebProcess.app when framework is outside of the build directory
+
+ * Configurations/WebProcess.xcconfig:
+
+2010-06-04 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Ada Chan.
+
+ Added a couple of symbols needed to start using WKFrameRefs in Mac clients.
+
+ * mac/WebKit2.exp:
+ Added _WKFrameRelease and _WKFrameRetain.
+
+2010-06-04 Ada Chan <adachan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ http://bugs.webkit.org/show_bug.cgi?id=40186
+
+ Need to close WebPageProxy when the WebView is destroyed.
+ Also, WebPageProxy shouldn't hold an OwnPtr to the PageClient, which is the WebView on Windows.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::setPageClient):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::close):
+
+2010-06-03 Ada Chan <adachan@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=40152
+
+ Need to remove the WebView from WindowMessageBroadcaster's listeners list when the WebView is destroyed.
+
+ * UIProcess/API/win/WKView.cpp:
+ (WKViewSetHostWindow): Expose API to change the host window of a WKView.
+ (WKViewWindowAncestryDidChange): Expose API to allow clients to notify WebKit when a WKView's window ancestry has changed.
+ * UIProcess/API/win/WKView.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Set the WebView's host window to 0 when it's destroyed. setHostWindow() will call
+ windowAncestryDidChange(), which will remove this WebView from the WindowMessageBroadcaster's listeners list.
+ (WebKit::WebView::WebView): Initialize m_isBeingDestroyed.
+ (WebKit::WebView::setHostWindow): Update the window's parent window and call windowAncestryDidChange().
+ (WebKit::WebView::close): Set the host window to 0.
+ * UIProcess/win/WebView.h:
+
+2010-06-04 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Utilize new takeFirst() method where appropriate.
+ https://bugs.webkit.org/show_bug.cgi?id=40089
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::removeAttachment):
+
+2010-06-03 Ada Chan <adachan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add UIProcess\API\cpp to the list of additional include directories.
+ Allow WKViewRef to work with WKRetainPtr on Windows.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ * win/WebKit2.vcproj:
+
+2010-06-01 Alice Liu <alice.liu@apple.com>
+
+ Build fix. Not reviewed
+
+ * win/WebKit2Generated.make: Added WKRetainPtr.h
+
+2010-06-01 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Added _WKRetainPtr to .exp file, and added .exp file to Xcode project.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Added mac/WebKit2.exp.
+
+ * mac/WebKit2.exp:
+ Added _WKRetainPtr.
+
+2010-06-01 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Fixed typo/wordo that prevented a certain flavor of constructor from compiling.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ (WebKit::WKRetainPtr::WKRetainPtr):
+ Changed the mysterious "retainWKPtr" to "WKRetain".
+
+2010-05-28 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ Add a using declaration for AdoptWK to match the one just added for WKRetainPtr.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+
+2010-05-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add a using declaration for WKRetainPtr matching what we do for our
+ other smart pointers and fix the destructor.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ (WebKit::WKRetainPtr::~WKRetainPtr):
+
+2010-05-25 Ada Chan <adachan@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39686
+
+ Fix the ProjectGUID of the WebKit2 project so it doesn't conflict with the one in WebKit.
+
+ * WebKit2.sln:
+ * win/WebKit2.vcproj:
+
+2010-05-24 Ada Chan <adachan@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Build fix for 32bit systems.
+
+ * mac/WebKit2.exp:
+
+2010-05-21 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Teach WebKit2 to build in the Production configuration.
+
+ * Configurations/Base.xcconfig: Restrict WebKit2 to Intel, and disable the order file.
+ * Configurations/BaseTarget.xcconfig: Fix the path to the umbrella framework directory.
+ This path is used to locate WebCore.framework, so it needs to be relative to WebKit.framework
+ rather than WebKit2.framework.
+ * Configurations/WebKit2.xcconfig: Update the install path. Add an exports file.
+ * Configurations/WebProcess.xcconfig: Update the install path.
+ * WebKit2.xcodeproj/project.pbxproj: Add a Production configuration.
+ * mac/WebKit2.exp: Added.
+
+2010-05-21 Steve Block <steveblock@google.com>
+
+ Unreviewed build fix for WebKit2
+
+ Pass 0 to Page constructor for DeviceOrientationClient.
+ See http://trac.webkit.org/changeset/59935
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2010-05-11 Mark Rowe <mrowe@apple.com>
+
+ Fix the world.
+
+ In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
+ The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
+ that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
+ in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
+ and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
+ function in WebCore being called.
+
+ We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
+ other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
+ has been reverted.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-05-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ [WebKit2] The web process doesn't need to paint when the web view is hidden.
+ https://bugs.webkit.org/show_bug.cgi?id=38549
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ (DrawingAreaMessage::):
+ Add SuspendPainting/ResumePainting messages.
+
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
+ (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
+ Suspend and resume painting accordingly.
+
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
+ Initialize m_shouldPaint to true.
+
+ (WebKit::DrawingAreaUpdateChunk::display):
+ Return if m_shouldPaint is false.
+
+ (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
+ Ditto.
+
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ Assert that we should paint here.
+
+ (WebKit::DrawingAreaUpdateChunk::suspendPainting):
+ Set m_shouldPaint to false and stop the timer.
+
+ (WebKit::DrawingAreaUpdateChunk::resumePainting):
+ Set m_shouldPaint to true and paint if needed.
+
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+ handle SuspendPainting/ResumePainting messages.
+
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.h:
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ [WebKit2] WKView should respond to WM_SHOWWINDOW messages
+ https://bugs.webkit.org/show_bug.cgi?id=38496
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc):
+ Add case for WM_SHOWWINDOW.
+
+ (WebKit::WebView::onShowWindowEvent):
+ Update the page visibility accordingly.
+
+ * UIProcess/win/WebView.h:
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Get rid of PageClient::isPageVisible and pass visibility directly in setPageIsVisible
+ https://bugs.webkit.org/show_bug.cgi?id=38493
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ Remove isPageVisible.
+
+ * UIProcess/API/mac/WKView.mm:
+ (isViewVisible):
+ New function (moved here from PageClientImpl).
+
+ (-[WKView _updateVisibility]):
+ Call didChangeVisibility.
+
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView viewDidHide]):
+ (-[WKView viewDidUnhide]):
+ Call _updateVisibility.
+
+ * UIProcess/DrawingAreaProxy.h:
+ Rename didChangeVisibility to setPageIsVisible and add an isVisible parameter.
+
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
+ (WebKit::DrawingAreaProxyUpdateChunk::setPageIsVisible):
+ Don't call WebPageProxy::isVisible.
+
+ * UIProcess/DrawingAreaProxyUpdateChunk.h:
+
+ * UIProcess/PageClient.h:
+ Remove isPageVisible.
+
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ Remove isVisible.
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement PageClient::isPageVisible on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=38483
+
+ * UIProcess/PageClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::isPageVisible):
+ * UIProcess/win/WebView.h:
+
+2010-05-03 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Shared/win/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ * Shared/win/UpdateChunk.h:
+ (WebKit::UpdateChunk::rect):
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxyUpdateChunk.h:
+ * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp:
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp:
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ * WebProcess/win/WebProcessMain.cpp:
+
+2010-04-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38415
+ Have the WKView notify the DrawingAreaProxy when its visibility changes.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::isPageVisible):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView viewDidHide]):
+ (-[WKView viewDidUnhide]):
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp:
+ (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
+ (WebKit::DrawingAreaProxyUpdateChunk::didChangeVisibility):
+ * UIProcess/DrawingAreaProxyUpdateChunk.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::isVisible):
+ * UIProcess/WebPageProxy.h:
+
+2010-05-03 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
+ https://bugs.webkit.org/show_bug.cgi?id=38397
+
+ No tests (functionality is exposed only through native WebKit API.)
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
+
+2010-05-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38471
+ Add generic callback mechanism
+
+ Added GenericCallback class replacing RenderTreeExternalRepresentationCallback
+ and ScriptReturnValueCallback.
+
+ Also,
+ - Standardize C API callbacks to take the context last.
+ - Standardize C API callbacks to not have the _f suffix (now the block
+ variants have a _b suffix).
+ - Re-write toWK and toRef methods as a set of template functions using
+ the generic API->implementation mapping information.
+
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageRunJavaScriptInMainFrame):
+ (callRunJavaScriptBlockAndRelease):
+ (disposeRunJavaScriptBlock):
+ (WKPageRunJavaScriptInMainFrame_b):
+ (WKPageRenderTreeExternalRepresentation):
+ (WKPageRenderTreeExternalRepresentation_b):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPagePrivate.h:
+ * UIProcess/GenericCallback.h: Added.
+ (WebKit::GenericCallback::create):
+ (WebKit::GenericCallback::~GenericCallback):
+ (WebKit::GenericCallback::performCallbackWithReturnValue):
+ (WebKit::GenericCallback::invalidate):
+ (WebKit::GenericCallback::callbackID):
+ (WebKit::GenericCallback::generateCallbackID):
+ (WebKit::GenericCallback::GenericCallback):
+ * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Removed.
+ * UIProcess/RenderTreeExternalRepresentationCallback.h: Removed.
+ * UIProcess/ScriptReturnValueCallback.cpp: Removed.
+ * UIProcess/ScriptReturnValueCallback.h: Removed.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-04-30 Sam Weinig <sam@webkit.org>
+
+ Fix the build.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp: Add missing #include.
+
+2010-04-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38413
+ Add callback based API to get the textual representation of the RenderTree.
+
+ - Also ensures that any pending callbacks are invalidated if the WebPage
+ closes (expectedly or unexpectedly).
+ - A follow up patch will unify the callback mechanism with a common base
+ class.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageRunJavaScriptInMainFrame_f):
+ (WKPageRenderTreeExternalRepresentation_f):
+ (callRenderTreeExternalRepresentationBlockAndDispose):
+ (disposeRenderTreeExternalRepresentationBlock):
+ (WKPageRenderTreeExternalRepresentation):
+ * UIProcess/API/C/WKPagePrivate.h: Added.
+ * UIProcess/RenderTreeExternalRepresentationCallback.cpp: Added.
+ (WebKit::generateCallbackID):
+ (WebKit::RenderTreeExternalRepresentationCallback::RenderTreeExternalRepresentationCallback):
+ (WebKit::RenderTreeExternalRepresentationCallback::~RenderTreeExternalRepresentationCallback):
+ (WebKit::RenderTreeExternalRepresentationCallback::performCallbackWithReturnValue):
+ (WebKit::RenderTreeExternalRepresentationCallback::invalidate):
+ * UIProcess/RenderTreeExternalRepresentationCallback.h: Added.
+ (WebKit::RenderTreeExternalRepresentationCallback::create):
+ (WebKit::RenderTreeExternalRepresentationCallback::callbackID):
+ * UIProcess/ScriptReturnValueCallback.cpp:
+ (WebKit::ScriptReturnValueCallback::~ScriptReturnValueCallback):
+ (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
+ (WebKit::ScriptReturnValueCallback::invalidate):
+ * UIProcess/ScriptReturnValueCallback.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getRenderTreeExternalRepresentation):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ * win/WebKit2.vcproj:
+
+2010-04-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38406
+ Add support for sending messages with a size greater than 4096 bytes
+
+ Adds support by putting message bodies that are larger than 4096 bytes
+ in OOL memory.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::sendSyncMessage):
+ (CoreIPC::Connection::dispatchMessages):
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::OutgoingMessage::OutgoingMessage):
+ (CoreIPC::Connection::OutgoingMessage::messageID):
+ (CoreIPC::Connection::send):
+ (CoreIPC::Connection::sendSync):
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::MessageID::):
+ (CoreIPC::MessageID::MessageID):
+ (CoreIPC::MessageID::equalIgnoringFlags):
+ (CoreIPC::MessageID::copyAddingFlags):
+ (CoreIPC::MessageID::fromInt):
+ (CoreIPC::MessageID::toInt):
+ (CoreIPC::MessageID::isMessageBodyOOL):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ (CoreIPC::createArgumentDecoder):
+
+2010-04-28 Mike Thole <mthole@apple.com>
+
+ Build fix, not reviewed.
+
+ Fix WebKit2 build by stubbing out WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace().
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-04-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Only build on SnowLeopard and later when using the Makefile.
+
+ * Makefile:
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
+ Allow both WebKit and WebKit2 to link to the same WebCore.framework
+
+ * Configurations/WebKit2.xcconfig: Remove the OTHER_LDFLAGS. We don't
+ need to set WebCore as a sub_umbrella of WebKit2, since we are not
+ reexporting any of its symbols.
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add comment about not using StringImpl::createCFString in WKStringCopyCFString.
+
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ (WKStringCopyCFString):
+
+2010-04-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Remove call to StringImpl::createCFString and instead use CFStringCreateWithCharacters
+ directly. StringImpl::createCFString only an optimization when called
+ from the thread that WebCore is running on, which is never the case for
+ WKStringCopyCFString. We should revisit this later, perhaps adding a
+ threadspecific allocator. We also now honor the passed in allocator.
+
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ (WKStringCopyCFString):
+
+2010-04-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
+ Disentangle initializing the main thread from initializing threading
+
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm:
+ (WebKit::webThreadBody): Add call to initializeMainThread.
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::webThreadBody): Ditto.
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+ (main): Ditto.
+ * WebProcess/win/WebProcessMain.cpp:
+ (WebKit::WebProcessMain): Ditto.
+
+2010-04-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38065
+ Merge mac and win DrawingAreaProxyUpdateChunk implementations.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ * UIProcess/DrawingAreaProxy.cpp: Copied from UIProcess/mac/DrawingAreaProxy.mm.
+ * UIProcess/DrawingAreaProxy.h: Copied from UIProcess/mac/DrawingAreaProxy.h.
+ * UIProcess/DrawingAreaProxyUpdateChunk.cpp: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
+ (WebKit::DrawingAreaProxyUpdateChunk::DrawingAreaProxyUpdateChunk):
+ (WebKit::DrawingAreaProxyUpdateChunk::paint):
+ (WebKit::DrawingAreaProxyUpdateChunk::setSize):
+ (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
+ (WebKit::DrawingAreaProxyUpdateChunk::update):
+ (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
+ * UIProcess/DrawingAreaProxyUpdateChunk.h: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.h.
+ * UIProcess/mac/DrawingAreaProxy.h: Removed.
+ * UIProcess/mac/DrawingAreaProxy.mm: Removed.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Removed.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Removed.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunkMac.mm: Copied from UIProcess/mac/DrawingAreaProxyUpdateChunk.mm.
+ (WebKit::DrawingAreaProxyUpdateChunk::page):
+ (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
+ (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/DrawingAreaProxy.cpp: Removed.
+ * UIProcess/win/DrawingAreaProxy.h: Removed.
+ * UIProcess/win/DrawingAreaProxyUpdateChunkWin.cpp: Copied from UIProcess/win/DrawingAreaProxy.cpp.
+ (WebKit::DrawingAreaProxyUpdateChunk::page):
+ (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
+ (WebKit::DrawingAreaProxyUpdateChunk::invalidateBackingStore):
+ (WebKit::DrawingAreaProxyUpdateChunk::platformPaint):
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::onPaintEvent):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-04-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38059
+ Merge mac and win DrawingAreaUpdateChunk implementations.
+
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::didSetSize):
+ (WebKit::DrawingAreaProxy::didReceiveMessage):
+ * UIProcess/win/DrawingAreaProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ * WebProcess/WebPage/DrawingAreaUpdateChunk.h: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Removed.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Removed.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunkMac.cpp: Copied from WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Removed.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Removed.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunkWin.cpp: Copied from WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp.
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ * win/WebKit2.vcproj:
+
+2010-04-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove an assert. (It's not valid when resizing).
+
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::didUpdate):
+
+2010-04-23 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::paint):
+ (WebKit::DrawingAreaProxy::setSize):
+ (WebKit::DrawingAreaProxy::didReceiveMessage):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+
+2010-04-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove an assert. (It's not valid when resizing).
+
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::didUpdate):
+
+2010-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Merge the prefix headers.
+
+ * Configurations/BaseTarget.xcconfig:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebKit2Prefix.h:
+ * WebKit2_Prefix.pch: Removed.
+
+2010-04-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't pass the new size when calling didSetSize, it's possible to get
+ the size from the update chunk.
+
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
+ (WebKit::DrawingAreaProxyUpdateChunk::didSetSize):
+ (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+
+2010-04-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename SetFrame and DidSetFrame to SetSize and DidSetSize.
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ (DrawingAreaMessage::):
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ (DrawingAreaProxyMessage::):
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
+ (WebKit::DrawingAreaProxyUpdateChunk::drawRectIntoContext):
+ (WebKit::DrawingAreaProxyUpdateChunk::setSize):
+ (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+
+2010-04-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=38002
+ Add rudimentary statistics gathering for WebKit2
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetStatistics):
+ * UIProcess/API/C/WKContextPrivate.h: Copied from WebKit2/UIProcess/API/C/WKContext.h.
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ (WKPageNamespaceGetContext):
+ * UIProcess/API/C/WKPageNamespace.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::getStatistics):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageNamespace.cpp:
+ (WebKit::WebPageNamespace::getStatistics):
+ * UIProcess/WebPageNamespace.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getStatistics):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::numberOfPages):
+ * UIProcess/WebProcessProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-04-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't paint the web page before we've blit the last update chunk to the backing store.
+
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::update):
+ (WebKit::DrawingAreaProxy::didReceiveMessage):
+ * UIProcess/win/DrawingAreaProxy.h:
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
+ (WebKit::DrawingAreaUpdateChunk::display):
+ (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ (WebKit::DrawingAreaUpdateChunk::didUpdate):
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h:
+
+2010-04-20 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::receivedData):
+
+2010-04-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't paint the web page before we've blit the last update chunk to the backing store
+ https://bugs.webkit.org/show_bug.cgi?id=37896
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ (DrawingAreaMessage::):
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.h:
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ (WebKit::DrawingAreaProxyUpdateChunk::update):
+ (WebKit::DrawingAreaProxyUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::DrawingAreaUpdateChunk):
+ (WebKit::DrawingAreaUpdateChunk::display):
+ (WebKit::DrawingAreaUpdateChunk::scheduleDisplay):
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ (WebKit::DrawingAreaUpdateChunk::didUpdate):
+ (WebKit::DrawingAreaUpdateChunk::didReceiveMessage):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h:
+
+2010-04-20 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::chooseIconForFiles):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-04-19 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeIcons):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-04-17 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Jon "The Belly" Honeycutt.
+
+ Remove the need for a .defs file! Define WK_EXPORT.
+
+ * UIProcess/API/C/WKBase.h:
+ * WebProcess/win/WebProcessMain.h:
+ * win/WebKit2.def: Removed.
+ * win/WebKit2.vcproj:
+
+2010-04-17 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Teach windows MiniBrowser how to work with window.open()
+ and targeted links.
+
+ Export WKPageSetPageUIClient.
+
+ * win/WebKit2.def:
+
+2010-04-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix window.open() and targeted links.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage): Pass in the new pageID
+ instead of 0.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage): Allow for the page to have already
+ been created, as is the case with programmatic window opening from within
+ WebCore (e.g. window.open() or <a target="_blank">).
+
+2010-04-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Don't optimize debug builds.
+
+ * WebKit2.xcodeproj/project.pbxproj: Define GCC_OPTIMIZATION_LEVEL correctly.
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix windows build.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::run):
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ (WebKit::webThreadBody):
+ (WebKit::launchWebProcess):
+ * WebProcess/win/WebProcessMain.cpp:
+ (WebKit::WebProcessMain):
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Make resizing responsive on Windows.
+
+ - Use the same waitFor logic as do for the Mac resizing
+ DrawingAreaUpdateChunk code.
+
+ * Shared/win/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ * Shared/win/UpdateChunk.h:
+ Add a constructor that only takes an IntRect and allocates
+ the shared memory mapping for you.
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ (WebKit::DrawingAreaProxy::ensureBackingStore):
+ (WebKit::DrawingAreaProxy::paint):
+ (WebKit::DrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ (WebKit::DrawingAreaProxy::setSize):
+ (WebKit::DrawingAreaProxy::didSetSize):
+ (WebKit::DrawingAreaProxy::didReceiveMessage):
+ * UIProcess/win/DrawingAreaProxy.h:
+ Perform wait in paint as we do on the mac.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onSizeEvent):
+ Change to use an IntSize.
+
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ (WebKit::DrawingAreaUpdateChunk::display):
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h:
+ Specialize setSize() drawing and factor out painting
+ into a helper function.
+
+2010-04-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Make run loops be allocated as thread specific data.
+ https://bugs.webkit.org/show_bug.cgi?id=37723
+
+ * Platform/RunLoop.cpp:
+ (RunLoop::initializeMainRunLoop):
+ (RunLoop::current):
+ (RunLoop::main):
+ * Platform/RunLoop.h:
+ * Platform/mac/RunLoopMac.mm:
+ (RunLoop::run):
+ (RunLoop::stop):
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm:
+ (WebKit::webThreadBody):
+ (WebKit::launchWebProcess):
+ * UIProcess/ResponsivenessTimer.cpp:
+ (WebKit::ResponsivenessTimer::ResponsivenessTimer):
+ * WebProcess/Launching/mac/WebProcessMain.mm:
+ (main):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::isSeparateProcess):
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Use GDI text rendering on Windows by default.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformInitialize): Use the AlternateRenderingMode
+ setting.
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix crash when trying to load an invalid URL.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadURL): Use constructor for ResourceRequest
+ that takes a KURL instead of the one that takes a String. The one
+ that takes a string expects a valid URL.
+
+2010-04-16 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make tooltips work. Thanks Adam!
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::toolTipChanged): Pass the WebView's HWND, not the tooltip's.
+
+2010-04-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix build dependencies.
+
+ * WebKit2.sln:
+
+2010-04-15 Adam Roben <aroben@apple.com>
+
+ Fix Windows WebKit2 build.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::processDidExit):
+ * win/WebKit2Generated.make:
+
+2010-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebHistoryClient support.
+ https://bugs.webkit.org/show_bug.cgi?id=37671
+
+ Adds the following callbacks:
+ didNavigateWithNavigationData
+ didPerformClientRedirect
+ didPerformServerRedirect
+ didUpdateHistoryTitle
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * Shared/WebNavigationDataStore.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKNavigationData.cpp: Added.
+ * UIProcess/API/C/WKNavigationData.h: Added.
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/WebHistoryClient.cpp: Copied from UIProcess/WebUIClient.cpp.
+ * UIProcess/WebHistoryClient.h: Copied from UIProcess/WebUIClient.h.
+ * UIProcess/WebNavigationData.cpp: Added.
+ * UIProcess/WebNavigationData.h: Added.
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * win/WebKit2.vcproj:
+
+2010-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Remove empty file configurations.
+
+ * win/WebKit2.vcproj:
+
+2010-04-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix WebKit2s build. Don't return temporaries.
+
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ (WKStringCreateWithCFString):
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCreateWithCFURL):
+ (WKURLCopyCFURL):
+
+2010-04-12 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Fixed complexity and performance FIXME created by using KURL in the UI
+ process -- it turned out that everywhere we were using KURL, we could
+ have just used String instead. (That's how Windows WebKit works, too.)
+
+ I kept WKURLRef and WKStringRef distinct opaque types in the API for now,
+ though, since there may be profit in changing their backing stores in the
+ future, and it's nice for the API to encode a difference between generic
+ strings and strings that are valid, canonical URLs.
+
+ * Shared/KURLWrapper.h: Removed. Yay!
+
+ * Shared/WebCoreTypeArgumentMarshalling.h: Nixed KURL marshalling functions.
+ Old callers marshal Strings now, instead. (This is what KURL was doing
+ under the covers, anyway.)
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toWK): Backed by StringImpl* now.
+ (toURLRef): Added a disambiguating function for specifying that you want
+ a WKURLRef, since StringImpl* converts to WKStringRef by default.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetProvisionalURL):
+ (WKFrameGetURL):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadURL):
+ * UIProcess/API/C/WKURL.cpp:
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCreateWithCFURL):
+ (WKURLCopyCFURL):
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didStartProvisionalLoad):
+ (WebKit::WebFrameProxy::didCommitLoad):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::url):
+ (WebKit::WebFrameProxy::provisionalURL):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::urlAtProcessExit):
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::WebPolicyClient::decidePolicyForMIMEType):
+ * UIProcess/WebPolicyClient.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadURL):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h: Replaced KURL / KURLWrapper with String.
+
+2010-04-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix horizontal scrollbar repainting
+ https://bugs.webkit.org/show_bug.cgi?id=37626
+
+ Make sure that the update chunk is flipped because that's what WebCore expects.
+
+ * Shared/mac/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::createImage):
+ * Shared/mac/UpdateChunk.h:
+ Add new createImage member function that creates a CGImageRef from the update chunk.
+
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm:
+ (WebKit::DrawingAreaProxyUpdateChunk::drawUpdateChunkIntoBackingStore):
+ Pass the right rectangle here; CoreGraphics wants it in non-flipped coordinates.
+
+ (WebKit::DrawingAreaProxyUpdateChunk::ensureBackingStore):
+ Create a flipped backing store.
+
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ Flip the update chunk.
+
+2010-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WKRetainPtr helper class as private header
+ https://bugs.webkit.org/show_bug.cgi?id=37603
+
+ WKRetainPtr is just like RetainPtr, but works for WK types instead of
+ CF/NS types.
+
+ * UIProcess/API/cpp: Added.
+ * UIProcess/API/cpp/WKRetainPtr.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj: Add new file.
+ * win/WebKit2.vcproj: Ditto.
+
+2010-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make the WebProcess a LSUIElement to suppress its icon from the Dock.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Info.plist:
+
+2010-04-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Factor code to paint into an update chunk out into a separate function.
+ https://bugs.webkit.org/show_bug.cgi?id=37594
+
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ (WebKit::DrawingAreaUpdateChunk::paintIntoUpdateChunk):
+ (WebKit::DrawingAreaUpdateChunk::display):
+ (WebKit::DrawingAreaUpdateChunk::setSize):
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h:
+
+2010-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix reported leaks when quitting MiniBrowser with open pages.
+
+ * WebProcess/WebPage/WebPage.h: Make close() public.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::removeWebPage):
+ (WebKit::WebProcess::didClose): If the UIProcess disappears, close
+ the live pages in an effort to not leak.
+ * WebProcess/WebProcess.h:
+
+2010-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Do a JS collection and clear the memory cache to improve leaks output
+ when exiting. Only do this in debug builds as it is slow.
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/WebProcessProxy.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::shutdown):
+ (WebKit::WebProcess::didClose):
+
+2010-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adele Peterson.
+
+ Post a null event after calling [NSApp stop] to flush the run loop
+ and finish teardown.
+
+ * Platform/mac/RunLoopMac.mm:
+ (RunLoop::stop):
+
+2010-04-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add #ifdef so that WKView is not included on the mac if not
+ compiling objective-c.
+
+ * UIProcess/API/C/WebKit2.h:
+
+2010-04-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add WebKit2 solution file.
+
+ * WebKit2.sln: Added.
+
+2010-04-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37417
+ Move duplicated internal CoreIPC message kinds to a
+ header.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::processIncomingMessage):
+ * Platform/CoreIPC/CoreIPCMessageKinds.h: Added.
+ (CoreIPC::CoreIPCMessage::):
+ (CoreIPC::):
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-04-11 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Disable not-implemented warnings by default for now.
+
+ * Shared/NotImplemented.h:
+
+2010-04-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37399
+ Remove use of STL data structures from CoreIPC code
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::ArgumentDecoder):
+ (CoreIPC::ArgumentDecoder::decodeBytes):
+ (CoreIPC::ArgumentDecoder::removeAttachment):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ Use WTF::Deque instead of std::queue and WTF::Vector
+ instead of std::vector. Replace use of malloc/free with
+ fastMalloc/fastFree.
+
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ (CoreIPC::ArgumentEncoder::addAttachment):
+ (CoreIPC::ArgumentEncoder::releaseAttachments):
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ Use WTF::Vector instead of std::list. Replace use of malloc/free
+ with fastMalloc/fastFree.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendMessage):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::processIncomingMessage):
+ (CoreIPC::Connection::sendOutgoingMessages):
+ (CoreIPC::Connection::dispatchMessages):
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+ (CoreIPC::createArgumentDecoder):
+ Use WTF::Vector instead of std::queue.
+
+ * Platform/RunLoop.cpp:
+ (RunLoop::performWork):
+ (RunLoop::scheduleWork):
+ * Platform/RunLoop.h:
+ Ditto.
+
+ * Platform/WorkQueue.h:
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::scheduleWork):
+ (WorkQueue::performWork):
+ Ditto.
+
+2010-04-10 Mark Rowe <mrowe@apple.com>
+
+ Fix an obviously incorrect part of the Xcode configuration cleanup that resulted in debug builds
+ asserting shortly after launch.
+
+ * WebKit2.xcodeproj/project.pbxproj: Fix the setting of DEBUG_DEFINES for the Debug configuration.
+
+2010-04-09 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Bring the WebKit2 Xcode configuration in to sync with recent changes to the WebKit Xcode configuration files.
+
+ In particular, this updates the FEATURE_DEFINES to match those used in the other projects, and brings in
+ the changes to support building WebKit for older Mac OS X versions from the current Mac OS X version.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/DebugRelease.xcconfig:
+ * Configurations/FeatureDefines.xcconfig:
+ * Configurations/Version.xcconfig:
+
+2010-04-09 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up the Xcode project configuration.
+
+ Common target settings are pulled out in to BaseTarget.xcconfig. The majority of setting overrides are
+ removed from the Xcode project itself. Info.plist files are updated to match those used in other frameworks.
+
+ * Configurations/BaseTarget.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig.
+ * Configurations/WebKit2.xcconfig:
+ * Configurations/WebProcess.xcconfig: Copied from WebKit2/Configurations/WebKit2.xcconfig.
+ * Info.plist:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess-Info.plist: Removed.
+ * WebProcess/Info.plist: Moved from WebProcess-Info.plist.
+
+2010-04-09 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.m:
+ (InitWebCoreSystemInterface): Update for recent WKSI changes.
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37351
+ Cannot build with build-webkit --webkit2
+
+ Add some headers that it seems others are not getting
+ already.
+
+ * Platform/mac/WorkQueueMac.cpp: #inlude <mach/mach_port.h>
+ * Shared/mac/UpdateChunk.cpp: #inlude <mach/vm_map.h>
+
+2010-04-09 Anders Carlsson <andersca@apple.com>
+
+ More build fixes.
+
+ * WebProcess/win/WebProcessMain.h:
+ Include windows.h here.
+
+ * win/WebKit2.def:
+ Add new exports.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add new WKString.h and WKURL.h headers to top
+ level include.
+
+ * UIProcess/API/C/WebKit2.h:
+
+2010-04-09 Anders Carlsson <andersca@apple.com>
+
+ More Windows build fixes.
+
+ * Shared/NotImplemented.h:
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ Fix typo.
+
+ (WKURLCreateWithCFURL):
+ * UIProcess/API/C/cf/WKURLCF.h:
+ Ditto.
+
+ * win/WebKit2Generated.make:
+ Copy the new CF headers.
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Two more #include sorting issues.
+
+ * Shared/NotImplemented.h:
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp:
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix minor style nits found by the style-script.
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * Platform/CoreIPC/Attachment.cpp:
+ * Platform/CoreIPC/Connection.cpp:
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ * Platform/win/RunLoopWin.cpp:
+ * Shared/KURLWrapper.h:
+ * Shared/WebCoreTypeArgumentMarshalling.h:
+ * Shared/mac/UpdateChunk.cpp:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKURL.cpp:
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp:
+ * UIProcess/ResponsivenessTimer.cpp:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/win/DrawingAreaProxy.cpp:
+ * UIProcess/win/WebView.cpp:
+ * WebProcess/Launching/win/WebProcessWinMain.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.h:
+ * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp:
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp:
+ * WebProcess/WebProcess.h:
+ * WebProcess/win/WebLocalizableStrings.cpp:
+ * WebProcess/win/WebLocalizableStrings.h:
+ * WebProcess/win/WebProcessMain.cpp:
+
+2010-04-09 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * Shared/NotImplemented.h:
+ Include stdio.h.
+
+2010-04-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=37347
+ Don't use CF types in the new C API
+
+ Replace all uses of CF types in the C API.
+ - Replace CFStringRef with WKStringRef.
+ - Replace CFURLRef with WKURLRef.
+
+ * WebKit2.xcodeproj/project.pbxproj: Add new files.
+
+ * Shared/KURLWrapper.h: Added. RefCounted wrapper around KURL.
+ * UIProcess/API/C/WKAPICast.h: Add new conversions.
+ * UIProcess/API/C/WKBase.h: Add new types.
+ * UIProcess/API/C/WKFrame.cpp:
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ Replace uses of CF types with WK equivalents.
+
+ * UIProcess/API/C/WKString.cpp: Added.
+ * UIProcess/API/C/WKString.h: Added.
+ Represents a WebCore::StringImpl*.
+
+ * UIProcess/API/C/WKURL.cpp: Added.
+ * UIProcess/API/C/WKURL.h: Added.
+ Represents a WebKit::KURLWrapper*.
+
+ * UIProcess/API/C/cf: Added.
+ * UIProcess/API/C/cf/WKStringCF.cpp: Added.
+ * UIProcess/API/C/cf/WKStringCF.h: Added.
+ * UIProcess/API/C/cf/WKURLCF.cpp: Added.
+ * UIProcess/API/C/cf/WKURLCF.h: Added.
+ CoreFoundation conversion files. Allows converting
+ WKStringRef <-> CFStringRef
+ WKURLRef <-> CFURLRef
+
+ * UIProcess/ScriptReturnValueCallback.cpp:
+ (WebKit::ScriptReturnValueCallback::performCallbackWithReturnValue):
+ * UIProcess/ScriptReturnValueCallback.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didStartProvisionalLoad):
+ (WebKit::WebFrameProxy::didCommitLoad):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::url):
+ (WebKit::WebFrameProxy::provisionalURL):
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didReceiveTitleForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ (WebKit::WebPageProxy::runJavaScriptAlert):
+ (WebKit::WebPageProxy::didRunJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::pageTitle):
+ (WebKit::WebPageProxy::urlAtProcessExit):
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
+ (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
+ (WebKit::WebPolicyClient::decidePolicyForMIMEType):
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::runJavaScriptAlert):
+ * UIProcess/WebUIClient.h:
+ Don't use CF types internally at all.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::frameLoaderDestroyed):
+ Fix typo.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add build support for WebKit2.
+
+ * Configurations: Added.
+ * Configurations/Base.xcconfig: Added.
+ * Configurations/DebugRelease.xcconfig: Added.
+ * Configurations/FeatureDefines.xcconfig: Added.
+ * Configurations/Version.xcconfig: Added.
+ * Configurations/WebKit2.xcconfig: Added.
+ * English.lproj: Added.
+ * English.lproj/InfoPlist.strings: Added.
+ * Info.plist: Added.
+ * Makefile: Added.
+ * WebKit2.xcodeproj: Added.
+ * WebKit2.xcodeproj/project.pbxproj: Added.
+ * WebKit2Prefix.cpp: Added.
+ * WebKit2Prefix.h: Added.
+ * WebKit2_Prefix.pch: Added.
+ * WebProcess-Info.plist: Added.
+ * version.plist: Added.
+ * win: Added.
+ * win/WebKit2.def: Added.
+ * win/WebKit2.vcproj: Added.
+ * win/WebKit2Generated.make: Added.
+ * win/WebKit2Generated.vcproj: Added.
+ * win/WebKit2WebProcess.vcproj: Added.
+
+2010-04-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37301
+ Add WebKit2/UIProcess directory.
+
+ * UIProcess: Added.
+ * UIProcess/API: Added.
+ * UIProcess/API/C: Added.
+ * UIProcess/API/C/WKAPICast.h: Added.
+ * UIProcess/API/C/WKBase.h: Added.
+ * UIProcess/API/C/WKContext.cpp: Added.
+ * UIProcess/API/C/WKContext.h: Added.
+ * UIProcess/API/C/WKFrame.cpp: Added.
+ * UIProcess/API/C/WKFrame.h: Added.
+ * UIProcess/API/C/WKFramePolicyListener.cpp: Added.
+ * UIProcess/API/C/WKFramePolicyListener.h: Added.
+ * UIProcess/API/C/WKPage.cpp: Added.
+ * UIProcess/API/C/WKPage.h: Added.
+ * UIProcess/API/C/WKPageNamespace.cpp: Added.
+ * UIProcess/API/C/WKPageNamespace.h: Added.
+ * UIProcess/API/C/WKPreferences.cpp: Added.
+ * UIProcess/API/C/WKPreferences.h: Added.
+ * UIProcess/API/C/WebKit2.h: Added.
+ * UIProcess/API/mac: Added.
+ * UIProcess/API/mac/PageClientImpl.h: Added.
+ * UIProcess/API/mac/PageClientImpl.mm: Added.
+ * UIProcess/API/mac/WKView.h: Added.
+ * UIProcess/API/mac/WKView.mm: Added.
+ * UIProcess/API/mac/WKViewInternal.h: Added.
+ * UIProcess/API/win: Added.
+ * UIProcess/API/win/WKAPICastWin.h: Added.
+ * UIProcess/API/win/WKBaseWin.h: Added.
+ * UIProcess/API/win/WKView.cpp: Added.
+ * UIProcess/API/win/WKView.h: Added.
+ * UIProcess/Launcher: Added.
+ * UIProcess/Launcher/WebProcessLauncher.h: Added.
+ * UIProcess/Launcher/mac: Added.
+ * UIProcess/Launcher/mac/WebProcessLauncher.mm: Added.
+ * UIProcess/Launcher/win: Added.
+ * UIProcess/Launcher/win/WebProcessLauncher.cpp: Added.
+ * UIProcess/PageClient.h: Added.
+ * UIProcess/ProcessModel.h: Added.
+ * UIProcess/ResponsivenessTimer.cpp: Added.
+ * UIProcess/ResponsivenessTimer.h: Added.
+ * UIProcess/ScriptReturnValueCallback.cpp: Added.
+ * UIProcess/ScriptReturnValueCallback.h: Added.
+ * UIProcess/WebContext.cpp: Added.
+ * UIProcess/WebContext.h: Added.
+ * UIProcess/WebFramePolicyListenerProxy.cpp: Added.
+ * UIProcess/WebFramePolicyListenerProxy.h: Added.
+ * UIProcess/WebFrameProxy.cpp: Added.
+ * UIProcess/WebFrameProxy.h: Added.
+ * UIProcess/WebLoaderClient.cpp: Added.
+ * UIProcess/WebLoaderClient.h: Added.
+ * UIProcess/WebPageNamespace.cpp: Added.
+ * UIProcess/WebPageNamespace.h: Added.
+ * UIProcess/WebPageProxy.cpp: Added.
+ * UIProcess/WebPageProxy.h: Added.
+ * UIProcess/WebPolicyClient.cpp: Added.
+ * UIProcess/WebPolicyClient.h: Added.
+ * UIProcess/WebPreferences.cpp: Added.
+ * UIProcess/WebPreferences.h: Added.
+ * UIProcess/WebProcessManager.cpp: Added.
+ * UIProcess/WebProcessManager.h: Added.
+ * UIProcess/WebProcessProxy.cpp: Added.
+ * UIProcess/WebProcessProxy.h: Added.
+ * UIProcess/WebUIClient.cpp: Added.
+ * UIProcess/WebUIClient.h: Added.
+ * UIProcess/mac: Added.
+ * UIProcess/mac/DrawingAreaProxy.h: Added.
+ * UIProcess/mac/DrawingAreaProxy.mm: Added.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.h: Added.
+ * UIProcess/mac/DrawingAreaProxyUpdateChunk.mm: Added.
+ * UIProcess/win: Added.
+ * UIProcess/win/DrawingAreaProxy.cpp: Added.
+ * UIProcess/win/DrawingAreaProxy.h: Added.
+ * UIProcess/win/WebView.cpp: Added.
+ * UIProcess/win/WebView.h: Added.
+
+2010-04-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig and Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37300
+ Add WebKit2/WebProcess directory.
+
+ * WebProcess: Added.
+ * WebProcess/Launching: Added.
+ * WebProcess/Launching/mac: Added.
+ * WebProcess/Launching/mac/WebProcessMain.mm: Added.
+ * WebProcess/Launching/win: Added.
+ * WebProcess/Launching/win/WebProcessWinMain.cpp: Added.
+ * WebProcess/WebCoreSupport: Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebChromeClient.h: Added.
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebContextMenuClient.h: Added.
+ * WebProcess/WebCoreSupport/WebDragClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebDragClient.h: Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Added.
+ * WebProcess/WebCoreSupport/WebErrors.h: Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Added.
+ * WebProcess/WebCoreSupport/WebInspectorClient.h: Added.
+ * WebProcess/WebCoreSupport/mac: Added.
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: Added.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.h: Added.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.m: Added.
+ * WebProcess/WebCoreSupport/win: Added.
+ * WebProcess/WebCoreSupport/win/WebCoreLocalizedStrings.cpp: Added.
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: Added.
+ * WebProcess/WebPage: Added.
+ * WebProcess/WebPage/DrawingArea.cpp: Added.
+ * WebProcess/WebPage/DrawingArea.h: Added.
+ * WebProcess/WebPage/WebFrame.cpp: Added.
+ * WebProcess/WebPage/WebFrame.h: Added.
+ * WebProcess/WebPage/WebPage.cpp: Added.
+ * WebProcess/WebPage/WebPage.h: Added.
+ * WebProcess/WebPage/mac: Added.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.cpp: Added.
+ * WebProcess/WebPage/mac/DrawingAreaUpdateChunk.h: Added.
+ * WebProcess/WebPage/mac/WebPageMac.mm: Added.
+ * WebProcess/WebPage/win: Added.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.cpp: Added.
+ * WebProcess/WebPage/win/DrawingAreaUpdateChunk.h: Added.
+ * WebProcess/WebPage/win/WebPageWin.cpp: Added.
+ * WebProcess/WebProcess.cpp: Added.
+ * WebProcess/WebProcess.h: Added.
+ * WebProcess/win: Added.
+ * WebProcess/win/DllMain.cpp: Added.
+ * WebProcess/win/WebLocalizableStrings.cpp: Added.
+ * WebProcess/win/WebLocalizableStrings.h: Added.
+ * WebProcess/win/WebProcessMain.cpp: Added.
+ * WebProcess/win/WebProcessMain.h: Added.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37295
+ Add WebKit2/Shared directory.
+
+ * Shared: Added.
+ * Shared/CoreIPCSupport: Added.
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Added.
+ * Shared/NotImplemented.h: Added.
+ * Shared/WebCoreTypeArgumentMarshalling.h: Added.
+ * Shared/WebEvent.h: Added.
+ * Shared/WebEventConversion.cpp: Added.
+ * Shared/WebEventConversion.h: Added.
+ * Shared/WebPreferencesStore.cpp: Added.
+ * Shared/WebPreferencesStore.h: Added.
+ * Shared/mac: Added.
+ * Shared/mac/UpdateChunk.cpp: Added.
+ * Shared/mac/UpdateChunk.h: Added.
+ * Shared/mac/WebEventFactory.h: Added.
+ * Shared/mac/WebEventFactory.mm: Added.
+ * Shared/win: Added.
+ * Shared/win/UpdateChunk.cpp: Added.
+ * Shared/win/UpdateChunk.h: Added.
+ * Shared/win/WebEventFactory.cpp: Added.
+ * Shared/win/WebEventFactory.h: Added.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=37293
+ Add WebKit2/Platform directory.
+
+ * Platform: Added.
+ * Platform/CoreIPC: Added.
+ * Platform/CoreIPC/ArgumentDecoder.cpp: Added.
+ * Platform/CoreIPC/ArgumentDecoder.h: Added.
+ * Platform/CoreIPC/ArgumentEncoder.cpp: Added.
+ * Platform/CoreIPC/ArgumentEncoder.h: Added.
+ * Platform/CoreIPC/Arguments.h: Added.
+ * Platform/CoreIPC/Attachment.cpp: Added.
+ * Platform/CoreIPC/Attachment.h: Added.
+ * Platform/CoreIPC/Connection.cpp: Added.
+ * Platform/CoreIPC/Connection.h: Added.
+ * Platform/CoreIPC/MessageID.h: Added.
+ * Platform/CoreIPC/mac: Added.
+ * Platform/CoreIPC/mac/ConnectionMac.cpp: Added.
+ * Platform/CoreIPC/mac/MachPort.h: Added.
+ * Platform/CoreIPC/win: Added.
+ * Platform/CoreIPC/win/ConnectionWin.cpp: Added.
+ * Platform/PlatformProcessIdentifier.h: Added.
+ * Platform/RunLoop.cpp: Added.
+ * Platform/RunLoop.h: Added.
+ * Platform/WorkItem.h: Added.
+ * Platform/WorkQueue.cpp: Added.
+ * Platform/WorkQueue.h: Added.
+ * Platform/mac: Added.
+ * Platform/mac/RunLoopMac.mm: Added.
+ * Platform/mac/WorkQueueMac.cpp: Added.
+ * Platform/win: Added.
+ * Platform/win/RunLoopWin.cpp: Added.
+
+2010-04-08 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Mark Rowe.
+
+ Add WebKit2 directory.