summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/ChangeLog')
-rw-r--r--Source/WebKit2/ChangeLog38187
1 files changed, 38187 insertions, 0 deletions
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
new file mode 100644
index 0000000..f382e2e
--- /dev/null
+++ b/Source/WebKit2/ChangeLog
@@ -0,0 +1,38187 @@
+2011-01-17 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ * Shared/PrintInfo.cpp:
+ Use #include, not #import.
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Actually wrote a FIXME promised for a review comment.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson and Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52595
+ Make basic printing work in WebKit2
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetShouldPrintBackgrounds):
+ (WKPreferencesGetShouldPrintBackgrounds):
+ * UIProcess/API/C/WKPreferences.h:
+ Implement a preference for printing backgrounds.
+
+ * Shared/PrintInfo.cpp: Added.
+ (WebKit::PrintInfo::encode):
+ (WebKit::PrintInfo::decode):
+ * Shared/PrintInfo.h: Added.
+ * Shared/mac/PrintInfoMac.mm: Added.
+ (WebKit::PrintInfo::PrintInfo):
+ A new class for passing page setup information down to the web process.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * GNUmakefile.am:
+ * WebKit2.pro:
+ * win/WebKit2.vcproj:
+ Added PrintInfo.
+
+ * Scripts/webkit2/messages.py: Added PrintInfo.h to a list of structs.
+
+ * UIProcess/API/mac/WKView.mm:
+ (WKViewData): Cache page count and geometry.
+ (WebFrameWrapper): Added a wrapper class for adding a WebFrameProxy to an NSDictionary.
+ (-[WKView drawRect:]): Added logging.
+ (setFrameBeingPrinted): Store a frame into NSPrintOperation's NSPrintInfo, so that all
+ methods invoked for this operation would know what's being printed.
+ (frameBeingPrinted): Retrieve this data.
+ (-[WKView printOperationWithPrintInfo:forFrame:]): Create a print operation that's appropriate
+ for the frame.
+ (-[WKView knowsPageRange:]): Ask the web process.
+ (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
+ Take over printing, because I couldn't make drawRect: work correctly with WebKit custom fit
+ to page implementation.
+ (-[WKView _provideTotalScaleFactorForPrintOperation:]): Help AppKit clip correctly.
+ (-[WKView rectForPage:]): Return a pre-calculated rect.
+
+ * UIProcess/WebPageProxy.h: Added m_isInPrintingMode to track whether the web page is in
+ printing mode. The UI process controls that.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Initialize m_isInPrintingMode.
+ (WebKit::WebPageProxy::beginPrinting): Change printing mode in web process if the value changes.
+ (WebKit::WebPageProxy::endPrinting): Ditto.
+ (WebKit::WebPageProxy::computePagesForPrinting): Ask the web process about output page geometry.
+ (WebKit::WebPageProxy::drawRectToPDF): Ask the web process about printed page data.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close): Delete m_printContext while there is still a Frame pointer.
+ (WebKit::WebPage::updatePreferences): Pass through ShouldPrintBackgrounds.
+ (WebKit::WebPage::beginPrinting): Switch into printing mode (or update parameters if we're
+ already in printing mode).
+ (WebKit::WebPage::endPrinting): Delete m_printContext, implicitly calling end().
+ (WebKit::WebPage::computePagesForPrinting): Make sure that we're in printing mode, and
+ copmute page rects.
+ (WebKit::WebPage::drawRectToPDF): Added a CG specific function to create a PDF document out
+ of a page rect. It should really work for onscreen content, but we only need it for printing.
+
+ * WebProcess/WebPage/WebPage.h:
+
+ * WebProcess/WebPage/WebPage.messages.in: Added BeginPrinting, EndPrinting,
+ ComputePagesForPrinting and DrawRectToPDF.
+
+2011-01-17 Tony Gentilcore <tonyg@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix some headers with missing or misspelled #ifndef guards
+ https://bugs.webkit.org/show_bug.cgi?id=52545
+
+ * Shared/UserMessageCoders.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
+ * WebProcess/WebProcessMain.h:
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * Platform/Logging.cpp:
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52592
+ Add a logging channel for WKView
+
+ * Platform/Logging.cpp:
+ * Platform/Logging.h:
+
+2011-01-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Factor bitmap context drawing code out into a shared function
+ https://bugs.webkit.org/show_bug.cgi?id=52589
+
+ * Platform/cg/CGUtilities.h: Added.
+ * Platform/cg/CGUtilities.cpp: Added.
+ (WebKit::paintBitmapContext):
+ New function that will paint a bitmap context into a CGContext.
+
+ * Shared/cg/ShareableBitmapCG.cpp:
+ (WebKit::ShareableBitmap::paint):
+ Use paintBitmapContext.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::paint):
+ (WebKit::BackingStore::scroll):
+ Use paintBitmapContext.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ Add CGUtilities.{cpp|h}.
+
+2011-01-17 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ Update xcodeproj svn:ignore to include xcuserdata.
+
+ * WebKit2.xcodeproj: Modified property svn:ignore.
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Fixing a typo from a bad merge.
+
+ * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]):
+
+2011-01-17 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52590
+ Should pass a frame into -[WKView canPrintHeadersAndFooters]
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm: (-[WKView canChangeFrameLayout:]): Also, renamed the method
+ to canChangeFrameLayout.
+
+2011-01-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement scrolling support
+ https://bugs.webkit.org/show_bug.cgi?id=52502
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h:
+ Add scrollRect and scrollDelta member variables.
+
+ * UIProcess/BackingStore.h:
+ Add scroll member function.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Repaint the scroll rect. Force a display of the view when the update info contains a scroll rect.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::incorporateUpdate):
+ Call scroll.
+
+ (WebKit::BackingStore::scroll):
+ Paint the backing store into itself.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::display):
+ Pass the scroll information in the update info.
+
+2011-01-17 Andrey Kosyakov <caseq@chromium.org>
+
+ Unreviewed. Fixed malformed reference to WebKitVSPropsRedirectionDir that broke win build.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2GeneratedCommon.vsprops:
+ * win/WebKit2WebProcess.vcproj:
+
+2011-01-17 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: simplify debugger enabling routine.
+ https://bugs.webkit.org/show_bug.cgi?id=52472
+
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::startJavaScriptDebugging):
+
+2011-01-17 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Crash due to double destruction of QSharedMemory
+ https://bugs.webkit.org/show_bug.cgi?id=52569
+
+ Avoid deleting the QSharedMemory twice.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::~SharedMemory):
+ * Shared/qt/CleanupHandler.cpp:
+ Renamed m_inDeleteObjects to m_hasStartedDeleting and
+ added a getter for it.
+ (WebKit::CleanupHandler::CleanupHandler):
+ (WebKit::CleanupHandler::deleteObjects):
+ * Shared/qt/CleanupHandler.h:
+ (WebKit::CleanupHandler::unmark):
+ (WebKit::CleanupHandler::hasStartedDeleting):
+
+2011-01-15 Adam Barth <abarth@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Move WebKit2 into Source
+ https://bugs.webkit.org/show_bug.cgi?id=52438
+
+ * DerivedSources.pro:
+ * GNUmakefile.am:
+ * WebKit2.pro:
+ * WebProcess.pro:
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2011-01-14 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Antti Koivisto.
+
+ Rename cache() to memoryCache()
+ https://bugs.webkit.org/show_bug.cgi?id=52433
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::shutdownIfPossible):
+ (WebKit::WebProcess::didClose):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformSetCacheModel):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformSetCacheModel):
+
+2011-01-13 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Split out a MarkedSpace strategy object from Heap.
+ https://bugs.webkit.org/show_bug.cgi?id=52421
+
+ * Shared/mac/WebMemorySampler.mac.mm:
+ (WebKit::WebMemorySampler::sampleWebKit): Updated for class move.
+
+2011-01-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a new PageClient::displayView function and expose it on WebPageProxy
+ https://bugs.webkit.org/show_bug.cgi?id=52500
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::displayView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::displayView):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::displayView):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::displayView):
+ * UIProcess/win/WebView.h:
+
+2011-01-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement the "should paint bounds instead of indiviual rects" algorithm from WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=52499
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::shouldPaintBoundsRect):
+ Port code from -[WebView _mustDrawUnionedRect:singleRects:count:].
+
+ (WebKit::DrawingAreaImpl::display):
+ If shouldPaintBoundsRect returns true, clear the rects vector and append the bounds rect.
+
+2011-01-14 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ ShouldLoadResourceForFrame should use strings, not URLs.
+ https://bugs.webkit.org/show_bug.cgi?id=52476
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Pass resourceURL as a string instead of
+ a URL, and rename from subresourceURL to resourceURL.
+
+2011-01-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for <rdar://problem/8711576> The web process should be able to read resources from the UI process.
+
+ Based on a patch by Ivan Krstić. This also makes the NSURLCache path a sandbox parameter.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ Encode and decode the uiProcessBundleResourcePath member variable.
+
+ * Shared/WebProcessCreationParameters.h:
+ Add uiProcessBundleResourcePath member variable.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Set the uiProcessBundleResourcePath member variable.
+
+ * WebProcess/com.apple.WebProcess.sb:
+ Allow read-only access to UI_PROCESS_BUNDLE_RESOURCE_DIR and all subdirectories.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+ When initializing the sandbox, pass UI_PROCESS_BUNDLE_RESOURCE_DIR.
+
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Remove the code that would consume a sandbox extension for the url cache path.
+
+2011-01-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Delay initializing the sandbox until we get the InitializeWebProcess message.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2011-01-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Align import/export directives
+ https://bugs.webkit.org/show_bug.cgi?id=52208
+
+ * Shared/API/c/WKBase.h: Align import/export directives with
+ JavaScriptCore/API/JSBase.h.
+
+2011-01-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Yury Semikhatsky.
+
+ Web Inspector: extract InspectorSettings from InspectorState,
+ simplify it.
+ https://bugs.webkit.org/show_bug.cgi?id=52429
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+
+2011-01-13 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Add support for drag and drop
+ https://bugs.webkit.org/show_bug.cgi?id=52343
+ <rdar://problem/7660558>
+
+ This patch contains the changes required to support dropping content
+ in WebKit on the Mac. The DragData class has been extended to provide
+ additional context from the application (keyboard state, modal windows, etc.)
+ as well as information of the drag pasteboard being used.
+ The support for WebKit as drag source will be added with a separate patch.
+
+ * Shared/DragControllerAction.h: Added.
+ * UIProcess/API/mac/WKView.mm:
+ Added implemention of the methods required to add suport for a drop target.
+ To maintain asynchronous communication with the WebProcess, we always return
+ the previous calculated value for the drag operation.
+ (-[WKView _registerDraggedTypes]):
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView applicationFlags:]):
+ (-[WKView draggingEntered:]):
+ (-[WKView draggingUpdated:]):
+ (-[WKView draggingExited:]):
+ (-[WKView prepareForDragOperation:]):
+ (-[WKView performDragOperation:]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::performDragControllerAction):
+ (WebKit::WebPageProxy::didPerformDragControllerAction):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::dragOperation):
+ (WebKit::WebPageProxy::resetDragOperation):
+ * UIProcess/WebPageProxy.messages.in:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ (WebKit::WebDragClient::willPerformDragDestinationAction):
+ (WebKit::WebDragClient::willPerformDragSourceAction):
+ (WebKit::WebDragClient::actionMaskForDrag):
+ (WebKit::WebDragClient::dragSourceActionMaskForPoint):
+ (WebKit::WebDragClient::startDrag):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::performDragControllerAction):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Incorrect assertion in DrawingAreaImpl::scroll()
+ https://bugs.webkit.org/show_bug.cgi?id=52376
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll): Changed to take the fast path if the rects have the same area.
+ This made the assertion valid, but I removed it anyway.
+
+2011-01-12 Balazs Kelemen <kbalazs@webkit.org>
+
+ Unreviewed.
+
+ Getting rid of the unused 'viewportSize' argument in QWKPagePrivate:init.
+ The argument is unused since http://trac.webkit.org/changeset/75468.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::init):
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement DrawingAreaImpl::scroll
+ https://bugs.webkit.org/show_bug.cgi?id=52346
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll):
+ If there is already an active scroll, compute the area of both scroll rects and
+ invalidate the smallest one. Compute a new dirty region if necessary and also
+ add the scroll repaint region to the dirty region.
+
+ (WebKit::DrawingAreaImpl::display):
+ Reset the scroll area and scroll delta.
+
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Add scroll area and scroll delta member variables.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Region improvements
+ https://bugs.webkit.org/show_bug.cgi?id=52344
+
+ * Platform/Region.cpp:
+ (WebKit::Region::Shape::move):
+ (WebKit::Region::move):
+ Change Region::move to take an IntSize.
+
+ * Platform/Region.h:
+ (WebKit::intersect):
+ (WebKit::subtract):
+ (WebKit::move):
+ Add convenience functions.
+
+2011-01-12 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed Qt build fix for r75661
+
+ * Shared/WebEvent.h: Don't declare phase() on non-Mac platforms.
+
+2011-01-12 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309
+ Expose fixed layout through WebKit SPI
+ -and corresponding-
+ <rdar://problem/8844464>
+
+ And now with getters!
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageUseFixedLayout):
+ (WKPageFixedLayoutSize):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::useFixedLayout):
+ (WebKit::WebPageProxy::fixedLayoutSize):
+
+2011-01-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=52337
+ PlatformWheelEvent should know about the scroll phase on the Mac
+
+ Add a phase parameter on Mac WebWheelEvent and pipe it down to PlatformWheelEvent.
+
+ * Shared/WebEvent.h:
+ (WebKit::WebWheelEvent::phase):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::WebWheelEvent):
+ (WebKit::WebWheelEvent::encode):
+ (WebKit::WebWheelEvent::decode):
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::phaseForEvent):
+ (WebKit::WebEventFactory::createWebWheelEvent):
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get rid of an unneeded parameter from DrawingArea::scroll
+ https://bugs.webkit.org/show_bug.cgi?id=52336
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::scroll):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::scroll):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::scroll):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::scroll):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::scroll):
+ * WebProcess/WebPage/TiledDrawingArea.h:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get the new drawing area painting to the screen
+ https://bugs.webkit.org/show_bug.cgi?id=52331
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Call setViewNeedsDisplay on all the update rects.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setViewNeedsDisplay):
+ Call through to the page client.
+
+ (WebKit::WebPageProxy::processDidCrash):
+ Null out the drawing area proxy.
+
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::paint):
+ Paint.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on getting the drawing area proxy to paint
+ https://bugs.webkit.org/show_bug.cgi?id=52328
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ Handle the new drawing area.
+
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::BackingStore):
+ Assert that the size isn't empty.
+
+ * UIProcess/BackingStore.h:
+ * UIProcess/mac/BackingStoreMac.mm:
+ (WebKit::BackingStore::incorporateUpdate):
+ Paint all update rects into the bitmap context.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::display):
+ Create a handle so the shareable bitmap will actually be transferred over.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Begin stubbing out some more BackingStore member functions
+ https://bugs.webkit.org/show_bug.cgi?id=52323
+
+ * UIProcess/BackingStore.cpp:
+ (WebKit::BackingStore::~BackingStore):
+ This was accidentally made into a constructor; it should be a destructor.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::paint):
+ Call the backing store.
+
+ (WebKit::DrawingAreaProxyImpl::update):
+ Incorporate the update.
+
+ (WebKit::DrawingAreaProxyImpl::incorporateUpdate):
+ Create the backing store if needed and incorporate the update.
+
+ * UIProcess/mac/BackingStoreMac.mm: Added.
+ (WebKit::BackingStore::platformInitialize):
+ Create a bitmap context.
+
+ (WebKit::BackingStore::paint):
+ (WebKit::BackingStore::incorporateUpdate):
+ Add stubs.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add BackingStoreMac.mm
+
+2011-01-12 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
+ fixed layout through WebKit SPI
+ -and corresponding-
+ <rdar://problem/8844464>
+
+ Store useFixedLayout and fixedLayoutSize in the
+ WebPageCreationParameters and the WebPageProxy.
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetUseFixedLayout):
+ (WKPageSetFixedLayoutSize):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::setUseFixedLayout):
+ (WebKit::WebPageProxy::setFixedLayoutSize):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setUseFixedLayout):
+ (WebKit::WebPage::setFixedLayoutSize):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Add BackingStore class
+ https://bugs.webkit.org/show_bug.cgi?id=52318
+
+ * UIProcess/BackingStore.cpp: Added.
+ (WebKit::BackingStore::create):
+ (WebKit::BackingStore::BackingStore):
+ * UIProcess/BackingStore.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2011-01-12 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8837307>, <rdar://problem/8637038>, and https://bugs.webkit.org/show_bug.cgi?id=52248
+ Back/forward list recovery after a WebProcess crash is crashy itself.
+
+ Add an isEmpty() accessor so the WebProcess knows if it is actually restoring a session:
+ * Shared/SessionState.cpp:
+ (WebKit::SessionState::isEmpty):
+ * Shared/SessionState.h:
+
+ Keep track of the highest used itemID so a relaunched WebProcess can later be informed:
+ * Shared/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ (WebKit::WebBackForwardListItem::highedUsedItemID):
+ * Shared/WebBackForwardListItem.h:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::generateHistoryItemID):
+ (WebKit::WebBackForwardListProxy::setHighestItemIDFromUIProcess):
+ (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Remove a now-invalid ASSERT, as the UIProcess
+ now tells the WebProcess that a previous WebProcess created.
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+
+ Encode/decode data relevant to restoring a session on WebPage creation:
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+
+ If the WebProcess has crashed since the last load, change reload and the various back/forward APIs to
+ update the current back/forward item (if necessary) then relaunch the process:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::reattachToWebProcessWithItem):
+ (WebKit::WebPageProxy::reattachToWebProcess): Renamed from "relaunch()" and made private.
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+ (WebKit::WebPageProxy::reload):
+ (WebKit::WebPageProxy::goForward):
+ (WebKit::WebPageProxy::goBack):
+ (WebKit::WebPageProxy::goToBackForwardItem):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+
+ Rename "RestoreSession" to "RestoreSessionAndNavigateToCurrentItem"
+ * WebProcess/WebPage/WebPage.messages.in:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::restoreFromSessionStateData):
+
+ Restore a session on page creation if the parameters include it:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Call restoreSession if session state exists.
+ (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem):
+ (WebKit::WebPage::restoreSession):
+ * WebProcess/WebPage/WebPage.h:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send Update and DidUpdate messages
+ https://bugs.webkit.org/show_bug.cgi?id=52316
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::update):
+ Add empty stub.
+
+ * UIProcess/DrawingAreaProxy.messages.in:
+ Add Update message.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::update):
+ Just send back a DidUpdate message.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::didUpdate):
+ Add empty stub.
+
+ * WebProcess/WebPage/DrawingArea.messages.in:
+ Add DidUpdate message.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::didUpdate):
+ Call display().
+
+ (WebKit::DrawingAreaImpl::display):
+ Send an Update message.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make the new drawing area actually draw something
+ https://bugs.webkit.org/show_bug.cgi?id=52314
+
+ * Shared/UpdateInfo.cpp:
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ Encode and decode newly added fields.
+
+ * Shared/UpdateInfo.h:
+ Add a vector of update rects and a handle for the sharable bitmap.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::display):
+ Get the individual rects from the region and paint them into the shareable bitmap.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::mainFrameHasCustomRepresentation):
+ * WebProcess/WebPage/WebPage.h:
+ Add helper function.
+
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+ Use helper function.
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add UpdateInfo class
+ https://bugs.webkit.org/show_bug.cgi?id=52306
+
+ * Shared/UpdateInfo.cpp: Added.
+ (WebKit::UpdateInfo::encode):
+ (WebKit::UpdateInfo::decode):
+ * Shared/UpdateInfo.h: Added.
+ (WebKit::UpdateInfo::UpdateInfo):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2011-01-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on the new drawing area implementation
+ https://bugs.webkit.org/show_bug.cgi?id=52302
+
+ * Platform/Region.cpp:
+ (WebKit::Region::Shape::segments_end):
+ segments_end could end up returning an iterator that is one element past the Vector data, so
+ we can't use operator[] since that will assert.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+ Initialize the timer.
+
+ (WebKit::DrawingAreaImpl::setNeedsDisplay):
+ Unite the rect with the dirty region and schedule a display.
+
+ (WebKit::DrawingAreaImpl::setSize):
+ Tell the web page to resize.
+
+ (WebKit::DrawingAreaImpl::scheduleDisplay):
+ Start a display timer if needed.
+
+ (WebKit::DrawingAreaImpl::display):
+ Add a stub.
+
+2011-01-12 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix after r75527. Rename 'BackingStoreCairo.cpp'
+ to 'ShareableBitmapCairo.cpp' to match VS project changes.
+
+ * Shared/cairo/BackingStoreCairo.cpp: Removed.
+ * Shared/cairo/ShareableBitmapCairo.cpp: Copied from Shared/cairo/BackingStoreCairo.cpp.
+
+2011-01-11 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2: "Webpages not responding" dialog appears when <select> popup menu is showing
+ https://bugs.webkit.org/show_bug.cgi?id=52242
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+ On Windows, stop the responsiveness timer before calling showPopupMenu().
+
+2011-01-11 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ UIProcess kills the WebProcess sometimes when detached frames exist
+ https://bugs.webkit.org/show_bug.cgi?id=52227
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didSaveFrameToPageCache): Don't consider the message invalid
+ if it came in for a detached frame.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a Region class which represents a graphical region
+ https://bugs.webkit.org/show_bug.cgi?id=52255
+
+ * Platform/Region.cpp: Added.
+ (WebKit::Region::Region):
+ (WebKit::Region::rects):
+ (WebKit::Region::Shape::Shape):
+ (WebKit::Region::Shape::appendSpan):
+ (WebKit::Region::Shape::canCoalesce):
+ (WebKit::Region::Shape::appendSpans):
+ (WebKit::Region::Shape::appendSegment):
+ (WebKit::Region::Shape::spans_begin):
+ (WebKit::Region::Shape::spans_end):
+ (WebKit::Region::Shape::segments_begin):
+ (WebKit::Region::Shape::segments_end):
+ (WebKit::Region::Shape::dump):
+ (WebKit::Region::Shape::bounds):
+ (WebKit::Region::Shape::move):
+ (WebKit::Region::Shape::swap):
+ (WebKit::Region::Shape::shapeOperation):
+ (WebKit::Region::Shape::UnionOperation::trySimpleOperation):
+ (WebKit::Region::Shape::unionShapes):
+ (WebKit::Region::Shape::IntersectOperation::trySimpleOperation):
+ (WebKit::Region::Shape::intersectShapes):
+ (WebKit::Region::Shape::SubtractOperation::trySimpleOperation):
+ (WebKit::Region::Shape::subtractShapes):
+ (WebKit::Region::dump):
+ (WebKit::Region::intersect):
+ (WebKit::Region::unite):
+ (WebKit::Region::subtract):
+ (WebKit::Region::move):
+ * Platform/Region.h: Added.
+ (WebKit::Region::bounds):
+ (WebKit::Region::isEmpty):
+ (WebKit::Region::Span::Span):
+ (WebKit::Region::Shape::isEmpty):
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add DidSetSize message
+ https://bugs.webkit.org/show_bug.cgi?id=52254
+
+ * DerivedSources.make:
+ Add DrawingAReaProxy.messages.in.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add DrawingAreaProxy message class.
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::didSetSize):
+ Add CoreIPC message handler function.
+
+ * UIProcess/DrawingAreaProxy.messages.in: Added.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::didSetSize):
+ Add stub.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ Handle DrawingAreaProxy messages.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setSize):
+ Send a DidSetSize message for now.
+
+2011-01-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix spelling mistake. Sharable -> Shareable.
+
+ * Shared/API/c/WKImage.h:
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toImageOptions):
+ * Shared/ImageOptions.h:
+ * Shared/WebImage.cpp:
+ (WebKit::WebImage::create):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add SetSize message
+ https://bugs.webkit.org/show_bug.cgi?id=52247
+
+ * DerivedSources.make:
+ Add DrawingArea.messages.in
+
+ * Platform/CoreIPC/MessageID.h:
+ Add DrawingArea message class.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::sizeDidChange):
+ Call sendSetSize.
+
+ (WebKit::DrawingAreaProxyImpl::sendSetSize):
+ Send a SetSize message.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add setSize override.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::setSize):
+ Add setSize member function.
+
+ * WebProcess/WebPage/DrawingArea.messages.in: Added.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Add setSize.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage):
+ Handle drawing area messages.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Replace ASSERTs with FIXMEs.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::sizeDidChange):
+ (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add DrawingAreaImpl skeleton class
+ https://bugs.webkit.org/show_bug.cgi?id=52246
+
+ * UIProcess/API/mac/WKView.mm:
+ (useNewDrawingArea):
+ New function which controls which drawing area to use, through an environment variable.
+
+ (-[WKView drawRect:]):
+ Bail if we're using the new drawing area (for now).
+
+ (-[WKView WebKit::]):
+ Create a DrawingAreaProxyImpl when asked to.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ Create a DrawingAreaImpl when asked to.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp: Added.
+ * WebProcess/WebPage/DrawingAreaImpl.h: Added.
+ Add DrawingAreaImpl class.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add Mac-only DrawingAreaProxyImpl class skeleton
+ https://bugs.webkit.org/show_bug.cgi?id=52243
+
+ This is the proxy side of a new drawing area implementation. This is Mac only for now
+ while the design is being fleshed out.
+
+ * Shared/DrawingAreaInfo.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
+ * UIProcess/DrawingAreaProxyImpl.cpp: Added.
+ (WebKit::DrawingAreaProxyImpl::create):
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
+ (WebKit::DrawingAreaProxyImpl::didReceiveMessage):
+ (WebKit::DrawingAreaProxyImpl::didReceiveSyncMessage):
+ (WebKit::DrawingAreaProxyImpl::paint):
+ (WebKit::DrawingAreaProxyImpl::sizeDidChange):
+ (WebKit::DrawingAreaProxyImpl::setPageIsVisible):
+ (WebKit::DrawingAreaProxyImpl::attachCompositingContext):
+ (WebKit::DrawingAreaProxyImpl::detachCompositingContext):
+ * UIProcess/DrawingAreaProxyImpl.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename ShareableBitmap::createSharable to createShareable
+ https://bugs.webkit.org/show_bug.cgi?id=52234
+
+ * Shared/ShareableBitmap.cpp:
+ (WebKit::ShareableBitmap::createShareable):
+ * Shared/ShareableBitmap.h:
+ * Shared/WebImage.cpp:
+ (WebKit::WebImage::create):
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::geometryDidChange):
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator):
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename BackingStore to ShareableBitmap
+ https://bugs.webkit.org/show_bug.cgi?id=52228
+
+ * GNUmakefile.am:
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::geometryDidChange):
+ * PluginProcess/PluginControllerProxy.h:
+ * Shared/API/c/cg/WKImageCG.cpp:
+ (WKImageCreateCGImage):
+ * Shared/BackingStore.cpp: Removed.
+ * Shared/BackingStore.h: Removed.
+ * Shared/PlatformPopupMenuData.cpp:
+ (WebKit::PlatformPopupMenuData::decode):
+ * Shared/PlatformPopupMenuData.h:
+ * Shared/ShareableBitmap.cpp: Copied from WebKit2/Shared/BackingStore.cpp.
+ (WebKit::ShareableBitmap::create):
+ (WebKit::ShareableBitmap::createSharable):
+ (WebKit::ShareableBitmap::createHandle):
+ (WebKit::ShareableBitmap::ShareableBitmap):
+ (WebKit::ShareableBitmap::~ShareableBitmap):
+ (WebKit::ShareableBitmap::resize):
+ (WebKit::ShareableBitmap::data):
+ * Shared/ShareableBitmap.h: Copied from WebKit2/Shared/BackingStore.h.
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ * Shared/WebImage.cpp:
+ (WebKit::WebImage::create):
+ (WebKit::WebImage::WebImage):
+ (WebKit::WebImage::~WebImage):
+ (WebKit::WebImage::size):
+ * Shared/WebImage.h:
+ (WebKit::WebImage::bitmap):
+ * Shared/cairo/BackingStoreCairo.cpp:
+ (WebKit::ShareableBitmap::createGraphicsContext):
+ (WebKit::ShareableBitmap::paint):
+ * Shared/cg/BackingStoreCG.cpp: Removed.
+ * Shared/cg/ShareableBitmapCG.cpp: Copied from WebKit2/Shared/cg/BackingStoreCG.cpp.
+ (WebKit::ShareableBitmap::createGraphicsContext):
+ (WebKit::ShareableBitmap::paint):
+ * Shared/gtk/BackingStoreGtk.cpp: Removed.
+ * Shared/gtk/ShareableBitmapGtk.cpp: Copied from WebKit2/Shared/gtk/BackingStoreGtk.cpp.
+ (WebKit::ShareableBitmap::createGraphicsContext):
+ (WebKit::ShareableBitmap::paint):
+ * Shared/qt/BackingStoreQt.cpp: Removed.
+ * Shared/qt/ShareableBitmapQt.cpp: Copied from WebKit2/Shared/qt/BackingStoreQt.cpp.
+ (WebKit::ShareableBitmap::createGraphicsContext):
+ (WebKit::ShareableBitmap::paint):
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::create):
+ (WebKit::FindIndicator::FindIndicator):
+ * UIProcess/FindIndicator.h:
+ (WebKit::FindIndicator::contentImage):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::geometryDidChange):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::snapshotInViewCoordinates):
+ (WebKit::WebPage::snapshotInDocumentCoordinates):
+ * win/WebKit2.vcproj:
+
+2011-01-11 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ [WKView setFrameSize:] derefs _page->drawingArea() without null check
+ <https://bugs.webkit.org/show_bug.cgi?id=52231>
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setFrameSize:]):
+ Null check drawingArea(). This is OK because if it doesn't exist then it will be
+ created later with the correct initial size.
+
+2011-01-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Paste and drag and drop use different code paths to interact with the pasteboard.
+ https://bugs.webkit.org/show_bug.cgi?id=52093
+ The change consists in a refactoring of the code to have only one class that
+ deals with the pasteboard on Mac.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added two methods to provide to WebCore functionality
+ exposed by NSURLExtras.
+ (WebKit::WebEditorClient::canonicalizeURL):
+ (WebKit::WebEditorClient::canonicalizeURLString):
+
+2011-01-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson and Sam Weinig.
+
+ Fix crash on launch on Windows.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onSizeEvent):
+ The drawing area is no longer initialized before the WebView is created and the first
+ onSize is receieved.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Automatically reinitialize the web page on relaunch
+ https://bugs.webkit.org/show_bug.cgi?id=52224
+ <rdar://problem/8765695>
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _didRelaunchProcess]):
+ Remove call to reinitializeWebPage.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::relaunch):
+ Call initializeWebPage().
+
+ (WebKit::WebPageProxy::initializeWebPage):
+ Assert that the web page is valid here.
+
+ * UIProcess/WebPageProxy.h:
+ Remove reinitializeWebPage.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didRelaunchProcess):
+ Remove call to reinitializeWebPage.
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass the view size to the DrawingAreaProxy constructor
+ https://bugs.webkit.org/show_bug.cgi?id=52189
+
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::viewSize):
+ * UIProcess/WebPageProxy.h:
+
+2011-01-11 Sam Weinig <sam@webkit.org>
+
+ Roll r75460 back in with build fix.
+
+2011-01-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Andreas Kling.
+
+ Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=52184
+
+ Qt part made my Balazs Kelemen.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createDrawingAreaProxy):
+ Call -[WKView _createDrawingAreaProxy].
+
+ (WebKit::PageClientImpl::setViewNeedsDisplay):
+ Call setNeedsDisplayInRect on the WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ No need to set the drawing area proxy anymore.
+
+ (-[WKView _createDrawingAreaProxy]):
+ Create a chunked update drawing area proxy for now.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ Added a QGraphicsItem* member that is initialized in init to the accociated view.
+ Implement the new functions. This is a temporary solution, in the long term the view
+ and the page should be decoupled.
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::init):
+ (QWKPagePrivate::createDrawingAreaProxy):
+ (QWKPagePrivate::setViewNeedsDisplay):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+ * UIProcess/PageClient.h:
+ Add new pure virtual member functions.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ Set the new drawing area proxy.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ No need to set the drawing area proxy anymore.
+
+ (WebKit::WebView::createDrawingAreaProxy):
+ Create a chunked update drawing area proxy for now.
+
+ (WebKit::WebView::setViewNeedsDisplay):
+ Invalidate the window.
+
+2011-01-11 Adam Roben <aroben@apple.com>
+
+ Fix a typo in a comment
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+
+2011-01-10 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r75460.
+ http://trac.webkit.org/changeset/75460
+ https://bugs.webkit.org/show_bug.cgi?id=52191
+
+ It broke Qt-WK2 build (Requested by Ossy on #webkit).
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Removed.
+ * UIProcess/API/C/WKGeolocationPermissionRequest.h: Removed.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Removed.
+ * UIProcess/GeolocationPermissionRequestManagerProxy.h: Removed.
+ * UIProcess/GeolocationPermissionRequestProxy.cpp: Removed.
+ * UIProcess/GeolocationPermissionRequestProxy.h: Removed.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Removed.
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Removed.
+ * WebProcess/Geolocation/WebGeolocationManager.cpp:
+ * WebProcess/Geolocation/WebGeolocationManager.h:
+ * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
+ (WebKit::WebGeolocationClient::requestPermission):
+ (WebKit::WebGeolocationClient::cancelPermissionRequest):
+ * WebProcess/WebCoreSupport/WebGeolocationClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2011-01-10 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed, rolling out r75459
+ http://trac.webkit.org/changeset/75459
+
+ Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=52184
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/mac/WKView.mm:
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * UIProcess/win/WebView.h:
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove size parameter to WebPageProxy::initializeWebPage
+ https://bugs.webkit.org/show_bug.cgi?id=52188
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::init):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Didn't mean to land this.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ * UIProcess/WebPageProxy.h:
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebPageProxy::creationParameters no longer needs to take a size
+ https://bugs.webkit.org/show_bug.cgi?id=52187
+
+ WebPageProxy::creationParameters can just ask the page client for the view size now.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::createInspectorPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::createNewPage):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass information about the view in the WebPageCreationParameters
+ https://bugs.webkit.org/show_bug.cgi?id=52186
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ Encode and decode the state flags.
+
+ * Shared/WebPageCreationParameters.h:
+ Add new state flags.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::creationParameters):
+ Initialize the state flags.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Update the page state from the state flags.
+
+2011-01-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make Geolocation features work in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=52078
+
+ Step 2 - Add support for requesting and granting permission for geolocation.
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKGeolocationPermissionRequest.cpp: Added.
+ * UIProcess/API/C/WKGeolocationPermissionRequest.h: Added.
+ Add new API type, WKGeolocationPermissionRequestRef.
+
+ * UIProcess/API/C/WKPage.h:
+ Add new UIClient function for requesting permission.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Stub out the UIClient.
+
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: Added.
+ * UIProcess/GeolocationPermissionRequestManagerProxy.h: Added.
+ * UIProcess/GeolocationPermissionRequestProxy.cpp: Added.
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Added.
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.h: Added.
+ * WebProcess/Geolocation/WebGeolocationManager.cpp:
+ * WebProcess/Geolocation/WebGeolocationManager.h:
+ * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
+ * WebProcess/WebCoreSupport/WebGeolocationClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::didReceiveGeolocationPermissionDecision):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::geolocationPermissionRequestManager):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Track the permission request through both sides of the process divide.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Work towards having the WebPageProxy decide when to create the DrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=52184
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createDrawingAreaProxy):
+ Call -[WKView _createDrawingAreaProxy].
+
+ (WebKit::PageClientImpl::setViewNeedsDisplay):
+ Call setNeedsDisplayInRect on the WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ No need to set the drawing area proxy anymore.
+
+ (-[WKView _createDrawingAreaProxy]):
+ Create a chunked update drawing area proxy for now.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createDrawingAreaProxy):
+ (QWKPagePrivate::setViewNeedsDisplay):
+ Add stubs.
+
+ * UIProcess/PageClient.h:
+ Add new pure virtual member functions.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ Set the new drawing area proxy.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ No need to set the drawing area proxy anymore.
+
+ (WebKit::WebView::createDrawingAreaProxy):
+ Create a chunked update drawing area proxy for now.
+
+ (WebKit::WebView::setViewNeedsDisplay):
+ Invalidate the window.
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build again.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::isViewWindowActive):
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onShowWindowEvent):
+
+2011-01-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Use a pull model for view state changes
+ https://bugs.webkit.org/show_bug.cgi?id=52175
+
+ Instead of having the WKView call setFocused, setActive etc on the WebPageProxy, the
+ WKView now simply informs the WebPageProxy what has changed, using the WebPageProxy::viewStateDidChange
+ function. The WebPageProxy can then fetch the relevant information using newly added PageClient functions.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::viewSize):
+ (WebKit::PageClientImpl::isViewWindowActive):
+ (WebKit::PageClientImpl::isViewFocused):
+ (WebKit::PageClientImpl::isViewVisible):
+ (WebKit::PageClientImpl::isViewInWindow):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView becomeFirstResponder]):
+ (-[WKView resignFirstResponder]):
+ (-[WKView viewDidMoveToWindow]):
+ (-[WKView _windowDidBecomeKey:]):
+ (-[WKView _windowDidResignKey:]):
+ (-[WKView viewDidHide]):
+ (-[WKView viewDidUnhide]):
+ (-[WKView _isFocused]):
+ (-[WKView _didRelaunchProcess]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::focusInEvent):
+ (QGraphicsWKView::focusOutEvent):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::viewSize):
+ (QWKPagePrivate::isViewWindowActive):
+ (QWKPagePrivate::isViewFocused):
+ (QWKPagePrivate::isViewVisible):
+ (QWKPagePrivate::isViewInWindow):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::createWebPage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::create):
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::viewStateDidChange):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createWebPage):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::onSetFocusEvent):
+ (WebKit::WebView::onKillFocusEvent):
+ (WebKit::WebView::onShowWindowEvent):
+ (WebKit::WebView::updateActiveState):
+ (WebKit::WebView::viewSize):
+ (WebKit::WebView::isViewWindowActive):
+ (WebKit::WebView::isViewFocused):
+ (WebKit::WebView::isViewVisible):
+ (WebKit::WebView::isViewInWindow):
+ (WebKit::WebView::didRelaunchProcess):
+ (WebKit::WebView::setIsInWindow):
+ * UIProcess/win/WebView.h:
+
+2011-01-10 Adam Roben <aroben@apple.com>
+
+ Don't pass a reference type to va_start
+
+ C++ says this results in undefined behavior:
+
+ The restrictions that ISO C places on the second parameter to the
+ va_start() macro in header <stdarg.h> are different in this
+ International Standard. The parameter parmN is the identifier of
+ the rightmost parameter in the variable parameter list of the
+ function definition (the one just before the ...).221) If the
+ parameter parmN is declared with a function, array, or reference
+ type, or with a type that is not compatible with the type that
+ results when passing an argument for which there is no parameter,
+ the behavior is undefined.
+
+ Fixes <http://webkit.org/b/52168> Title of standalone image document
+ includes bogus image dimensions
+
+ Rubber-stamped by Eric Seidel.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::formatLocalizedString): Don't use a reference type for
+ |format|.
+
+2011-01-10 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Support for ARM's RVCT(ARMCC) compiler in import/export directives
+ https://bugs.webkit.org/show_bug.cgi?id=52146
+
+ * Shared/API/c/WKBase.h:
+
+2011-01-10 Sam Weinig <sam@webkit.org>
+
+ Fix the build.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2011-01-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make Geolocation features work in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=52078
+
+ Step 1 - Add enough support to get position data from a provider.
+ This does not include permission support.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ Add #include of Arguments.h for CoreIPC::In and Out definitions.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add new message types.
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ Add new API types.
+
+ * Shared/WebGeolocationPosition.cpp: Added.
+ * Shared/WebGeolocationPosition.h: Added.
+ Internal position representation.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add casts for new API types.
+
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKGeolocationManager.cpp: Added.
+ * UIProcess/API/C/WKGeolocationManager.h: Added.
+ * UIProcess/API/C/WKGeolocationPosition.cpp: Added.
+ * UIProcess/API/C/WKGeolocationPosition.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ Add API to provide and control geolocation data.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::~WebContext):
+ (WebKit::WebContext::processDidClose):
+ (WebKit::WebContext::didReceiveMessage):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::geolocationManagerProxy):
+ * UIProcess/WebGeolocationManagerProxy.cpp: Added.
+ (WebKit::WebGeolocationManagerProxy::create):
+ (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
+ (WebKit::WebGeolocationManagerProxy::~WebGeolocationManagerProxy):
+ (WebKit::WebGeolocationManagerProxy::invalidate):
+ (WebKit::WebGeolocationManagerProxy::initializeProvider):
+ (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
+ (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
+ (WebKit::WebGeolocationManagerProxy::didReceiveMessage):
+ (WebKit::WebGeolocationManagerProxy::startUpdating):
+ (WebKit::WebGeolocationManagerProxy::stopUpdating):
+ * UIProcess/WebGeolocationManagerProxy.h: Added.
+ (WebKit::WebGeolocationManagerProxy::clearContext):
+ (WebKit::WebGeolocationManagerProxy::type):
+ * UIProcess/WebGeolocationManagerProxy.messages.in: Added.
+ * UIProcess/WebGeolocationProvider.cpp: Added.
+ (WebKit::WebGeolocationProvider::startUpdating):
+ (WebKit::WebGeolocationProvider::stopUpdating):
+ * UIProcess/WebGeolocationProvider.h: Added.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ * WebProcess/Geolocation: Added.
+ * WebProcess/Geolocation/WebGeolocationManager.cpp: Added.
+ (WebKit::WebGeolocationManager::WebGeolocationManager):
+ (WebKit::WebGeolocationManager::~WebGeolocationManager):
+ (WebKit::WebGeolocationManager::didReceiveMessage):
+ (WebKit::WebGeolocationManager::registerWebPage):
+ (WebKit::WebGeolocationManager::unregisterWebPage):
+ (WebKit::WebGeolocationManager::didChangePosition):
+ (WebKit::WebGeolocationManager::didFailToDeterminePosition):
+ * WebProcess/Geolocation/WebGeolocationManager.h: Added.
+ * WebProcess/Geolocation/WebGeolocationManager.messages.in: Added.
+ * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: Added.
+ (WebKit::WebGeolocationClient::geolocationDestroyed):
+ (WebKit::WebGeolocationClient::startUpdating):
+ (WebKit::WebGeolocationClient::stopUpdating):
+ (WebKit::WebGeolocationClient::setEnableHighAccuracy):
+ (WebKit::WebGeolocationClient::lastPosition):
+ (WebKit::WebGeolocationClient::requestPermission):
+ (WebKit::WebGeolocationClient::cancelPermissionRequest):
+ * WebProcess/WebCoreSupport/WebGeolocationClient.h: Added.
+ (WebKit::WebGeolocationClient::WebGeolocationClient):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::geolocationManager):
+ Pipe geolocation positions/errors from the UIProcess to the WebProcess.
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2011-01-10 Martin Robinson <mrobinson@igalia.com>
+
+ GTK+ build fix. Continue to fix 'make dist.'
+
+ * GNUmakefile.am: Remove more non-existent files from the WebKit2 build.
+
+2011-01-10 Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Remove webkit2 files that are still not added to the
+ repository from the makefile
+ https://bugs.webkit.org/show_bug.cgi?id=52145
+
+ This change is required for the release, we can add the lines
+ again to the makefiles with the patches adding the files.
+
+ * GNUmakefile.am:
+
+2011-01-10 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] [WK2] MiniBrowser does not load pages opened in new windows
+ https://bugs.webkit.org/show_bug.cgi?id=52111
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::context): Implement this method.
+
+2011-01-09 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/8839498> Assertion failure in KURL::KURL when calling WKURLRequestCreateWithWKURL with a non-parsed URL
+ https://bugs.webkit.org/show_bug.cgi?id=52132
+
+ * Shared/API/c/WKURLRequest.cpp:
+ (WKURLRequestCreateWithWKURL): Parse the URL.
+ * Shared/WebString.h: Fixed a comment.
+ * Shared/WebURL.h: Ditto.
+
+2011-01-09 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port.
+ The main() implementation for WebKitWebProcess binary to launch Web process from UI process.
+ https://bugs.webkit.org/show_bug.cgi?id=48511
+
+ * UIProcess/Launcher/gtk: Added.
+ * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: Added. GTK (UNIX_X11 specific) implementation
+ (WebKit::ProcessLauncher::launchProcess):
+ (WebKit::ProcessLauncher::terminateProcess):
+ (WebKit::ProcessLauncher::platformInvalidate):
+ * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::ThreadLauncher::createWebThread):
+ * WebProcess/gtk: Added.
+ * WebProcess/gtk/WebProcessGtk.cpp: Added. The stubbed implementations of virtual functions of WebProcess.h for GTK port.
+ (WebKit::WebProcess::platformSetCacheModel):
+ (WebKit::WebProcess::platformClearResourceCaches):
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+ * WebProcess/gtk/WebProcessMainGtk.cpp: Added. The WebProcessMain call which initiates the Web Process for GTK port.
+ (WebKit::WebProcessMainGtk):
+ * WebProcess/gtk/WebProcessMainGtk.h: Added. The WebProcessMain declaration for Web Process for GTK port.
+ * gtk/MainGtk.cpp: Added. The main function implementation for binary WebKitWebProcess.
+ (main):
+
+2011-01-07 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] WebKit2 GNUmakefile is out of date from trunk
+ https://bugs.webkit.org/show_bug.cgi?id=51883
+
+ * GNUmakefile.am: Updated sources list as per latest revision
+ * Platform/gtk/RunLoopGtk.cpp:
+ (RunLoop::TimerBase::start):
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ * Shared/gtk/BackingStoreGtk.cpp:
+ (WebKit::BackingStore::paint):
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
+ (WebKit::InjectedBundle::load):
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
+ (WebKit::NetscapePlugin::platformInvalidate):
+
+2011-01-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8812759> In WebKit2, PDF view settings (mode and scale) do not stick
+ https://bugs.webkit.org/show_bug.cgi?id=52118
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::encode): Encode the double values map.
+ (WebKit::WebPreferencesStore::decode): Decode the double values map.
+ (WebKit::defaultValueForKey): Added double instance.
+ (WebKit::WebPreferencesStore::setDoubleValueForKey): Added.
+ (WebKit::WebPreferencesStore::getDoubleValueForKey): Added.
+ * Shared/WebPreferencesStore.h: Added PDFScaleFactor and PDFDisplayMode preferences.
+ * UIProcess/API/mac/PDFViewController.mm:
+ (-[WKPDFView initWithFrame:PDFViewController:WebKit::]): Initialize the _pdfViewController ivar.
+ (-[WKPDFView invalidate]): Changed 'nil' to '0' in assignment to a non-Objective-C pointer.
+ (-[WKPDFView setDocument:]): Added.
+ (-[WKPDFView _applyPDFPreferences]): Added.
+ (-[WKPDFView _updatePreferences:]): Added.
+ (-[WKPDFView _updatePreferencesSoon]): Added.
+ (-[WKPDFView _scaleOrDisplayModeOrPageChanged:]): Added.
+ (-[WKPDFView viewDidMoveToWindow]): Added. Starts observing the PDF view for changes to scale
+ and display mode.
+ (-[WKPDFView viewWillMoveToWindow:]): Added. Stops observing for changes.
+ (WebKit::PDFViewController::setPDFDocumentData): Changed to call throguh -[WKPDFView setDocument:].
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::updateDoubleValueForKey): Added.
+ * UIProcess/WebPreferences.h:
+ * UIProcess/cf/WebPreferencesCF.cpp:
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added empty implementation.
+ * UIProcess/gtk/WebPreferencesGtk.cpp:
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added stub.
+ * UIProcess/mac/WebPreferencesMac.mm:
+ (WebKit::setDoubleValueIfInUserDefaults): Added.
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added.
+ * UIProcess/qt/WebPreferencesQt.cpp:
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey): Added.
+
+2011-01-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ In WebKit2, page zooming does not work with PDF
+ https://bugs.webkit.org/show_bug.cgi?id=52113
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSupportsTextZoom): Added. Returns whether the page currently supports text-only zoom.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/PDFViewController.h: Made pdfDocumentClass() private and declared new
+ member functions.
+ * UIProcess/API/mac/PDFViewController.mm:
+ (WebKit::PDFViewController::zoomFactor): Added.
+ (WebKit::PDFViewController::setZoomFactor): Added.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::customRepresentationZoomFactor): Added. Calls through to the WKView.
+ (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): Ditto.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _customRepresentationZoomFactor]): Added. Calls through to the PDFViewController.
+ (-[WKView _setCustomRepresentationZoomFactor:]): Ditto.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::customRepresentationZoomFactor): Added.
+ (QWKPagePrivate::setCustomRepresentationZoomFactor): Added.
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Coding style fix.
+ (WebKit::WebPageProxy::supportsTextZoom): Added. Returns false if the main frame has a custom
+ representation or is a standalone image, true otherwise.
+ (WebKit::WebPageProxy::setTextZoomFactor): Bail out if the main frame has a custom representation.
+ (WebKit::WebPageProxy::pageZoomFactor): If the main frame has a custom representation, get the
+ zoom factor from the page client.
+ (WebKit::WebPageProxy::setPageZoomFactor): If the main frame has a custom representation, have
+ the client set the zoom factor.
+ (WebKit::WebPageProxy::setPageAndTextZoomFactors): Ditto.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::textZoomFactor): Changed to return 1 if the main frame has a custom
+ representation.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::customRepresentationZoomFactor): Added.
+ (WebKit::WebView::setCustomRepresentationZoomFactor): Added.
+ * UIProcess/win/WebView.h:
+
+2011-01-08 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Add WKBundleFrameGetVisibleContentBounds().
+ https://bugs.webkit.org/show_bug.cgi?id=52089
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetVisibleContentBounds):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ Added WKBundleFrameGetVisibleContentBounds().
+
+2011-01-08 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] QWKView does not propagate show and hide events to the drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=52108
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::event): Call setPageIsVisible on the drawing area
+ if the event is Show or Hide.
+
+2011-01-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][Symbian] Make sure WebKit headers are included before platform headers on Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=31273
+
+ On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
+ are included before platform headers. On all other platforms continue to use
+ INCLUDEPATH (as before).
+
+ * WebKit2.pro:
+
+2011-01-08 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt][WK2] Unreviewed buildfix after r75313.
+
+ * Scripts/generate-forwarding-headers.pl:
+
+2011-01-08 Adam Barth <abarth@webkit.org>
+
+ Moving WebCore changes the layout of the Qt build directory as well,
+ which means we need to change where we look for these generated files.
+
+ * DerivedSources.pro:
+
+2011-01-07 Adam Barth <abarth@webkit.org>
+
+ Rubber-stamped by Eric Seidel.
+
+ Move WebCore to Source
+ https://bugs.webkit.org/show_bug.cgi?id=52050
+
+ * WebKit2.pro:
+
+2011-01-07 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit
+
+ Add a sampler for printing off process memory statistics.
+ This tool can track:
+
+ WebCore
+ - FastMalloc allocations bytes (in use or committed)
+ JavaScriptCore
+ - Garbage collector heap bytes (in use or committed)
+ - Stack bytes (committed only!)
+ - JIT Code bytes (committed only!)
+ Malloc zones
+ - In use bytes for the following zones:
+ * Default zone (in use or committed)
+ * DispCon zone (in use or committed)
+ * Purgable zone (in use or committed)
+ Task Info
+ - Resident size memory (RSIZE)
+
+ Data collected is dumped to a temporary file.
+
+ Create a sandbox for a temporary file.
+ * Shared/SandboxExtension.h:
+ (WebKit::SandboxExtension::createHandleForTemporaryFile):
+ * Shared/mac/SandboxExtensionMac.mm:
+ (WebKit::SandboxExtension::createHandleForTemporaryFile):
+
+ Memory Sampler files
+
+ * Shared/WebMemorySampler.cpp: Added.
+ (WebKit::WebMemorySampler::shared):
+ (WebKit::WebMemorySampler::WebMemorySampler):
+ (WebKit::WebMemorySampler::start):
+ (WebKit::WebMemorySampler::initializeTimers):
+ (WebKit::WebMemorySampler::stop):
+ (WebKit::WebMemorySampler::isRunning):
+ (WebKit::WebMemorySampler::initializeTempLogFile):
+ (WebKit::WebMemorySampler::initializeSandboxedLogFile):
+ (WebKit::WebMemorySampler::writeHeaders):
+ (WebKit::WebMemorySampler::sampleTimerFired):
+ (WebKit::WebMemorySampler::stopTimerFired):
+ (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
+ * Shared/WebMemorySampler.h: Added.
+ * Shared/mac/WebMemorySampler.mac.mm: Added.
+ (WebKit::WebMemorySampler::sampleSystemMalloc):
+ (WebKit::WebMemorySampler::sampleProcessCommittedBytes):
+ (WebKit::WebMemorySampler::processName):
+ (WebKit::WebMemorySampler::sampleWebKit):
+
+ API to start and stop UIProcess and WebProcess sampling.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextStartMemorySampler):
+ (WKContextStopMemorySampler):
+ * UIProcess/API/C/WKContext.h:
+
+ Send messages to WebProcess to start and stop memory sampling.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::processDidFinishLaunching):
+ (WebKit::WebContext::startMemorySampler):
+ (WebKit::WebContext::stopMemorySampler):
+ * UIProcess/WebContext.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::startMemorySampler):
+ (WebKit::WebProcess::stopMemorySampler):
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+
+2011-01-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Need WKBundleFrameCopyProvisionalURL
+ https://bugs.webkit.org/show_bug.cgi?id=52083
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyProvisionalURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::provisionalURL):
+ Grab the URL from the provisional document loader.
+ * WebProcess/WebPage/WebFrame.h:
+
+2011-01-07 James Robinson <jamesr@chromium.org>
+
+ Revert "Implement mozilla's animationTime property"
+ https://bugs.webkit.org/show_bug.cgi?id=51952
+
+ This approach isn't quite right.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRect):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+
+2011-01-07 Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] WebKit2 GNUmakefile is out of date from trunk
+ Adding new stub files for compiling on latest revision
+ https://bugs.webkit.org/show_bug.cgi?id=51883
+
+ * UIProcess/gtk: Added.
+ * UIProcess/gtk/TextCheckerGtk.cpp: Added.
+ (WebKit::TextChecker::state):
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ (WebKit::TextChecker::closeSpellDocumentWithTag):
+ (WebKit::TextChecker::checkTextOfParagraph):
+ (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
+ (WebKit::TextChecker::getGuessesForWord):
+ (WebKit::TextChecker::learnWord):
+ (WebKit::TextChecker::ignoreWord):
+ * UIProcess/gtk/WebInspectorGtk.cpp: Added.
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ (WebKit::WebInspectorProxy::platformOpen):
+ (WebKit::WebInspectorProxy::platformClose):
+ (WebKit::WebInspectorProxy::inspectorPageURL):
+ * UIProcess/gtk/WebPageProxyGtk.cpp: Added.
+ (WebKit::WebPageProxy::standardUserAgent):
+ * UIProcess/gtk/WebPreferencesGtk.cpp: Added.
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Added.
+ (WebKit::WebContextMenuClient::lookUpInDictionary):
+ (WebKit::WebContextMenuClient::isSpeaking):
+ (WebKit::WebContextMenuClient::speak):
+ (WebKit::WebContextMenuClient::stopSpeaking):
+ * WebProcess/WebCoreSupport/gtk/WebDatabaseManagerGtk.cpp: Added.
+ (WebKit::WebDatabaseManager::databaseDirectory):
+ * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp: Added.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ * WebProcess/WebPage/gtk: Added.
+ * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: Added.
+ (WebKit::WebInspector::localizedStringsURL):
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Don't ever call ::SetCursor(0)
+
+ Doing so makes the cursor disappear from the screen.
+
+ Fixes <http://webkit.org/b/52024> Mouse cursor flashes when moving it
+ around a WKView before the web process has finished launching
+
+ Reviewed by Jon Honeycutt.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onSetCursor): If we don't have a cursor to set, just
+ let Windows do its default thing (which is to set the cursor to the
+ window class's cursor, which in our case is the arrow cursor).
+ (WebKit::WebView::cursorToShow): Just return 0 when the page has
+ crashed so that we'll show the default cursor (which is the arrow
+ cursor). This change has no visible effect, but seems slightly better
+ conceptually.
+ (WebKit::WebView::updateNativeCursor): Don't do anything if we don't
+ have a cursor to set.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Fill the WKView with white when the web process hasn't drawn anything
+ yet
+
+ Fixes <http://webkit.org/b/52023> WKView accumulates pixel garbage
+ before web process has had a chance to draw anything (if Aero is
+ disabled)
+
+ Reviewed by Jon Honeycutt.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::paint):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::paint):
+ * UIProcess/TiledDrawingAreaProxy.h:
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::paint):
+ Changed these functions to return a boolean indicating whether we
+ actually painted anything.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onPaintEvent): Fill with white (and don't call
+ didDraw) when the DrawingAreaProxy isn't able to paint.
+
+2011-01-06 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ WebKit2: Need WKBundlePagePrivate equivalent of WebKit1's WebViewPrivate's setDefersCallbacks
+ https://bugs.webkit.org/show_bug.cgi?id=52038
+
+ The implementation of WebKit1's WebViewPrivate's setDefersCallbacks on both Windows and Mac
+ calls WebCore::Page::setDefersLoading.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetDefersLoading):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setDefersLoading):
+ * WebProcess/WebPage/WebPage.h:
+
+2011-01-06 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355
+ Change WebKit2 session restoring to restore the full back/forward list.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::registerNewWebBackForwardListItem): Let the UIProcess register its own
+ WebBackForwardListItems in its ID map upon creation.
+ * UIProcess/WebProcessProxy.h:
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Register each new list entry in the
+ UIProcess ID map.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::addItemFromUIProcess): Add this method to register UIProcess
+ created items without doing any of the other work normally associated with adding a new back/forward item
+ (such as notifying the UIProcess).
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::restoreSession): Map all of the back/forward list entries from the UIProcess then
+ cause a load of the current entry.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Always show the arrow cursor when the web process has crashed
+
+ Fixes <http://webkit.org/b/52006> WKView shows a stale cursor when the
+ web process crashes
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::processDidCrash):
+ (WebKit::WebView::didRelaunchProcess):
+ Update the cursor to reflect the new state.
+
+ (WebKit::WebView::cursorToShow): Always show the arrow cursor when the
+ web process has crashed.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Reduce code duplication in WebView::updateNativeCursor
+
+ Fixes <http://webkit.org/b/52005> It's not easy to add new behavior to
+ WebView::updateNativeCursor
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::cursorToShow): Moved code to choose a cursor here...
+ (WebKit::WebView::updateNativeCursor): ...from here.
+
+ * UIProcess/win/WebView.h: Added cursorToShow.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Make WKView fill with white when the web process has crashed
+
+ Previously we would just draw whatever we had last drawn into the
+ WKView (i.e., a stale picture of the web page), which was confusing
+ (because the web page would mysteriously not respond to input) and ugly
+ (because it wouldn't behave properly if the window was resized).
+
+ Fixes <http://webkit.org/b/52004> WKView keeps painting a stale
+ picture of the web page when the web process crashes
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onPaintEvent): Ported code from -[WKView drawRect:]
+ to fill with white if the page is invalid or has no DrawingArea. As a
+ bonus, also ported the call to WebPageProxy::didDraw from that method.
+
+ (WebKit::WebView::processDidCrash):
+ (WebKit::WebView::didRelaunchProcess):
+ Invalidate our window so that we'll redraw with white or the new page.
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Make WKViews work on Windows after a crashed web process gets relaunched
+
+ Fixes <http://webkit.org/b/52001> Relaunching the web process fails to
+ revivify WKViews on Windows
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didRelaunchProcess): Implemented by porting code from
+ -[WKView _didRelaunchProcess].
+
+2011-01-06 Adam Roben <aroben@apple.com>
+
+ Remove WebView::m_rect
+
+ It was only used in the constructor, and wasn't even kept up-to-date as
+ the WebView's size changed.
+
+ Fixes <http://webkit.org/b/52000> WebView::m_rect is unnecessary
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/win/WebView.cpp:
+ * UIProcess/win/WebView.h:
+
+2011-01-05 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Ada Chan.
+
+ WebKit2: Should be able to call into injected bundle to ask if we should allow resource loads
+ https://bugs.webkit.org/show_bug.cgi?id=51969
+
+ Add the ability to call into the injected bundle to ask if we should allow resource loads.
+ If the injected bundle says we should cancel, we clear out the ResourceRequest that was
+ passed into willSendRequest, which cancels the resource load.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add the new callback for allowing/cancelling
+ resource loads.
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::shouldLoadResourceForFrame): Calls through to the client.
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSendRequest): Ask the InjectedBundlePageLoaderClient if we
+ should load the resource or not.
+
+2011-01-06 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Add APIs to WKBundleFrame to get content bounds and scroll offset
+ https://bugs.webkit.org/show_bug.cgi?id=51968
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetContentBounds):
+ (WKBundleFrameGetScrollOffset):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ Add WKBundleFrameGetContentBounds() and WKBundleFrameGetScrollOffset().
+
+2011-01-06 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Implement mozilla's animationTime property
+ https://bugs.webkit.org/show_bug.cgi?id=51952
+
+ Tells the page to clear the current animation time after producing a frame.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRect):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+
+2011-01-06 Darin Adler <darin@apple.com>
+
+ Redo the half-done rename from the last check-in.
+ Sorry for the broken build last night.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::removeItem): Renamed.
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Updated
+ for new name.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didRemoveBackForwardItem): Updated to
+ use the new name.
+
+2011-01-06 Maciej Stachowiak <mjs@apple.com>
+
+ Rubber stamped by Dan Bernstein.
+
+ Fix build for Darin's previous change w/ the obvious renaming.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didRemoveBackForwardItem):
+
+2011-01-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Back/Forward entries in WebKit2 leak
+ https://bugs.webkit.org/show_bug.cgi?id=51983
+
+ Besides fixing the leak, this also fixes a problem where
+ all history items were sent over to the UI process, but
+ we wanted to send only back/forward items.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::pageClosed): Added.
+ Tells the web process about all the back/forward
+ items being removed.
+ (WebKit::WebBackForwardList::addItem): Ditto.
+ Also removed a redundant call to didChangeBackForwardList.
+ (WebKit::WebBackForwardList::clear): Ditto.
+
+ * UIProcess/WebBackForwardList.h: Added pageClosed.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Added a call to pageClosed.
+ (WebKit::WebPageProxy::backForwardRemovedItem): Added.
+ Sends a message to the web page in the web process.
+
+ * UIProcess/WebPageProxy.h: Added backForwardRemovedItem.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem): Added an itemID argument,
+ since callers will now be getting it and we don't want to
+ get it twice. Removed the code to generate an ID. Also
+ removed some local variables to make the code a little
+ tighter and clearer.
+ (WebKit::WK2NotifyHistoryItemChanged): Only call
+ updateBackForwardItem for items that already have IDs.
+ We don't want to send cross-process messages for every
+ history item; just the ones that are top level back/forward
+ items.
+ (WebKit::WebBackForwardListProxy::removeItem):
+ Added. For use when the UI process tells us to remove it.
+ (WebKit::WebBackForwardListProxy::addItem): Added code to
+ assign an ID and put this item into the maps. This is called
+ exactly once on each back/forward item.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Added
+ removeItem.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didRemoveBackForwardItem): Added.
+
+ * WebProcess/WebPage/WebPage.h: Added didRemoveBackForwardItem.
+
+ * WebProcess/WebPage/WebPage.messages.in: Added
+ DidRemoveBackForwardItem message.
+
+2011-01-05 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Debug and Release builds on Windows clobber each other
+ https://bugs.webkit.org/show_bug.cgi?id=49185
+
+ Changes the structure of WebKitBuild build products directory so we
+ completely separate each build configuration into independent directories.
+
+ Although we previously had per-configuration directories for obj, this change adds
+ per-configuration directories for bin, lib, obj, and include. Each configuration's
+ build products are stored within a directory inside of WebKitBuild.
+
+ Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
+ defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).
+
+ * win/WebKit2.make:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ * win/WebKit2Generated.make:
+ * win/WebKit2GeneratedCommon.vsprops:
+ * win/WebKit2WebProcessPostBuild.cmd:
+ * win/WebKit2WebProcessPreBuild.cmd:
+ * win/WebKitPostBuild.cmd:
+ * win/WebKitPreBuild.cmd:
+
+2011-01-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51973
+ Make main frame PDF printing work
+
+ * UIProcess/API/mac/PDFViewController.h:
+ * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::makePrintOperation):
+ Ask PDFDocument to create an NSPrintOperation.
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView printOperationWithPrintInfo:forFrame:]): Create a new NSPrintOperation, either
+ from scratch or from a PDF view.
+ (-[WKView canPrintHeadersAndFooters]): Report if the view can be re-paginated to add headers
+ and footers.
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8750248>
+ Need a way to create a new DownloadProxy from an arbitrary resource request
+
+ <rdar://problem/8750465>
+ Need a way to start a download in WKDownload
+
+ <rdar://problem/8752204>
+ WK2 Context Menus - "Save linked file" support
+
+ * Shared/ContextMenuState.h: Added.
+ Add a ContextMenuState struct which contains state for context menus.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextDownloadURLRequest):
+ Call WebContext::download.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::download):
+ Send a DownloadRequest message to the web process.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showContextMenu):
+ Set the active context menu state.
+
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ Handle ContextMenuItemTagDownloadImageToDisk and ContextMenuItemTagDownloadLinkToDisk by calling
+ WebContext::Download, passing the respective URLs.
+
+ * UIProcess/WebPageProxy.messages.in:
+ ShowContextMenu now takes state as well.
+
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::downloadURL):
+ Assert that this is never reached; downloads are handled in the UI process.
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+ Pass the context menu state along when sending the ShowContextMenu message.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::downloadRequest):
+ Call the shared DownloadManager.
+
+ * WebProcess/WebProcess.messages.in:
+ Add DownloadRequest message.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add ContextMenuState.h.
+
+2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix.
+
+ [Qt] [Symbian] Fix building NPAPI support
+
+ NPEvent is mapped to QAction on Symbian. QAction has no
+ default constructor, so toNP() fails to build. Add a case for
+ Symbian behind the OS(SYMBIAN) guard.
+
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::toNP):
+
+2011-01-05 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Copy WKImageCG.h to include\WebKit2 in build output
+ https://bugs.webkit.org/show_bug.cgi?id=51944
+
+ * win/WebKit2Generated.make:
+ Add xcopy command to copy WKImageCG.h.
+
+2011-01-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Part of <rdar://problem/8261624> and https://bugs.webkit.org/show_bug.cgi?id=47355
+ Change WebKit2 session restoring to restore the full back/forward list
+
+ Add a new message to tell the WebProcess to restore a session state:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::restoreSession):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add the new message, AND fix the intentional misspellings.
+
+ Also, Sam sucks.
+
+ Change WebProcess back/forward list item ids to be odd (UIProcess's will be even):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::generateHistoryItemID):
+
+ Provide accessors to the entries in the list to pass to the WebProcess:
+ * UIProcess/WebBackForwardList.h:
+ (WebKit::WebBackForwardList::entries):
+ (WebKit::WebBackForwardList::currentIndex):
+
+ Add decoding of the saved back/forward list itmes (we already encode them):
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::generateWebBackForwardItemID):
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
+
+ Instead of loading the current URL, pass the entire last back to the WebProcess:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::restoreFromSessionStateData):
+
+2011-01-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51953
+ Add a "SessionState" object for IPC messaging.
+
+ This object includes all data necessary to restore a session state;
+ For now, this is just the back/forward list to restore.
+
+ * Shared/SessionState.cpp: Added.
+ (WebKit::SessionState::SessionState):
+ (WebKit::SessionState::encode):
+ (WebKit::SessionState::decode):
+ * Shared/SessionState.h: Added.
+ (WebKit::SessionState::list):
+ (WebKit::SessionState::currentIndex):
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2011-01-05 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix.
+
+ Include unistd.h for _exit() for non-Windows builds.
+
+ Build break noticed on QtWebkit Symbian builds.
+
+ * Shared/ChildProcess.cpp:
+
+2011-01-05 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51949
+ Make WebBackForwardListItem shared, and add encoders and decoders
+
+ * Shared/WebBackForwardListItem.cpp: Copied from UIProcess/WebBackForwardListItem.cpp.
+ (WebKit::WebBackForwardListItem::encode):
+ (WebKit::WebBackForwardListItem::decode):
+ * Shared/WebBackForwardListItem.h: Copied from UIProcess/WebBackForwardListItem.h.
+ * UIProcess/WebBackForwardListItem.cpp: Removed.
+ * UIProcess/WebBackForwardListItem.h: Removed.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle smart insert/delete
+ https://bugs.webkit.org/show_bug.cgi?id=51946
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ Add isSmartInsertDelete enabled.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle toggleSmartInsertDelete:.
+
+ (-[WKView toggleSmartInsertDelete:]):
+ Toggle the smart insert/delete state.
+
+ * UIProcess/TextChecker.h:
+ Add isSmartInsertDeleteEnabled and setSmartInsertDeleteEnabled.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize m_isSmartInsertDeleteEnabled.
+
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ Handle ContextMenuItemTagSmartCopyPaste.
+
+ (WebKit::WebPageProxy::setSmartInsertDeleteEnabled):
+ Update the state and send a SetSmartInsertDeleteEnabled message.
+
+ (WebKit::WebPageProxy::creationParameters):
+ Initialize isSmartInsertDeleteEnabled.
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isSmartInsertDeleteEnabled):
+ Return m_isSmartInsertDeleteEnabled.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::isSmartInsertDeleteEnabled):
+ (WebKit::TextChecker::setSmartInsertDeleteEnabled):
+ Store and fetch the smart insert delete state.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::smartInsertDeleteEnabled):
+ Call WebPage::isSmartInsertDeleteEnabled.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::toggleSmartInsertDelete):
+ Assert that this is never called.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Initialize m_isSmartInsertDeleteEnabled
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::isSmartInsertDeleteEnabled):
+ (WebKit::WebPage::setSmartInsertDeleteEnabled):
+ Add getter and setter.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add SetSmartInsertDeleteEnabled message.
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/WebPage/WebPage.cpp:
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Implement word transformation
+ https://bugs.webkit.org/show_bug.cgi?id=51943
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle the word transformation selectors.
+
+ (-[WKView uppercaseWord:]):
+ (-[WKView lowercaseWord:]):
+ (-[WKView capitalizeWord:]):
+ Call down to the WebPageProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::uppercaseWord):
+ (WebKit::WebPageProxy::lowercaseWord):
+ (WebKit::WebPageProxy::capitalizeWord):
+ Send messages to the WebPage.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::changeWordCase):
+ Add helper function.
+
+ (WebKit::WebEditorClient::uppercaseWord):
+ (WebKit::WebEditorClient::lowercaseWord):
+ (WebKit::WebEditorClient::capitalizeWord):
+ Call helper function.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeSpellingToWord):
+ Call replaceSelectionWithText.
+
+ (WebKit::WebPage::uppercaseWord):
+ (WebKit::WebPage::lowercaseWord):
+ (WebKit::WebPage::capitalizeWord):
+ Call the editor functions.
+
+ (WebKit::WebPage::replaceSelectionWithText):
+ New helper function that replaces the selected string with another string.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add new messages.
+
+2011-01-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51935
+ Add WebKit2 API for largest frame
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetFrameSetLargestFrame):
+ * UIProcess/API/C/WKPage.h:
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on spelling
+ https://bugs.webkit.org/show_bug.cgi?id=51939
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle changeSpelling: as well.
+
+ (-[WKView showGuessPanel:]):
+ Show or hide the guess panel.
+
+ (-[WKView checkSpelling:]):
+ Pass false to advanceToNextMisspelling.
+
+ (-[WKView changeSpelling:]):
+ Call changeSpellingToWord.
+
+ * UIProcess/TextChecker.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize m_pendingLearnOrIgnoreWordMessageCount.
+
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ Handle smart toggles directly in the UI process, keep track of whether
+ we're asked to learn or ignore a word.
+
+ (WebKit::WebPageProxy::advanceToNextMisspelling):
+ Pass the boolean through.
+
+ (WebKit::WebPageProxy::changeSpellingToWord):
+ Send a ChangeSpellingToWord message.
+
+ (WebKit::WebPageProxy::learnWord):
+ (WebKit::WebPageProxy::ignoreWord):
+ Check that we do have a pending learn or ignore word message. Call through to
+ the text checker.
+
+ (WebKit::WebPageProxy::processDidCrash):
+ Reset the m_pendingLearnOrIgnoreWordMessageCount variable.
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ Add new messages.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::learnWord):
+ (WebKit::TextChecker::ignoreWord):
+ Implement in terms of NSSpellChecker.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::ignoreWordInSpellDocument):
+ (WebKit::WebEditorClient::learnWord):
+ Send IgnoreWord and LearnWord messages.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution):
+ (WebKit::WebEditorClient::toggleAutomaticLinkDetection):
+ (WebKit::WebEditorClient::toggleAutomaticDashSubstitution):
+ (WebKit::WebEditorClient::toggleAutomaticTextReplacement):
+ Add assertions.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::advanceToNextMisspelling):
+ Pass the bool along to the Editor.
+
+ (WebKit::WebPage::changeSpellingToWord):
+ Replace the selected text.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add new ChangeSpellingToWord message and add a boolean to AdvanceToNextMisspelling.
+
+2011-01-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Keep track of active text substitution preferences
+ https://bugs.webkit.org/show_bug.cgi?id=51931
+
+ * Shared/TextCheckerState.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle new selectors, mostly copied from WebKit1 code.
+
+ (-[WKView orderFrontSubstitutionsPanel:]):
+ Open the substitution panel.
+
+ (-[WKView isAutomaticQuoteSubstitutionEnabled]):
+ (-[WKView setAutomaticQuoteSubstitutionEnabled:]):
+ (-[WKView toggleAutomaticQuoteSubstitution:]):
+ (-[WKView isAutomaticDashSubstitutionEnabled]):
+ (-[WKView setAutomaticDashSubstitutionEnabled:]):
+ (-[WKView toggleAutomaticDashSubstitution:]):
+ (-[WKView isAutomaticLinkDetectionEnabled]):
+ (-[WKView setAutomaticLinkDetectionEnabled:]):
+ (-[WKView toggleAutomaticLinkDetection:]):
+ (-[WKView isAutomaticTextReplacementEnabled]):
+ (-[WKView setAutomaticTextReplacementEnabled:]):
+ (-[WKView toggleAutomaticTextReplacement:]):
+ Call the text checker, and update the state in the web process if needed.
+
+ * UIProcess/TextChecker.h:
+ Add new flags.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::initializeState):
+ Initialize flags from user defaults.
+
+ (WebKit::TextChecker::setAutomaticQuoteSubstitutionEnabled):
+ (WebKit::TextChecker::setAutomaticDashSubstitutionEnabled):
+ (WebKit::TextChecker::setAutomaticLinkDetectionEnabled):
+ (WebKit::TextChecker::setAutomaticTextReplacementEnabled):
+ Update and save the flags.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
+ (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled):
+ (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
+ (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
+ Get the text checker state.
+
+2011-01-05 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Darin Adler.
+
+ Cleaned up com.apple.WebProcess.sb
+
+ * WebProcess/com.apple.WebProcess.sb: Moved the closing parentheses of multi-line blocks to
+ their own lines. Changed to use WebKit-standard 4-space indentation.
+
+2011-01-05 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51903
+ Tell UI process which subframe is largest
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::frameSetLargestFrame):
+ Remember largest frame in frameset pages.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::frameDidBecomeFrameSet): Reset stored largest frame if main frame
+ changes to a frameset or back.
+ (WebKit::WebPageProxy::frameSetLargestFrameChanged): Store a new largest frame when notified
+ of a change.
+
+ * UIProcess/WebPageProxy.messages.in: Added FrameSetLargestFrameChanged.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::area): Calculate area of a frame.
+ (WebKit::findLargestFrameInFrameSet): Find largest first-level subframe in a frameset page.
+ (WebKit::WebChromeClient::contentsSizeChanged): Recalculate largest frame, and notify UI
+ process if it changed.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.h: Store the latest largest frame.
+
+ * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::size):
+ * WebProcess/WebPage/WebFrame.h:
+ Expose frame size.
+
+2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] Add support for non-trivial context menu action
+ https://bugs.webkit.org/show_bug.cgi?id=51902
+
+ Implement a call back from the QAction triggered in the UIProcess to the
+ action in WebProcess.
+
+ A few basic actions have been implemented based on this feature.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (contextMenuActionForWebAction):
+ (QWKPage::triggerAction):
+ (QWKPage::action):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ (WebKit::webActionForContextMenuAction):
+
+2011-01-04 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Include unistd.h for sleep() for non-Windows builds.
+
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/qt/WebProcessMainQt.cpp:
+
+2011-01-04 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Change the inline type of consumePermanently.
+
+ * Shared/SandboxExtension.h:
+ (WebKit::SandboxExtension::consumePermanently):
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/8821203> Sandbox violations trying to access the Safari cache
+
+ * Shared/SandboxExtension.h:
+ (WebKit::SandboxExtension::consumePermanently):
+ New function which consumes a sandbox extension and destroys it, making it impossible
+ to later revoke it.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ Encode and decode the path extension handle.
+
+ * Shared/mac/SandboxExtensionMac.mm:
+ (WebKit::SandboxExtension::createHandle):
+ Standardize the path before creating the handle.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Create a sandbox extension for the cache path.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Consume the sandbox extension.
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::getGuessesForWord):
+
+2011-01-04 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Mouse events in WebKit2 on Windows need to know whether the click activated the WebView to match WebKit1 behavior.
+ https://bugs.webkit.org/show_bug.cgi?id=51228
+
+ * Shared/WebEvent.h:
+ (WebKit::WebMouseEvent::didActivateWebView):
+ Add m_didActivateWebView to WebMouseEvent on Windows.
+
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
+ Propagate whether the click activated the WebView when converting to a PlatformMouseEvent.
+
+ * Shared/WebMouseEvent.cpp:
+ (WebKit::WebMouseEvent::WebMouseEvent):
+ Add m_didActivateWebView to WebMouseEvent on Windows.
+
+ (WebKit::WebMouseEvent::encode):
+ (WebKit::WebMouseEvent::decode):
+ Encode and decode new m_didActivateWebView member variable.
+
+ * Shared/win/WebEventFactory.cpp:
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ * Shared/win/WebEventFactory.h:
+ Add didActivateWebView parameter to createWebMouseEvent().
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc):
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::onMouseEvent):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::setWasActivatedByMouseEvent):
+ Keep track of whether the click activated the WebView.
+
+2011-01-04 Ivan Krstić <ike@apple.com>
+
+ Reviewed and landed by Anders Carlsson.
+
+ <rdar://problem/8602585>
+ <rdar://problem/8711641>
+
+ * WebProcess/com.apple.WebProcess.sb:
+ Fix a misplaced right parenthesis and add a new system path regex.
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on spelling and grammar
+ https://bugs.webkit.org/show_bug.cgi?id=51910
+
+ * Scripts/webkit2/messages.py:
+ Add special case for WebCore::TextCheckingResult.
+
+ * Shared/NotImplemented.h:
+ Fix macro so that defining DISABLE_NOT_IMPLEMENTED_WARNINGS to 0 will enable the warnings.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add argument coders for WebCore::GrammarDetail and WebCore::TextCheckingResult.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView checkSpelling:]):
+ Call advanceToNextMisspelling.
+
+ * UIProcess/TextChecker.h:
+ Add new NSSpellChecker wrappers.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize the new member variables.
+
+ (WebKit::WebPageProxy::~WebPageProxy):
+ Call TextChecker::closeSpellDocumentWithTag.
+
+ (WebKit::WebPageProxy::advanceToNextMisspelling):
+ Send the AdvanceToNextMisspelling message.
+
+ (WebKit::WebPageProxy::spellDocumentTag):
+ Create a spell document tag if necessary.
+
+ (WebKit::WebPageProxy::checkTextOfParagraph):
+ (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord):
+ (WebKit::WebPageProxy::getGuessesForWord):
+ Call the TextChecker.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add new messages.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ (WebKit::TextChecker::closeSpellDocumentWithTag):
+ (WebKit::TextChecker::checkTextOfParagraph):
+ (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
+ (WebKit::TextChecker::getGuessesForWord):
+ Add NSSpellChecker wrappers.
+
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+ Add stubs.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::isContinuousSpellCheckingEnabled):
+ (WebKit::WebEditorClient::isGrammarCheckingEnabled):
+ Get the text checking state from the web process.
+
+ (WebKit::WebEditorClient::updateSpellingUIWithMisspelledWord):
+ (WebKit::WebEditorClient::getGuessesForWord):
+ Proxy calls to the UI process.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
+
+ (WebKit::WebEditorClient::checkTextOfParagraph):
+ Proxy calls to the UI process.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::advanceToNextMisspelling):
+ Call the frame.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add AdvanceToNextMisspelling message.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Set the text checker state.
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Unreviewed. Build fix.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Unreviewed. Build fix.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
+ (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
+
+2011-01-04 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WK2: Support Accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=51859
+
+ Implement remote accessibility API to support cross process accessibility
+ on the Mac platform.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::accessibilityChildTokenReceived):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView _updateWindowAndViewFrames]):
+ (-[WKView _setAccessibilityChildToken:]):
+ (-[WKView accessibilityIsIgnored]):
+ (-[WKView accessibilityHitTest:]):
+ (-[WKView accessibilityAttributeValue:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::windowAndViewFramesChanged):
+ (WebKit::WebPageProxy::didReceiveAccessibilityPageToken):
+ (WebKit::WebPageProxy::sendAccessibilityPresenterToken):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::accessibilityRemoteObject):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::windowAndViewFramesChanged):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::accessibilityPosition):
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Added.
+ * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Added.
+ (-[AccessibilityWebPageObject setWebPage:]):
+ (-[AccessibilityWebPageObject setRemoteParent:]):
+ (-[AccessibilityWebPageObject dealloc]):
+ (-[AccessibilityWebPageObject accessibilityIsIgnored]):
+ (-[AccessibilityWebPageObject accessibilityAttributeNames]):
+ (-[AccessibilityWebPageObject accessibilityIsAttributeSettable:]):
+ (-[AccessibilityWebPageObject accessibilitySetValue:forAttribute:]):
+ (-[AccessibilityWebPageObject accessibilityActionNames]):
+ (-[AccessibilityWebPageObject accessibilityChildren]):
+ (-[AccessibilityWebPageObject accessibilityAttributeValue:]):
+ (-[AccessibilityWebPageObject accessibilityShouldUseUniqueId]):
+ (-[AccessibilityWebPageObject accessibilityHitTest:]):
+ (-[AccessibilityWebPageObject accessibilityFocusedUIElement]):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformInitialize):
+ (WebKit::WebPage::sendAccessibilityPresenterToken):
+ (WebKit::WebPage::accessibilityRemoteObject):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::presenterApplicationPid):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2011-01-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Get rid of an extra copy in the back/forward item IPC message by using a DataReference.
+
+ * UIProcess/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ (WebKit::WebBackForwardListItem::setBackForwardData):
+ * UIProcess/WebBackForwardListItem.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::dataCallback): Get rid of no-longer-needed check for size 0.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ * UIProcess/WebProcessProxy.h:
+
+ * UIProcess/WebProcessProxy.messages.in:
+
+ * WebProcess/WebPage/EncoderAdapter.cpp:
+ (WebKit::EncoderAdapter::data):
+ * WebProcess/WebPage/EncoderAdapter.h:
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+
+2011-01-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Store more data per history entry in the session state blob.
+
+ * UIProcess/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::create):
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::addBackForwardItem):
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2011-01-04 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ Add back/forward encoding and decoding to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51901
+
+ * GNUmakefile.am: Added new source files.
+ * WebKit2.pro: Ditto.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
+ * win/WebKit2.vcproj: Ditto.
+
+ * WebProcess/WebPage/DecoderAdapter.cpp: Added.
+ * WebProcess/WebPage/DecoderAdapter.h: Added.
+ * WebProcess/WebPage/EncoderAdapter.cpp: Added.
+ * WebProcess/WebPage/EncoderAdapter.h: Added.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem): Added code to encode the back/forward
+ tree and send it along. The code to decode needs to wait on Brady's
+ current project.
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8766999> WebKit2: Sandboxing causes certificate error on access to any HTTPS URL
+
+ Allow read access to /Library/Preferences/com.apple.security.plist.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Build fixes.
+
+ * UIProcess/qt/TextCheckerQt.cpp:
+ * UIProcess/win/TextCheckerWin.cpp:
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Don't use macros for the key names.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send over text checker state to the web process
+ https://bugs.webkit.org/show_bug.cgi?id=51896
+
+ * Platform/CoreIPC/Arguments.h:
+ Remove 'const' from the argument, this matches all the other Arguments classes.
+
+ * Shared/TextCheckerState.h: Added.
+ New class with text checker state.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Add textCheckerState.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ (-[WKView toggleContinuousSpellChecking:]):
+ (-[WKView toggleGrammarChecking:]):
+ (-[WKView toggleAutomaticSpellingCorrection:]):
+ Get the needed flags from the text checker state.
+
+ * UIProcess/TextChecker.h:
+ Add state() function, remove getters.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Initialize the text checker state.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::updateTextCheckerState):
+ Send the SetTextCheckerState message to the web process.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::initializeState):
+ Initialize the state from the user defaults.
+
+ (WebKit::TextChecker::state):
+ Return the state.
+
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled):
+ Make sure to write the new state.
+
+ * UIProcess/qt/TextCheckerQt.cpp:
+ (WebKit::TextChecker::state):
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::state):
+ Add stubs.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add TextCheckerState.h.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ Initialize m_textCheckerState.
+
+ (WebKit::WebProcess::setTextCheckerState):
+ Update.
+
+ * WebProcess/WebProcess.messages.in:
+ Add SetTextCheckerState message.
+
+ * win/WebKit2.vcproj:
+ Add TextCheckerState.h.
+
+2011-01-04 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Anders Carlsson.
+
+ Attach a radar # to this FIXME:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+
+2011-01-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Add more spelling/grammar related methods
+ https://bugs.webkit.org/show_bug.cgi?id=51886
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ Handle more selectors.
+
+ (-[WKView showGuessPanel:]):
+ Add stub.
+
+ (-[WKView checkSpelling:]):
+ Ditto.
+
+ (-[WKView toggleAutomaticSpellingCorrection:]):
+ Toggle automatic spelling correction.
+
+ * UIProcess/TextChecker.h:
+ Add setAutomaticSpellingCorrectionEnabled and isAutomaticSpellingCorrectionEnabled.
+
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::setAutomaticSpellingCorrectionEnabled):
+ (WebKit::TextChecker::isAutomaticSpellingCorrectionEnabled):
+ Update the toggle.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ Add a Radar URL for the localization FIXMEs.
+
+2011-01-04 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * win/WebKit2.vcproj: Correct the missing $(WebKitVSPropsRedirectionDir)
+ variables that Visual Studio helpfully removes when making changes.
+
+2011-01-04 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * win/WebKit2.vcproj: Disable CG-specific WKImageCG.cpp from
+ Debug_Cairo_CFLite/Release_Cario_CFLite builds.
+
+2011-01-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=51856
+ Pass encoded back/forward tree data from the WebProcess to the UIProcess
+
+ Remove the WKBackForwardListItemCopyOriginalURL API as it's not needed:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ * UIProcess/API/C/WKBackForwardListItem.h:
+ * UIProcess/API/qt/qwkhistory.cpp:
+ * UIProcess/API/qt/qwkhistory.h:
+
+ * UIProcess/WebBackForwardListItem.cpp:
+ (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::create):
+ (WebKit::WebBackForwardListItem::setBackForwardData):
+ (WebKit::WebBackForwardListItem::backForwardData):
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ * UIProcess/WebProcessProxy.h:
+
+ * UIProcess/WebProcessProxy.messages.in:
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem):
+
+2011-01-04 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Incomplete clean up on termination
+ https://bugs.webkit.org/show_bug.cgi?id=51474
+
+ Do not kill the web process to force it's termination.
+ Fix object destruction and cleanup logic and make the cleanup more reliable.
+ Do not try to cleanup on crash because it is not reliable.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::platformInvalidate): Do not delete the socket if we
+ do not own it. This is the case with a server connection.
+ * Platform/qt/MappedMemoryPool.cpp:
+ Turn MappedMemoryPool into a QObject so the CleanupHandler can destruct it
+ in the same way as the other objects.
+ (WebKit::MappedMemoryPool::instance):
+ (WebKit::MappedMemoryPool::~MappedMemoryPool):
+ * Platform/qt/MappedMemoryPool.h:
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::create): No need to care about QCoreApplication::aboutToQuit.
+ It is handled by the CleanupHandler.
+ (WebKit::SharedMemory::~SharedMemory): Ditto.
+ * Shared/qt/CleanupHandler.cpp: Renamed from WebKit2/Shared/qt/CrashHandler.cpp.
+ No longer try to handle crash but just normal termination.
+ (WebKit::CleanupHandler::CleanupHandler): Connect deleteObjects with QCoreApplication::aboutToQuit.
+ Ensure appropriate thread affinity.
+ (WebKit::CleanupHandler::sigTermHandler): Stop the main event loop.
+ (WebKit::CleanupHandler::deleteObjects): Use deleteLater instead of delete since it is more reliable.
+ * Shared/qt/CleanupHandler.h: Renamed from WebKit2/Shared/qt/CrashHandler.h.
+ (WebKit::CleanupHandler::instance):
+ (WebKit::CleanupHandler::markForCleanup):
+ (WebKit::CleanupHandler::unmark):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ Do not kill the web process immidiately but give it a chance to cleanup.
+ Use QLocalServer::removeServer for assuring that the socket file will be removed.
+ (WebKit::ProcessLauncherHelper::serverName):
+ (WebKit::cleanupAtExit): Renamed from cleanupProcesses. Only kill the web process when it times
+ out terminating. Fixed the bug of changing the list while iterating it over by disconnecting
+ from the processStateChanged slot.
+ (WebKit::QtWebProcess::QtWebProcess): Added missing meta type registration of QProcess::ProcessState.
+ (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper):
+ (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): No need to add the the instance to the
+ CleanupHandler because we will remove the socket file in cleanupAtExit.
+ (WebKit::ProcessLauncherHelper::instance):
+ (WebKit::ProcessLauncher::terminateProcess):
+ * WebKit2.pro:
+
+2011-01-04 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
+ https://bugs.webkit.org/show_bug.cgi?id=51825
+
+ Implement the necessary methods to get a basic context menu working for Qt.
+
+ Only 4 basic WebAction have been added on the UIProcess side: back, forward, stop and reload.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::showContextMenu):
+ (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createContextMenuProxy):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ (WebKit::webActionForContextMenuAction):
+ (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
+ (WebKit::WebContextMenuProxyQt::create):
+ (WebKit::WebContextMenuProxyQt::showContextMenu):
+ (WebKit::WebContextMenuProxyQt::hideContextMenu):
+ (WebKit::WebContextMenuProxyQt::createContextMenu):
+ * UIProcess/qt/WebContextMenuProxyQt.h:
+
+2011-01-03 Yi Shen <yi.4.shen@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ [Qt] Add SelectAll option to the context menu for the editor
+ https://bugs.webkit.org/show_bug.cgi?id=50049
+
+ Add WebPlatformStrategies::contextMenuItemTagSelectAll for Qt.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::contextMenuItemTagSelectAll):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2011-01-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Ensure that the correct initial focusable area is focused when tabbing
+ and shift-tabbing into the WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView becomeFirstResponder]): Use the keyViewSelectionDirection to set
+ the initial focus.
+
+2011-01-02 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Simon Fraser.
+
+ <rdar://problem/8812159> Update copyright strings
+
+ * Info.plist:
+ * WebProcess/Info.plist:
+
+2011-01-02 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Csaba Osztrogonác.
+
+ WebKit 2 does not build on 64bits with a recent GCC
+ https://bugs.webkit.org/show_bug.cgi?id=51754
+
+ Change the argument coding for DatabaseDetails to use explicitly the 64 bits type.
+
+ * Shared/OriginAndDatabases.h:
+ * Shared/WebCoreArgumentCoders.h:
+
+2011-01-02 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move JavaScriptCore to Source
+ https://bugs.webkit.org/show_bug.cgi?id=51604
+
+ Workaround until moving all sources to Source directory is finished.
+
+ * Scripts/generate-forwarding-headers.pl: Add Sources to searching path for JavaScriptCore.
+
+2011-01-01 Adam Barth <abarth@webkit.org>
+
+ Speculative build fix for Qt. Add some more include paths.
+
+ * WebKit2.pro:
+
+2011-01-01 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Move JavaScriptCore to Source
+ https://bugs.webkit.org/show_bug.cgi?id=51604
+
+ * WebKit2.pro:
+ - Point to JavaScriptCore in its new location.
+
+2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Enable building whatever already exists of WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=37369
+
+ * GNUmakefile.am: Added.
+ * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header
+ file for WebKit2 sources files.
+ * gtk: Added.
+ * gtk/webkit2.pc.in: Added.
+
+2010-12-29 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] Added more webattributes to the qwkpreferences
+ https://bugs.webkit.org/show_bug.cgi?id=51697
+
+ Added PrivateBrowsingEnabled, DeveloperExtrasEnabled, DnsPrefetchEnabled attributes
+
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ (QWKPreferences::testAttribute):
+ (QWKPreferences::setAttribute):
+ * UIProcess/API/qt/qwkpreferences.h:
+
+2010-12-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 snapshots should contain accelerated content
+ <rdar://problem/8807393>
+ https://bugs.webkit.org/show_bug.cgi?id=51660
+
+ When creating a snapshot, flatten the layer tree for painting so that
+ accelerated content is included in the snapshot.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::snapshotInViewCoordinates):
+ (WebKit::WebPage::snapshotInDocumentCoordinates):
+
+2010-12-27 Daniel Bates <dbates@rim.com>
+
+ Attempt to fix the WebKit2 Windows build after changeset 74698
+ <http://trac.webkit.org/changeset/74698> (bug #51656).
+
+ Add "..\Shared\API\c\WKImage.h" to WebKit2Generated.make.
+
+ * win/WebKit2Generated.make:
+
+2010-12-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Add API for getting snapshots
+ https://bugs.webkit.org/show_bug.cgi?id=51656
+
+ * Shared/API/c/WKBase.h:
+ * Shared/API/c/WKImage.cpp: Added.
+ (WKImageGetTypeID):
+ (WKImageCreate):
+ (WKImageGetSize):
+ * Shared/API/c/WKImage.h: Added.
+ * Shared/WebImage.cpp: Added.
+ (WebKit::WebImage::create):
+ (WebKit::WebImage::size):
+ * Shared/WebImage.h: Added.
+ (WebKit::WebImage::backingStore):
+ (WebKit::WebImage::WebImage):
+ (WebKit::WebImage::type):
+ Add a general purpose API image class.
+
+ * Shared/API/c/cg: Added.
+ * Shared/API/c/cg/WKImageCG.cpp: Added.
+ (WKImageCreateCGImage):
+ * Shared/API/c/cg/WKImageCG.h: Added.
+ Add function to convert a WKImageRef to a CGImageRef for platforms that use CG.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toFloatRect):
+ (WebKit::toIntSize):
+ (WebKit::toIntPoint):
+ (WebKit::toIntRect):
+ (WebKit::toImageOptions):
+ Make conversion functions that are ambiguous more explicit.
+
+ * Shared/APIObject.h:
+ * Shared/BackingStore.h:
+ (WebKit::BackingStore::isBackedBySharedMemory):
+ * Shared/ImageOptions.h: Added.
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ Allow a WKImageRef to be passed in user messages. Right now, it only
+ works if the image is sharable.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageScaleWebView):
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::windowFrame):
+ Use the more explicit conversion function name.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCreateSnapshotInViewCoordinates):
+ (WKBundlePageCreateSnapshotInDocumentCoordinates):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ (WKBundlePageOverlaySetNeedsDisplay):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::snapshotInViewCoordinates):
+ (WebKit::WebPage::snapshotInDocumentCoordinates):
+ Add function to take the snapshot.
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-12-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Add additional API for managing databases
+ https://bugs.webkit.org/show_bug.cgi?id=51629
+
+ - Adds client for the database manager to get notifications
+ of changes to databases.
+
+ * UIProcess/API/C/WKDatabaseManager.cpp:
+ (WKDatabaseManagerSetClient):
+ * UIProcess/API/C/WKDatabaseManager.h:
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::initializeClient):
+ (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
+ (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
+ * UIProcess/WebDatabaseManagerProxy.h:
+ * UIProcess/WebDatabaseManagerProxy.messages.in:
+ * UIProcess/WebDatabaseManagerProxyClient.cpp: Added.
+ (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
+ (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
+ * UIProcess/WebDatabaseManagerProxyClient.h: Added.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::WebDatabaseManager):
+ (WebKit::WebDatabaseManager::~WebDatabaseManager):
+ (WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
+ (WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+ * win/WebKit2.vcproj:
+
+2010-12-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Add additional API for managing databases
+ https://bugs.webkit.org/show_bug.cgi?id=51629
+
+ - Adds WKDatabaseManagerGetDatabasesByOrigin, which asynchronously returns
+ an array of dictionaries containing details about each origin using
+ databases and details about each database. Keys were added for accessing
+ the data in the dictionaries.
+ - Adds WKDatabaseManagerDeleteDatabasesWithNameForOrigin to delete a database
+ with a specific identifier.
+ - Adds WKDatabaseManagerSetQuotaForOrigin to set the quota for an origin.
+
+ * Shared/OriginAndDatabases.cpp: Added.
+ (WebKit::OriginAndDatabases::encode):
+ (WebKit::OriginAndDatabases::decode):
+ * Shared/OriginAndDatabases.h: Added.
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/API/C/WKDatabaseManager.cpp:
+ (WKDatabaseManagerGetOriginKey):
+ (WKDatabaseManagerGetOriginQuotaKey):
+ (WKDatabaseManagerGetOriginUsageKey):
+ (WKDatabaseManagerGetDatabaseDetailsKey):
+ (WKDatabaseManagerGetDatabaseDetailsNameKey):
+ (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
+ (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
+ (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
+ (WKDatabaseManagerGetDatabasesByOrigin):
+ (callGetDatabasesByOriginBlockAndDispose):
+ (WKDatabaseManagerGetDatabasesByOrigin_b):
+ (WKDatabaseManagerGetDatabaseOrigins):
+ (callGetDatabaseOriginsBlockBlockAndDispose):
+ (WKDatabaseManagerGetDatabaseOrigins_b):
+ (WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
+ (WKDatabaseManagerDeleteDatabasesForOrigin):
+ (WKDatabaseManagerDeleteAllDatabases):
+ (WKDatabaseManagerSetQuotaForOrigin):
+ * UIProcess/API/C/WKDatabaseManager.h:
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::originKey):
+ (WebKit::WebDatabaseManagerProxy::originQuotaKey):
+ (WebKit::WebDatabaseManagerProxy::originUsageKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
+ (WebKit::WebDatabaseManagerProxy::invalidate):
+ (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
+ (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
+ (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
+ (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
+ (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
+ (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
+ (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
+ * UIProcess/WebDatabaseManagerProxy.h:
+ * UIProcess/WebDatabaseManagerProxy.messages.in:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::getDatabasesByOrigin):
+ (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
+ (WebKit::WebDatabaseManager::setQuotaForOrigin):
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
+ * win/WebKit2.vcproj:
+
+2010-12-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Rename DrawingAreaMessage and DrawingAreaLegacyMessage and
+ DrawingAreaProxyMessage to DrawingAreaProxyLegacyMessage.
+
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::paint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveSyncMessage):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
+ (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
+ (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::setSize):
+ (WebKit::LayerBackedDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::display):
+ (WebKit::TiledDrawingArea::setSize):
+ (WebKit::TiledDrawingArea::updateTile):
+ (WebKit::TiledDrawingArea::tileUpdateTimerFired):
+ (WebKit::TiledDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+
+2010-12-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Drawing area cleanup. Remove a bunch of redundant functions that just ended
+ up calling setNeedsDisplay.
+
+ * UIProcess/DrawingAreaProxy.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::invalidateWindow):
+ (WebKit::WebChromeClient::invalidateContentsAndWindow):
+ (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ * WebProcess/WebPage/TiledDrawingArea.h:
+
+2010-12-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fill in some more preferences for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51610
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetAuthorAndUserStylesEnabled):
+ (WKPreferencesGetAuthorAndUserStylesEnabled):
+ (WKPreferencesSetWebArchiveDebugModeEnabled):
+ (WKPreferencesGetWebArchiveDebugModeEnabled):
+ (WKPreferencesSetLocalFileContentSniffingEnabled):
+ (WKPreferencesGetLocalFileContentSniffingEnabled):
+ (WKPreferencesSetPageCacheEnabled):
+ (WKPreferencesGetPageCacheEnabled):
+ (WKPreferencesSetPaginateDuringLayoutEnabled):
+ (WKPreferencesGetPaginateDuringLayoutEnabled):
+ (WKPreferencesSetDOMPasteAllowedEnabled):
+ (WKPreferencesGetDOMPasteAllowedEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pipe through some more preferences.
+
+2010-12-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ REGRESSION (r74648): XHR layout test failures
+ https://bugs.webkit.org/show_bug.cgi?id=51603
+
+ Reverted r74648.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2010-12-24 Simon Fraser <simon.fraser@apple.com>
+
+ Fix the Qt build after r74650.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+
+2010-12-24 Benjamin Poulain <ikipou@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ [Qt] [WK2] WebKit 2 does not build on mac, missing reference to RetainPtr
+ https://bugs.webkit.org/show_bug.cgi?id=51598
+
+ Fix the build, add the missing header.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+
+2010-12-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8758386> The web process uses its own credential storage
+ https://bugs.webkit.org/show_bug.cgi?id=51599
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): Try to answer the challenge using
+ the UI process’s credential storage first.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Prevent the web process from using
+ its own credential storage.
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain): Ditto.
+
+2010-12-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make dragging work again after r74591.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Fixed a typo.
+
+2010-12-23 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
+ https://bugs.webkit.org/show_bug.cgi?id=51563
+
+ Add WKSecurityOriginCreate(WKStringRef protocol, WKStringRef host, int port).
+
+ * Shared/API/c/WKSecurityOrigin.cpp:
+ (WKSecurityOriginCreateFromIdentifier):
+ Renamed so as not to clash with the new WKSecurityOriginCreate.
+ (WKSecurityOriginCreate):
+ * Shared/API/c/WKSecurityOrigin.h:
+ * Shared/WebSecurityOrigin.h:
+ (WebKit::WebSecurityOrigin::create):
+
+2010-12-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Ensure that we are not getting too many mouse move events
+ https://bugs.webkit.org/show_bug.cgi?id=51568
+ <rdar://problem/7881470>
+ <rdar://problem/8735512>
+
+ Implement throttling of mouse move events.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ Initialize m_processingMouseMoveEvent to false.
+
+ (WebKit::WebPageProxy::handleMouseEvent):
+ If we're already processing a mouse move events, just update
+ m_nextMouseMoveEvent and return.
+
+ (WebKit::WebPageProxy::didReceiveEvent):
+ If we received a mouse move event, send the next mouse move event if there is one.
+
+2010-12-23 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Assertion when loading www.yahoo.com in WebKit2 under decodeResourceRequest
+ https://bugs.webkit.org/show_bug.cgi?id=51562
+
+ Don't assert that our data reference isn't empty when we try to get the data from it.
+ If it is empty, just return 0.
+
+ All callers are safe with this function returning 0.
+
+ * Platform/CoreIPC/DataReference.h:
+ (CoreIPC::DataReference::data): Change the assert to an early return.
+ * Shared/cf/ArgumentCodersCF.cpp:
+ (CoreIPC::decode): Add an assert, and remove a ternarny operator because the function now does
+ this for us (if the data is empty, return 0).
+
+2010-12-23 Sam Weinig <sam@webkit.org>
+
+ Fix incorrect assertion causing all pages with subframes to crash.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::appendChild):
+
+2010-12-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Clean up the selection handling code
+ https://bugs.webkit.org/show_bug.cgi?id=51550
+
+ * Shared/SelectionState.h: Added.
+ Add SelectionState class which hold information about the current selection.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ Remove selectionChanged function.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ Remove all the selection related state; it lives in the WebPageProxy object now.
+
+ (-[WKView insertText:]):
+ (-[WKView selectedRange]):
+ (-[WKView hasMarkedText]):
+ Get the selection information from the WebPageProxy.
+
+ * UIProcess/API/mac/WKViewInternal.h:
+ Remove _selectionChanged declaration.
+
+ * UIProcess/PageClient.h:
+ Remove selectionChanged functions.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::selectionStateChanged):
+ Update the selection state.
+
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::selectionState):
+ Return the selection state.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add SelectionStateChanged message.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ Remove all the selection related state; it lives in the WebPageProxy object now.
+
+ (WebKit::WebView::compositionSelectionChanged):
+ (WebKit::WebView::onIMEComposition):
+ (WebKit::WebView::onIMEEndComposition):
+ (WebKit::WebView::onIMERequestCharPosition):
+ (WebKit::WebView::onIMERequest):
+ Get the selection information from the WebPageProxy.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add SelectionState.h
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection):
+ Send a SelectionStateChanged message with the updated state.
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ Remove mac specific code.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getLocationAndLengthFromRange):
+ Rename this function from convertRangeToPlatformRange and move it out of WebPageMac.mm
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::getMarkedRange):
+ (WebKit::WebPage::characterIndexForPoint):
+ Call getLocationAndLengthFromRange.
+
+ * win/WebKit2.vcproj:
+ Add SelectionState.h
+
+2010-12-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WKView should not try to do asynchronous validation for selectors that are not editor commands
+ https://bugs.webkit.org/show_bug.cgi?id=51555
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]): Removed the special case for startSpeaking.
+ Added call to commandIsSupportedFromMenuOrKeyBinding so we only try to do validation
+ for commands that are supported. Tweaked comments and added some bug numbers.
+ (-[WKView _setUserInterfaceItemState:enabled:state:]): Tweaked comment and added
+ bug number.
+
+2010-12-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8799032>
+ REGRESSION(r74436) Crash opening many pages with WebKit2
+
+ * Shared/cf/ArgumentCodersCF.cpp:
+ (CoreIPC::decode):
+ Fix paste-o. Decode into a CFDataRef not a CFDictionaryRef
+ when decoding CFDataRefs.
+
+2010-12-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKit2 needs to mirror the frame tree in the UIProcess
+ https://bugs.webkit.org/show_bug.cgi?id=51546
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCopyChildFrames):
+ * UIProcess/API/C/WKFrame.h:
+ Add API to get the child frames of a frame.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::WebFrameProxy):
+ (WebKit::WebFrameProxy::disconnect):
+ (WebKit::WebFrameProxy::appendChild):
+ (WebKit::WebFrameProxy::removeChild):
+ (WebKit::WebFrameProxy::isDescendantOf):
+ (WebKit::WebFrameProxy::dumpFrameTree):
+ (WebKit::WebFrameProxy::didRemoveFromHierarchy):
+ (WebKit::WebFrameProxy::childFrames):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::parentFrame): Add getter.
+ (WebKit::WebFrameProxy::nextSibling): Add getter.
+ (WebKit::WebFrameProxy::previousSibling): Add getter.
+ (WebKit::WebFrameProxy::firstChild): Add getter.
+ (WebKit::WebFrameProxy::lastChild): Add getter.
+ Make frames keep track of their subframes.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCreateSubframe):
+ Use the now passed parentID to insert the frame into the hierarchy
+
+ (WebKit::WebPageProxy::didSaveFrameToPageCache):
+ When a frame is added to the page cache, remove it from the hierarchy.
+
+ (WebKit::WebPageProxy::didRestoreFrameFromPageCache):
+ When a frame is restored from the page cache, add it back to the hierarchy.
+
+ (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
+ Detached frames should also be removed from the hierarchy.
+
+ * UIProcess/WebPageProxy.h:
+ Add new declarations for didSaveFrameToPageCache and didRestoreFrameFromPageCache.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add messages for DidSaveFrameToPageCache and DidRestoreFrameFromPageCache.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame):
+ (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
+ Remove notImplemented, there is no work we need to do here.
+
+ (WebKit::WebFrameLoaderClient::didSaveToPageCache):
+ (WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
+ Send message to UIProcess to indicate this happened.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::createSubframe):
+ Send parent frameID in addition to our own in the message to UIProcess.
+
+2010-12-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ New popup windows open disproportionately big
+ https://bugs.webkit.org/show_bug.cgi?id=51547
+ <rdar://problem/8637029>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::createNewPage):
+ Pass the correct size back to the UI process.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::pageRect):
+ Implement this and return the size of the page.
+
+2010-12-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Nothing happens clicking "launch live player" on live.cnn.com
+ https://bugs.webkit.org/show_bug.cgi?id=51540
+ <rdar://problem/8791086>
+
+ Implement NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_PushPopupsEnabledState):
+ Call NetscapePlugin::pushPopupsEnabledState.
+
+ (WebKit::NPN_PopPopupsEnabledState):
+ Call NetscapePlugin::popPopupsEnabledState.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::pushPopupsEnabledState):
+ Append the boolean to the vector.
+
+ (WebKit::NetscapePlugin::popPopupsEnabledState):
+ Remove the last boolean from the vector.
+
+ (WebKit::NetscapePlugin::allowPopups):
+ Return the last boolean from the vector.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+ Update the "allowPopupsFromPlugin" state.
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Webkit2: WebProcess crashes when Private browsing is turned on on yahoo.com
+ https://bugs.webkit.org/show_bug.cgi?id=51516
+ <rdar://problem/8766995>
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_SetValue):
+ Add a null check for NPP_SetValue.
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION (WK2): Plugins swallow CMD-W, CMD-Q, and probably other shortcuts
+ https://bugs.webkit.org/show_bug.cgi?id=51515
+ <rdar://problem/8740926>
+
+ Always return false for keyboard events where the command key is down.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+
+2010-12-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebProcess should be terminated if invalid frameIDs are
+ passed to the UIProcess.
+ https://bugs.webkit.org/show_bug.cgi?id=51508
+
+ - Introduce a mechanism to mark a messages as invalid due to
+ reasons other than in ability to decode the message, eg. an
+ invalid frameID is passed in a message.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+ (CoreIPC::Connection::markCurrentlyDispatchedMessageAsInvalid): Sets
+ the m_didReceiveInvalidMessage bit so that it can be picked up in
+ (CoreIPC::Connection::dispatchMessages): Check for m_didReceiveInvalidMessage in
+ addition to tainted arguments.
+ * Platform/CoreIPC/Connection.h:
+ Add base macro for others to extend, that calls markCurrentlyDispatchedMessageAsInvalid()
+ ASSERTs, and returns.
+
+ * UIProcess/WebPageProxy.cpp:
+ Add Message checks for all WebFrameProxy's gotten from frameIDs passed
+ over the wire.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::isGoodMapKey):
+ Checks that the key can be inserted safely into a map (eg. not the empty or deleted value).
+
+ (WebKit::WebProcessProxy::webFrame):
+ Return null for bad keys (eg. 0 or -1).
+
+ (WebKit::WebProcessProxy::canCreateFrame):
+ Added. Checks that the ID is good and not in the map yet. Used
+ as a consistency check before creating frames.
+
+ (WebKit::WebProcessProxy::frameCreated):
+ ASSERT that the key is good, in addition to not in the map yet.
+
+ (WebKit::WebProcessProxy::didDestroyFrame):
+ ASSERT that the key is good.
+
+ * UIProcess/WebProcessProxy.h:
+ Move WebFrameProxy HashMap type into a typedef.
+
+2010-12-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 needs a way to return the main resource data
+ https://bugs.webkit.org/show_bug.cgi?id=51510
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetMainResourceData): Added.
+ (callGetMainResourceDataBlockAndDispose): Added.
+ (WKFrameGetMainResourceData_b): Added.
+ * UIProcess/API/C/WKFrame.h: Added WKFrameGetMainResourceData.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::getMainResourceData): Added.
+ * UIProcess/WebFrameProxy.h: Ditto.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getMainResourceDataOfFrame): Added.
+ (WebKit::WebPageProxy::dataCallback): Replaced the individual callbacks
+ with just these two.
+ (WebKit::WebPageProxy::stringCallback): Ditto.
+ * UIProcess/WebPageProxy.h: Ditto.
+ * UIProcess/WebPageProxy.messages.in: Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame): Send the string callback
+ message instead of a specific one.
+ (WebKit::WebPage::getContentsAsString): Ditto.
+ (WebKit::WebPage::getRenderTreeExternalRepresentation): Ditto.
+ (WebKit::WebPage::getSelectionOrContentsAsString): Ditto.
+ (WebKit::WebPage::getSourceForFrame): Ditto.
+ (WebKit::WebPage::getMainResourceDataOfFrame): Added.
+ (WebKit::WebPage::getWebArchiveOfFrame): Send the data callback message
+ instead of a specific one.
+ * WebProcess/WebPage/WebPage.h: Added getMainResourceDataOfFrame.
+ * WebProcess/WebPage/WebPage.messages.in: Ditto.
+
+2010-12-22 Darin Adler <darin@apple.com>
+
+ * WebProcess/WebPage/WebPage.cpp: Add #if to try to fix non-Mac builds.
+
+2010-12-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Make Speech menu items work in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51504
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetWebArchive): Updated to use new-named typedef.
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageRunJavaScriptInMainFrame): Ditto.
+ (WKPageRenderTreeExternalRepresentation): Ditto.
+ (WKPageGetSourceForFrame): Ditto.
+ (WKPageGetContentsAsString): Ditto.
+
+ * UIProcess/API/mac/WKView.mm:
+ (menuItem): Added. Helper function to make it easy to call menu item
+ functions on arbitrary user interface items.
+ (toolbarItem): Ditto.
+ (-[WKView validateUserInterfaceItem:]): Added validation for startSpeaking
+ and stopSpeaking commands. Reworked the code to fix a bug where
+ toggleContinuousSpellChecking would always be enabled even when it should
+ be disabled. Reworked the asynchronous validation code so it works for
+ items other than menu items and can also handle more than one item for the
+ same command. Added some comments.
+ (speakString): Added. Helper function to be used as a callback when we
+ get the selection or contents to speak.
+ (-[WKView startSpeaking:]): Added. Uses getSelectionOrContentsAsString.
+ (-[WKView stopSpeaking:]): Added.
+ (-[WKView _setUserInterfaceItemState:enabled:state:]): Reworked to work
+ with the changes to validateUserInterfaceItem above.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::isDisplayingMarkupDocument): Added a FIXME about
+ a problem I noticed.
+ (WebKit::WebFrameProxy::didCommitLoad): Tweaked argument name.
+ (WebKit::WebFrameProxy::getWebArchive): Changed to use new-named typedef.
+ * UIProcess/WebFrameProxy.h: Changed WebArchiveCallback to DataCallaback.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Invalidate the two callback maps since
+ we only have two now.
+ (WebKit::WebPageProxy::runJavaScriptInMainFrame): Changed to use merged
+ maps and typedefs so we don't need a separate callback map for each function.
+ (WebKit::WebPageProxy::getRenderTreeExternalRepresentation): Ditto.
+ (WebKit::WebPageProxy::getSourceForFrame): Ditto.
+ (WebKit::WebPageProxy::getContentsAsString): Ditto.
+ (WebKit::WebPageProxy::getSelectionOrContentsAsString): Added.
+ (WebKit::WebPageProxy::getWebArchiveOfFrame): Ditto.
+ (WebKit::WebPageProxy::didGetContentsAsString): Ditto.
+ (WebKit::WebPageProxy::didGetSelectionOrContentsAsString): Ditto.
+ (WebKit::WebPageProxy::didRunJavaScriptInMainFrame): Ditto.
+ (WebKit::WebPageProxy::didGetRenderTreeExternalRepresentation): Ditto.
+ (WebKit::WebPageProxy::didGetSourceForFrame): Ditto.
+ (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Ditto.
+ (WebKit::WebPageProxy::processDidCrash): Ditto.
+
+ * UIProcess/WebPageProxy.h: Updated for changes above.
+
+ * UIProcess/WebPageProxy.messages.in: Added DidGetSelectionOrContentsAsString,
+ GetIsSpeaking, Speak, and StopSpeaking.
+
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::getIsSpeaking): Added.
+ (WebKit::WebPageProxy::speak): Added.
+ (WebKit::WebPageProxy::stopSpeaking): Added.
+
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
+ (WebKit::WebContextMenuClient::isSpeaking): Call WebPage instead of doing
+ the work directly, so it can run in the UI process.
+ (WebKit::WebContextMenuClient::speak): Ditto.
+ (WebKit::WebContextMenuClient::stopSpeaking): Ditto.
+ (WebKit::WebContextMenuClient::searchWithSpotlight): Added FIXME comment and
+ changed code to avoid a C-style cast.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::selectionAsString): Added.
+ * WebProcess/WebPage/WebFrame.h: Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode): Use sendSync in the
+ modern way instead of explicitly calling WebProcess.
+ (WebKit::WebPage::getSelectionOrContentsAsString): Added.
+ (WebKit::WebPage::isSpeaking): Added.
+ (WebKit::WebPage::speak): Added.
+ (WebKit::WebPage::stopSpeaking): Added.
+ * WebProcess/WebPage/WebPage.h: Added functions.
+
+ * WebProcess/WebPage/WebPage.messages.in: Added GetSelectionOrContentsAsString.
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * Platform/mac/MachUtilities.cpp:
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Detect WebProcess crashes sooner, without waiting for ReportCrash to finish
+ https://bugs.webkit.org/show_bug.cgi?id=51505
+
+ * Platform/CoreIPC/CoreIPCMessageKinds.h:
+ Add SetExceptionPort.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::platformInvalidate):
+ If we have an exception port, unregister it.
+
+ (CoreIPC::Connection::platformInitialize):
+ Set m_exceptionPort to null.
+
+ (CoreIPC::Connection::open):
+ If we have an exception port, register an event handler for it and send it over
+ to the other side.
+
+ (CoreIPC::Connection::receiveSourceEventHandler):
+ Handle the SetExceptionPort message.
+
+ (CoreIPC::Connection::exceptionSourceEventHandler):
+ Receive the message, forward it to the real exception handler and call connectionDidClose.
+
+ (CoreIPC::Connection::setShouldCloseConnectionOnMachExceptions):
+ Create an exception port.
+
+ * Platform/mac/MachUtilities.cpp:
+ (machExceptionPort):
+ (setMachExceptionPort):
+ * Platform/mac/MachUtilities.h:
+ Add helper functions for getting and setting the mach exception port.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ Call setShouldCloseConnectionOnMachExceptions on Mac.
+
+2010-12-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move Mach message receiving code out into a new function
+ https://bugs.webkit.org/show_bug.cgi?id=51502
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::readFromMachPort):
+ (CoreIPC::Connection::receiveSourceEventHandler):
+
+2010-12-22 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ InjectedBundle methods should use the relative URL constructor for KURL instead of the ParsedURLStringTag version
+ https://bugs.webkit.org/show_bug.cgi?id=51491
+
+ The url passed to various InjectedBundle methods is not from KURL::string(), i.e. it has not already been parsed by KURL,
+ so we have to use the relative URL constructor for KURL instead of the ParsedURLStringTag version.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::addUserScript):
+ (WebKit::InjectedBundle::addUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScript):
+ (WebKit::InjectedBundle::removeUserStyleSheet):
+
+2010-12-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move more of WebPageProxy::didCommitLoadForFrame into WebFrameProxy::didCommitLoad.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didCommitLoad): Added type and certificate info arguments,
+ and set m_MIMEType, m_isFrameSet, and m_certificateInfo.
+ * UIProcess/WebFrameProxy.h: Removed setMIMEType and setCertificateInfo and added
+ arguments to didCommitLoad.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCommitLoadForFrame): Removed code that is now inside the
+ WebFrameProxy::didCommitLoad function.
+
+2010-12-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson and Sam Weinig.
+
+ Add a way to get a web archive in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51437
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetWebArchive): Added.
+ (callGetWebArchiveBlockAndDispose): Added.
+ (WKFrameGetWebArchive_b): Added.
+ * UIProcess/API/C/WKFrame.h: Added functions above.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Clear out m_webArchiveCallbacks.
+ (WebKit::WebPageProxy::getWebArchiveOfFrame): Added.
+ (WebKit::WebPageProxy::didGetWebArchiveOfFrame): Added.
+ (WebKit::WebPageProxy::processDidCrash): Clear out m_webArchiveCallbacks.
+ * UIProcess/WebPageProxy.h: Added functions above.
+ * UIProcess/WebPageProxy.messages.in: Added DidGetWebArchiveOfFrame.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getWebArchiveOfFrame): Added.
+ * WebProcess/WebPage/WebPage.h: Added function above.
+ * WebProcess/WebPage/WebPage.messages.in: Added GetWebArchiveOfFrame.
+
+2010-12-21 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] [WK2] Guard gcc-specific syntax
+
+ * WebKit2.pro: Non-gcc based compliers choke on the "-include"
+ syntax for preinclude, make sure it has guard around it.
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Can't stop QT music on santastreefarm.com
+ https://bugs.webkit.org/show_bug.cgi?id=51438
+ <rdar://problem/8741152>
+
+ Implement NPN_ConvertPoint.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_ConvertPoint):
+ Call NetscapePlugin::convertPoint.
+
+ (WebKit::initializeBrowserFuncs):
+ Only initialize NPN_ConvertPoint and NPN_PopUpContextMenu on Mac.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::convertPoint):
+ Implement conversion routines.
+
+ (WebKit::NetscapePlugin::windowAndViewFramesChanged):
+ Keep track of the window and view frames, they are needed to do coordinate conversion.
+
+2010-12-21 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Implement encoding/decoding of ResourceRequest and
+ ResourceResponse for Windows/CFNetwork.
+
+ * Shared/win/WebCoreArgumentCodersWin.cpp:
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+
+2010-12-21 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Mac WebKit delivers an extra didCommit when loading web archives
+ https://bugs.webkit.org/show_bug.cgi?id=51419
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didStartProvisionalLoad): Added assertions so we catch
+ inconsistencies here instead of at the application level. Later, we will have
+ to decide what to do in cases these assertions fail. The right policy is probably
+ to consider it a web process failure and do whatever we do for those.
+ (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): Ditto.
+ (WebKit::WebFrameProxy::didFailProvisionalLoad): Ditto.
+ (WebKit::WebFrameProxy::didCommitLoad): Ditto.
+ (WebKit::WebFrameProxy::didFinishLoad): Ditto.
+ (WebKit::WebFrameProxy::didFailLoad): Ditto.
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Fix Snow Leopard build.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix crash when a Carbon plug-in fails to initialize correctly
+ https://bugs.webkit.org/show_bug.cgi?id=51415
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Don't claim to support the QuickDraw event model.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformDestroy):
+ Only try to remove the window from the map if it's not null.
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add ArgumentCoder support for CFDataRef
+ https://bugs.webkit.org/show_bug.cgi?id=51412
+
+ * Shared/cf/ArgumentCodersCF.cpp:
+ (CoreIPC::typeFromCFTypeRef):
+ (CoreIPC::encode):
+ (CoreIPC::decode):
+ * Shared/cf/ArgumentCodersCF.h:
+
+2010-12-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Clicking missing plug-in text does not show a sheet
+ https://bugs.webkit.org/show_bug.cgi?id=51403
+
+ * UIProcess/API/C/WKPage.h:
+ Add missingPluginButtonClicked to WKPageUIClient.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::missingPluginButtonClicked):
+ Call the WebUIClient member function.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add MissingPluginButtonClicked message.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::missingPluginButtonClicked):
+ Call the WKPageUIClient callback.
+
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::shouldMissingPluginMessageBeButton):
+ Always return true for now.
+
+ (WebKit::WebChromeClient::missingPluginButtonClicked):
+ Send a MissingPluginButtonClicked message.
+
+2010-12-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Set BUILDING_QT__ consistently
+ https://bugs.webkit.org/show_bug.cgi?id=51341
+
+ * WebKit2.pro: Remove the definition of BUILDING_QT__ as it
+ is already defined in WebKit.pri.
+
+2010-12-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Add resource load client API
+ https://bugs.webkit.org/show_bug.cgi?id=51370
+
+ This just pipes through the basic resource load client data.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageResourceLoadClient):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeResourceLoadClient):
+ (WebKit::WebPageProxy::didInitiateLoadForResource):
+ (WebKit::WebPageProxy::didSendRequestForResource):
+ (WebKit::WebPageProxy::didReceiveResponseForResource):
+ (WebKit::WebPageProxy::didReceiveContentLengthForResource):
+ (WebKit::WebPageProxy::didFinishLoadForResource):
+ (WebKit::WebPageProxy::didFailLoadForResource):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebResourceLoadClient.cpp: Added.
+ (WebKit::WebResourceLoadClient::didInitiateLoadForResource):
+ (WebKit::WebResourceLoadClient::didSendRequestForResource):
+ (WebKit::WebResourceLoadClient::didReceiveResponseForResource):
+ (WebKit::WebResourceLoadClient::didReceiveContentLengthForResource):
+ (WebKit::WebResourceLoadClient::didFinishLoadForResource):
+ (WebKit::WebResourceLoadClient::didFailLoadForResource):
+ * UIProcess/WebResourceLoadClient.h: Added.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::assignIdentifierToInitialRequest):
+ (WebKit::WebFrameLoaderClient::dispatchWillSendRequest):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveResponse):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoading):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoading):
+ * win/WebKit2.vcproj:
+
+2010-12-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a TextChecker class, hook up spelling and grammar toggling
+ https://bugs.webkit.org/show_bug.cgi?id=51363
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ (-[WKView toggleContinuousSpellChecking:]):
+ (-[WKView toggleGrammarChecking:]):
+ * UIProcess/TextChecker.h: Added.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::unmarkAllMisspellings):
+ (WebKit::WebPageProxy::unmarkAllBadGrammar):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/TextCheckerMac.mm: Added.
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::isGrammarCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ * UIProcess/qt/TextCheckerQt.cpp: Added.
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::isGrammarCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ * UIProcess/win/TextCheckerWin.cpp: Added.
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ (WebKit::TextChecker::isContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ (WebKit::TextChecker::isGrammarCheckingEnabled):
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::unmarkAllMisspellings):
+ (WebKit::WebPage::unmarkAllBadGrammar):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * win/WebKit2.vcproj:
+
+2010-12-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Flash plug-in does not work on YouTube video page when accelerated compositing is disabled
+ https://bugs.webkit.org/show_bug.cgi?id=51348
+ <rdar://problem/8787667>
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::create):
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ These now take an additional isAcceleratedCompositingEnabled parameter.
+
+ (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
+ Return m_isAcceleratedCompositingEnabled.
+
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ This now takes an additional isAcceleratedCompositingEnabled parameter.
+
+ * PluginProcess/WebProcessConnection.messages.in:
+ Add isAcceleratedCompositingEnabled parameter to the CreatePlugin message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::initialize):
+ Pass isAcceleratedCompositingEnabled when sending the CreatePlugin message.
+
+2010-12-20 Anders Carlsson <andersca@apple.com>
+
+ Unreviewed, rolling out r74345.
+ http://trac.webkit.org/changeset/74345
+ https://bugs.webkit.org/show_bug.cgi?id=51115
+
+ Not the correct fix.
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::open):
+
+2010-12-20 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Crash in web process after the connection had been closed
+ https://bugs.webkit.org/show_bug.cgi?id=51115
+
+ Do not call connectionDidClose with a connection that has been explicitly
+ invalidated on the listener thread.
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::disconnectHandler): Added.
+ (CoreIPC::Connection::open):
+
+2010-12-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Improve the fix for <rdar://problem/8769525>.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView performKeyEquivalent:]): Do not retain the view. Doing so is necessary in
+ -[WebHTMLView performKeyEquivalent:], which this method was based upon, but not here, because
+ there is no way for the web process to cause the WKView to be released while it is handling
+ the event.
+
+2010-12-19 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8769525> WKView leak when performing key equivalents
+ https://bugs.webkit.org/show_bug.cgi?id=51315
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView performKeyEquivalent:]): Use a RetainPtr to ensure that the view is released in the
+ early return code path.
+
+2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] QWKPagePrivate::paint() does not need to save the graphics context
+ https://bugs.webkit.org/show_bug.cgi?id=51300
+
+ Remove the unnecessary save() and restore() on the QPainter.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::paint):
+
+2010-12-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] [WK2] Client are expected to render their own background for WebPages
+ https://bugs.webkit.org/show_bug.cgi?id=51296
+
+ Remove the rendering of the checkerboard from the tiled DrawingAreaProxy
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::paint):
+ * UIProcess/TiledDrawingAreaTile.h:
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+
+2010-12-19 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] Client are expected to render their own background for WebPages
+ https://bugs.webkit.org/show_bug.cgi?id=51296
+
+ Do not render a white background before rendering the page with DrawingAreaProxy.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::paint):
+
+2010-12-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Window title for image documents shows corrupted characters instead of multiplication sign when using WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=43505
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Changed UI_STRING macros to return
+ WebCore::String objects instead of C strings.
+ (WebKit::formatLocalizedString): Added. Uses the Core Foundation string formatting function for
+ reasons explained in the comment.
+ (WebKit::WebPlatformStrategies::multipleFileUploadText): Use formatLocalizedString instead of
+ String::format.
+ (WebKit::WebPlatformStrategies::imageTitle): Ditto.
+ (WebKit::WebPlatformStrategies::localizedMediaTimeDescription): Ditto.
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Resizing a WKView while loading a page can leave the page at a size that doesn't match the window
+ https://bugs.webkit.org/show_bug.cgi?id=51282
+ <rdar://problem/8133142>
+
+ Fix a race condition in waitForMessage. If we time out on the wait condition, we would keep the
+ m_waitForMessageMutex mutex unlocked for a brief period of time before taking the lock again and
+ then removing the messageID/destinationID pair from the hash map. Under some circumstances, the
+ connection queue would update the hash map right before we removed it, leading to a lost message.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::waitForMessage):
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Clean up ChunkedUpdateDrawingAreaProxy
+ https://bugs.webkit.org/show_bug.cgi?id=51277
+
+ Get rid of m_lastSetViewSize since it was always equal to m_size.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange):
+ Call sendSetSize().
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::didSetSize):
+ Call sendSetSize if the size differs.
+
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
+ Move code from sizeDidChange over here.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::setSize):
+ Add back the early return if the sizes are equal.
+
+2010-12-17 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::canHandleRequest): Provide alternative for
+ non-CFNetwork implementation.
+
+2010-12-17 Ada Chan <adachan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Implement WKView::setInitialFocus().
+ https://bugs.webkit.org/show_bug.cgi?id=51274
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewSetInitialFocus):
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setInitialFocus): Send message to the Web Process to set
+ initial focus.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setInitialFocus):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setInitialFocus): Set the focused node to null initially. Then
+ ask FocusController to set the initial focus based on the focus direction.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add a new message for SetInitialFocus.
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove a check that probably uncovered a resizing bug.
+
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::setSize):
+
+2010-12-17 Brian Weinstein <bweinstein@apple.com>
+
+ Qt build fix.
+
+ * UIProcess/qt/WebPopupMenuProxyQt.h:
+
+2010-12-17 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Text area does not update when you arrow through a <select> in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51269
+ <rdar://problem/8612853>
+
+ Patch by Sam Weinig.
+
+ Insteaed of keeping track of the selected index of a <select> just in the UI process, we
+ need to pass this information along to the web process so that the web process can draw
+ the correct text in the text field at the top of the select, when the selection changes (via
+ the arrows or other typing while the select is opened).
+
+ When the selected item in a popup changes, the UI process sends a message to the web process, telling
+ it about the new selected index. The web process gets this message, and then sets the text that
+ is visible in the select element.
+
+ * UIProcess/API/mac/PageClientImpl.h: CreatePopupMenuProxy now takes a WebPageProxy.
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createPopupMenuProxy): Pass the WebPageProxy to create.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createPopupMenuProxy):
+ * UIProcess/API/qt/qwkpage_p.h: CreatePopupMenuProxy now takes a WebPageProxy.
+ * UIProcess/PageClient.h: CreatePopupMenuProxy now takes a WebPageProxy.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::valueChangedForPopupMenu): Send that the selected index changed to the
+ web process.selected
+ (WebKit::WebPageProxy::setTextFromItemForPopupMenu): Send that we should update the text for the
+ active popup menu (with the index of the item to show).
+ (WebKit::WebPageProxy::showPopupMenu): Pass the WebPageProxy to createPopupMenuProxy.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPopupMenuProxy.h: Add a client who has virtual functions for the state changing of the
+ popup menu. ShowPopupMenu doesn't take a new selected index anymore, that is handled by the client,
+ and calling down to the web process.
+ (WebKit::WebPopupMenuProxy::Client::~Client):
+ (WebKit::WebPopupMenuProxy::WebPopupMenuProxy): Initialize the client.
+ * UIProcess/mac/WebPopupMenuProxyMac.h:
+ (WebKit::WebPopupMenuProxyMac::create): Takes a WebPopupMenuProxy::Client, and passes it to the constructor.
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac): Update what's initialized by the constructor.
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu): Call through to the web process that the value changed.
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp:
+ (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt): Update what's initialized by the constructor.
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin): Ditto.
+ (WebKit::WebPopupMenuProxyWin::showPopupMenu): Call through to the web process that the value changed.
+ (WebKit::WebPopupMenuProxyWin::setFocusedIndex): Resolve a FIXME to set the text of the popup menu.
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+ (WebKit::WebPopupMenuProxyWin::create): Take in a WebPopupMenuProxy::client, and pass it to the constructor.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createPopupMenuProxy): Pass the WebPageProxy to create.
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::setTextForIndex): Call through to setTextFromItem to set the select text.
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ * WebProcess/WebPage/WebPage.cpp: Call through to setTextForIndex on the active popup menu.
+ (WebKit::WebPage::setTextForActivePopupMenu):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add a new message.
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ DrawingAreaProxy::setSize shouldn't be a virtual member function
+ https://bugs.webkit.org/show_bug.cgi?id=51275
+
+ Add a pure virtual sizeDidChange member function to DrawingAreaProxy, and only
+ call it if the size changes.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::sizeDidChange):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::setSize):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::size):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::sizeDidChange):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::sizeDidChange):
+ * UIProcess/TiledDrawingAreaProxy.h:
+
+2010-12-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a WebPageProxy parameter to the DrawingAreaProxy constructor
+ https://bugs.webkit.org/show_bug.cgi?id=51271
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::create):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::create):
+ (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::create):
+ (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
+ * UIProcess/TiledDrawingAreaProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+
+2010-12-17 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add API for "Always Use the Complex Text Code Path"
+ https://bugs.webkit.org/show_bug.cgi?id=51265
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize shouldAlwaysUseComplexTextCodePath.
+ (WebKit::WebProcessCreationParameters::encode): Encode shouldAlwaysUseComplexTextCodePath.
+ (WebKit::WebProcessCreationParameters::decode): Decode shouldAlwaysUseComplexTextCodePath.
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetAlwaysUsesComplexTextCodePath): Added.
+ * UIProcess/API/C/WKContextPrivate.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext): Initialize m_alwaysUsesComplexTextCodePath.
+ (WebKit::WebContext::ensureWebProcess): Set shouldAlwaysUseComplexTextCodePath in the creation parameters.
+ (WebKit::WebContext::setAlwaysUsesComplexTextCodePath): Added. Sets m_alwaysUsesComplexTextCodePath and
+ sends a message to the WebProcess.
+ * UIProcess/WebContext.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess): Call setAlwaysUsesComplexTextCodePath() based on the creation
+ parameters.
+ (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): Added.
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in: Added SetAlwaysUsesComplexTextCodePath.
+
+2010-12-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Implement a title attribute per frame
+ https://bugs.webkit.org/show_bug.cgi?id=51266
+
+ Cache the title of each frame on the WebFrameProxy. Removes
+ the WebPageProxy's cache of the main frame title to just
+ access the main frame.
+
+ We clear the cached title on new committed loads and on failures
+ to load.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCopyTitle):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didCommitLoad):
+ (WebKit::WebFrameProxy::didFailLoad):
+ (WebKit::WebFrameProxy::didChangeTitle):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::title):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::pageTitle):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+
+2010-12-16 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Add text encoding menu API for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51226
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSupportsTextEncoding): Added.
+ (WKPageCopyCustomTextEncodingName): Added.
+ (WKPageSetCustomTextEncodingName): Added.
+ * UIProcess/API/C/WKPage.h: Added the functions above.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Initialize
+ m_mainFrameHasCustomRepresentation to false.
+ (WebKit::WebPageProxy::supportsTextEncoding): Added.
+ (WebKit::WebPageProxy::setCustomTextEncodingName): Added.
+ (WebKit::WebPageProxy::didCommitLoadForFrame): Set
+ m_mainFrameHasCustomRepresentation.
+
+ * UIProcess/WebPageProxy.h: Added supportsTextEncoding,
+ setCustomTextEncodingName, customTextEncodingName, and
+ m_mainFrameHasCustomRepresentation.
+
+ * UIProcess/WebPageProxy.messages.in: Tweaked formatting
+ (added a blank line).
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setCustomTextEncodingName): Added.
+ * WebProcess/WebPage/WebPage.h: Added setCustomTextEncodingName.
+
+ * WebProcess/WebPage/WebPage.messages.in: Added the
+ SetCustomTextEncodingName message. Tweaked formatting of the
+ dummy message.
+
+2010-12-17 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r74201.
+ http://trac.webkit.org/changeset/74201
+ https://bugs.webkit.org/show_bug.cgi?id=51248
+
+ It broke ~6000 layout tests (Requested by Ossy_ on #webkit).
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::setGeometry):
+ (QGraphicsWKView::itemChange):
+
+2010-12-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add svn:eol-style native to the message.in files as a favor to Darin Adler.
+
+ * PluginProcess/PluginControllerProxy.messages.in: Added property svn:eol-style.
+ * PluginProcess/PluginProcess.messages.in: Added property svn:eol-style.
+ * PluginProcess/WebProcessConnection.messages.in: Added property svn:eol-style.
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added property svn:eol-style.
+ * UIProcess/Downloads/DownloadProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/Plugins/PluginProcessProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/WebContext.messages.in: Added property svn:eol-style.
+ * UIProcess/WebDatabaseManagerProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/WebInspectorProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/WebPageProxy.messages.in: Added property svn:eol-style.
+ * UIProcess/WebProcessProxy.messages.in: Added property svn:eol-style.
+ * WebProcess/Authentication/AuthenticationManager.messages.in: Added property svn:eol-style.
+ * WebProcess/Plugins/PluginProxy.messages.in: Added property svn:eol-style.
+ * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added property svn:eol-style.
+ * WebProcess/WebPage/WebInspector.messages.in: Added property svn:eol-style.
+ * WebProcess/WebPage/WebPage.messages.in: Added property svn:eol-style.
+ * WebProcess/WebProcess.messages.in: Added property svn:eol-style.
+
+2010-12-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move NSURLCache initialization from the ProcessLauncherMac to the centralized
+ WebContext initialize WebProcess mechanism.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::setShouldPaintNativeControls):
+
+2010-12-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Defer getting a PluginProcessConnection object until the plug-in is initialized
+ https://bugs.webkit.org/show_bug.cgi?id=51207
+ <rdar://problem/8731306>
+
+ Before this change, we would pass the PluginProcessConnection to the PluginProxy constructor, but not
+ call PluginProcessConnection::addPluginProxy (which associates the plug-in proxy with the connection)
+ until the plug-in is initialized.
+
+ This could lead to a PluginProxy holding a reference to a PluginProcessConnection when the PluginProxyConnection
+ itself did not know anything about the PluginProxy. This would happen when a page with plug-ins is opened in a background
+ tab, with the plug-ins not yet initialized.
+
+ Because of this, we could end up in a weird state, where the PluginProcessConnection would think that there are no
+ more plug-ins alive, and invalidate (and null out) the underlying CoreIPC connection, which would lead to crashes
+ when trying to send messages to the connection during later initialization.
+
+ The fix is to pass the plug-in path to the PluginProxy constructor, and get the connection from PluginProxy::initialize.
+
+ PluginProcessConnection object
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::create):
+ (WebKit::PluginProxy::PluginProxy):
+ (WebKit::PluginProxy::initialize):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+
+2010-12-16 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKit2: Cannot copy two successive selections using cmd-c
+ <rdar://problem/8680309>
+ https://bugs.webkit.org/show_bug.cgi?id=51203
+
+ The previous implementation assumed a call sequence from AppKit that
+ was not always happening.
+ When the user clicks on the pulldown menu, AppKit sends validateUserInterfaceItem
+ calls for each element that needs validation and we used to count the number of
+ validation requests being sent to the web process.
+ All these calls are made before we have the chance to get one reply from the WebProcess.
+ We also delayed the menu update until we had received all the replies to the validation requests.
+ At that point we called update on the menu to trigger the validation one more time with
+ the data retrived from the WebProcess.
+ When the user simply presses cmd-c, only one call to vaidateUserInterfaceItem is made
+ and the menu update triggered the validation of all the menu entries causing the internal
+ state to be out of sync.
+ The new implementation is very simple: for each validation request from AppKit we send
+ a request to the WebProcess and we cache a reference to the menu item being validated.
+ When the WebProcess replies, we retrieve the menu item from our cache and update its state.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]): Removed initialization of deleted memebers.
+ (-[WKView validateUserInterfaceItem:]): Request validation to the WebProcess and return YES to
+ allow AppKit to do the keyBinding processing.
+ (-[WKView _setUserInterfaceItemState:enabled:state:]): Called when the WebProcess replies to the
+ validation request to check/uncheck and enable/disable the menu item.
+
+2010-12-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Don't try to call plug-in member functions if the plug-in hasn't been initialized
+ https://bugs.webkit.org/show_bug.cgi?id=51205
+ <rdar://problem/8730204>
+
+ Make sure that all PluginView functions that can be called while a plug-in has not been
+ initialized (if the plug-in page is in a background tab for example) have an additional
+ check for m_isInitialized.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setWindowIsFocused):
+ (WebKit::PluginView::windowAndViewFramesChanged):
+ (WebKit::PluginView::platformLayer):
+ (WebKit::PluginView::scriptObject):
+ (WebKit::PluginView::privateBrowsingStateChanged):
+ (WebKit::PluginView::handleEvent):
+ (WebKit::PluginView::viewGeometryDidChange):
+ (WebKit::PluginView::setFocus):
+
+2010-12-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Add a bunch of m_isStarted assertions to plug-in code.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ (WebKit::NetscapePlugin::frameDidFail):
+ (WebKit::NetscapePlugin::didEvaluateJavaScript):
+ (WebKit::NetscapePlugin::streamDidReceiveResponse):
+ (WebKit::NetscapePlugin::streamDidReceiveData):
+ (WebKit::NetscapePlugin::streamDidFinishLoading):
+ (WebKit::NetscapePlugin::streamDidFail):
+ (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
+ (WebKit::NetscapePlugin::manualStreamDidReceiveData):
+ (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
+ (WebKit::NetscapePlugin::manualStreamDidFail):
+ (WebKit::NetscapePlugin::handleMouseEvent):
+ (WebKit::NetscapePlugin::handleWheelEvent):
+ (WebKit::NetscapePlugin::handleMouseEnterEvent):
+ (WebKit::NetscapePlugin::handleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::handleKeyboardEvent):
+ (WebKit::NetscapePlugin::setFocus):
+ (WebKit::NetscapePlugin::pluginScriptableNPObject):
+ (WebKit::NetscapePlugin::privateBrowsingStateChanged):
+
+2010-12-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Save the manual plug-in stream data and redeliver it when the plug-in is initialized
+ https://bugs.webkit.org/show_bug.cgi?id=51201
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Initialize m_manualStreamState.
+
+ (WebKit::PluginView::manualLoadDidReceiveResponse):
+ If the plug-in hasn't been initialized, store the response.
+
+ (WebKit::PluginView::manualLoadDidReceiveData):
+ If the plug-in hasn't been initialized, store the data.
+
+ (WebKit::PluginView::manualLoadDidFinishLoading):
+ If the plug-in hasn't been initialized, update the state.
+
+ (WebKit::PluginView::manualLoadDidFail):
+ If the plug-in hasn't been initialized, store the error and update the state.
+
+ (WebKit::PluginView::initializePlugin):
+ Call redeliverManualStream.
+
+ (WebKit::PluginView::redeliverManualStream):
+ Redeliver the manual stream to the plug-in.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-12-16 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Turn off drawing area updates if the item is not visible
+
+ The updates are controlled by the QGraphicsItem::visible property.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKViewPrivate::updateViewportSize):
+ (QGraphicsWKView::setGeometry):
+ (QGraphicsWKView::itemChange):
+
+2010-12-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8731320> WebProcess’s CFNetwork cache is in ~/Library/Caches/com.apple.WebProcess
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess): Get the location, disk capacity and memory capacity
+ of the UI process’s NSURLCache and pass them to the WebProcess.
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain): If an NSURLCache location was passed on the command line, set the
+ shared NSURLCache to that path and use the specified capacities as initial values.
+
+2010-12-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam “I blame andersca” Weinig.
+
+ Allow responses to be cached by the NSURLCache.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to return the response instead of 0.
+
+2010-12-14 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add IME support to WebKit2 on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=51049
+ The implementation is very close to the one in WebKit.
+ The main change is the addition of handlers for WM_IME_STARTCOMPOSITION,
+ WM_IME_REQUEST, WM_IME_COMPOSITION, WM_IME_ENDCOMPOSITION,
+ WM_IME_SELECT, WM_IME_SETCONTEXT and a number of new messages
+ between the UI process and the WebProcess to send/retrieve
+ the data being handled by the messages listed above.
+
+ * UIProcess/PageClient.h: Added compositionSelectionChanged for Windows platform.
+ * UIProcess/WebPageProxy.cpp:
+ The following methods send synchronous messages to the WebProcess.
+ (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Retrieves the rectangle to position
+ the cnadidates window.
+ (WebKit::WebPageProxy::getSelectedText): Retrieves the currently selected text.
+ The following methods send asynchronous messages to the WebProcess.
+ (WebKit::WebPageProxy::confirmComposition):
+ (WebKit::WebPageProxy::setComposition):
+ (WebKit::WebPageProxy::didChangeSelection): Name changed.
+ (WebKit::WebPageProxy::didChangeCompositionSelection): Called when there is a change
+ in the composition selection.
+ * UIProcess/WebPageProxy.messages.in: Added messages corresponding to the methods above.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Added handling of messages for IME.
+ The following are the handlers for the window message being sent during composition.
+ (WebKit::WebView::onIMEComposition):
+ (WebKit::WebView::onIMEEndComposition):
+ (WebKit::WebView::onIMERequestCharPosition):
+ (WebKit::WebView::onIMERequestReconvertString):
+ (WebKit::WebView::onIMERequest):
+ (WebKit::WebView::onIMESelect):
+ (WebKit::WebView::onIMESetContext):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection): Added notification
+ of composition selection changed for Windows.
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ The following are the WebProcess counterparts of the new messages.
+ (WebKit::WebPage::confirmComposition):
+ (WebKit::WebPage::setComposition):
+ (WebKit::WebPage::firstRectForCharacterInSelectedRange):
+ (WebKit::WebPage::getSelectedText):
+
+2010-12-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Loading webkit.org over and over is slower in WebKit2 than WebKit1, looks like page is not cached
+ <rdar://problem/8774683>
+ https://bugs.webkit.org/show_bug.cgi?id=51143
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::canCachePage): Return true as long as we
+ are not a custom representation (eg. a PDF).
+ (WebKit::WebFrameLoaderClient::shouldCacheResponse): Always return true.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences): Enable the page cache.
+
+2010-12-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ WebKit2 in compositing mode no longer has font smoothing
+ https://bugs.webkit.org/show_bug.cgi?id=50733
+
+ Tell the root GraphicsLayer that its contents are opaque
+ if the WebPage draws its background, and that background
+ is not transparent.
+
+ The GraphicsLayer then uses the 'contentsOpaque' setting to
+ determine whether to use font smoothing.
+
+ Add pageBackgroundTransparencyChanged() to DrawingArea
+ so that the WebPage can inform the DrawingArea when the
+ background transparency changes.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::pageBackgroundTransparencyChanged):
+ (WebKit::DrawingArea::onPageClose):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::pageBackgroundTransparencyChanged):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setDrawsBackground):
+ (WebKit::WebPage::setDrawsTransparentBackground):
+
+2010-12-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix assertion in plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html test
+ https://bugs.webkit.org/show_bug.cgi?id=51136
+
+ Ensure that a plug-in that has explicitly cancelled the manual stream won't get any more callbacks.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ (WebKit::PluginControllerProxy::cancelManualStreamLoad):
+ (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
+ (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
+ (WebKit::PluginControllerProxy::manualStreamDidFinishLoading):
+ (WebKit::PluginControllerProxy::manualStreamDidFail):
+ * PluginProcess/PluginControllerProxy.h:
+
+2010-12-15 Brian Weinstein <bweinstein@apple.com>
+
+ Windows Build Fix. A .h file was added to the vcproj twice, but not its corresponding cpp file.
+
+ * win/WebKit2.vcproj:
+
+2010-12-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Can't add files to an <input type=file>
+ https://bugs.webkit.org/show_bug.cgi?id=51087
+
+ * Scripts/webkit2/messages.py:
+ Adds new types.
+
+ * Shared/API/c/WKBase.h:
+ Adds WKOpenPanelParametersRef and WKOpenPanelResultListenerRef.
+
+ * Shared/APIObject.h:
+ Adds TypeOpenPanelParameters and TypeOpenPanelResultListener.
+
+ * Shared/WebOpenPanelParameters.cpp: Added.
+ (WebKit::WebOpenPanelParameters::create):
+ (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
+ (WebKit::WebOpenPanelParameters::~WebOpenPanelParameters):
+ (WebKit::WebOpenPanelParameters::Data::encode):
+ (WebKit::WebOpenPanelParameters::Data::decode):
+ * Shared/WebOpenPanelParameters.h: Added.
+ (WebKit::WebOpenPanelParameters::allowMultipleFiles):
+ (WebKit::WebOpenPanelParameters::type):
+ Class representing options one can pass to open panel.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add casts for WebOpenPanelParameters and WebOpenPanelResultListenerProxy.
+
+ * UIProcess/API/C/WKOpenPanelParameters.cpp: Added.
+ (WKOpenPanelParametersGetTypeID):
+ (WKOpenPanelParametersGetAllowsMultipleFiles):
+ * UIProcess/API/C/WKOpenPanelParameters.h: Added.
+ * UIProcess/API/C/WKOpenPanelResultListener.cpp: Added.
+ (WKOpenPanelResultListenerGetTypeID):
+ (WKOpenPanelResultListenerChooseFiles):
+ (WKOpenPanelResultListenerCancel):
+ * UIProcess/API/C/WKOpenPanelResultListener.h: Added.
+ Add API wrappers.
+
+ * UIProcess/API/C/WKPage.h:
+ Add new UI callback, WKPageRunOpenPanelCallback.
+
+ * UIProcess/API/C/WebKit2.h:
+ Add includes for new API headers.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Stub out the runOpenPanel callback.
+
+ * UIProcess/WebOpenPanelResultListenerProxy.cpp: Added.
+ (WebKit::WebOpenPanelResultListenerProxy::WebOpenPanelResultListenerProxy):
+ (WebKit::WebOpenPanelResultListenerProxy::~WebOpenPanelResultListenerProxy):
+ (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
+ (WebKit::WebOpenPanelResultListenerProxy::cancel):
+ (WebKit::WebOpenPanelResultListenerProxy::invalidate):
+ * UIProcess/WebOpenPanelResultListenerProxy.h: Added.
+ (WebKit::WebOpenPanelResultListenerProxy::create):
+ (WebKit::WebOpenPanelResultListenerProxy::type):
+ Adds the listener used to choose files for <input type=file>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::runOpenPanel):
+ (WebKit::WebPageProxy::didChooseFilesForOpenPanel):
+ (WebKit::WebPageProxy::didCancelForOpenPanel):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::runOpenPanel):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::runOpenPanel):
+ * WebProcess/WebPage/WebOpenPanelResultListener.cpp: Added.
+ (WebKit::WebOpenPanelResultListener::create):
+ (WebKit::WebOpenPanelResultListener::WebOpenPanelResultListener):
+ (WebKit::WebOpenPanelResultListener::~WebOpenPanelResultListener):
+ (WebKit::WebOpenPanelResultListener::didChooseFiles):
+ * WebProcess/WebPage/WebOpenPanelResultListener.h: Added.
+ (WebKit::WebOpenPanelResultListener::disconnectFromPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close):
+ (WebKit::WebPage::setActiveOpenPanelResultListener):
+ (WebKit::WebPage::didChooseFilesForOpenPanel):
+ (WebKit::WebPage::didCancelForOpenPanel):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::activeOpenPanelResultListener):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe through file choosing.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-12-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Semi-reproducible crash in ChunkedUpdateDrawingArea::paintIntoUpdateChunk closing a particular yahoo page
+ https://bugs.webkit.org/show_bug.cgi?id=51126
+ <rdar://problem/8771219>
+
+ Laying out the web page can cause the drawing area to change so we need to protect against this.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::display):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::display):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
+
+2010-12-15 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: WebPageWin needs implementations of hasLocalDataForURL and canHandleRequest
+ https://bugs.webkit.org/show_bug.cgi?id=51090
+
+ Implement these functions for WebKit2 on Windows.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::hasLocalDataForURL): Does the cross-platform part of the check for having local
+ data (file URL or subresource), then calls platformHasLocalDataForURL to let the platform do
+ their specific checks.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformHasLocalDataForURL): Moved the cross-platform code from here to WebPage::hasLocalDataForURL.
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL.
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformHasLocalDataForURL): Renamed from hasLocalDataForURL and implemented with CFNetwork calls. This is the
+ CFNetwork equivalent of the code in WebPageMac::platformHasLocalDataForURL.
+ (WebKit::WebPage::canHandleRequest): Copied the line of code from WebView::canHandleRequest in WebKit1, with a FIXME saying
+ this might not be enough (although it was in WebKit1 on Windows).
+
+2010-12-15 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r74117.
+ http://trac.webkit.org/changeset/74117
+ https://bugs.webkit.org/show_bug.cgi?id=51113
+
+ This broke the GTK1 build. (Requested by mrobinson on
+ #webkit).
+
+ * GNUmakefile.am: Removed.
+ * Scripts/generate-forwarding-headers.pl:
+ * WebKit2Prefix.h:
+ * gtk/webkit2.pc.in: Removed.
+
+2010-12-15 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ Changes to enable building WebKit2 for Gtk port.
+ (https://bugs.webkit.org/show_bug.cgi?id=37369)
+
+ * GNUmakefile.am: Added.
+ * Scripts/generate-forwarding-headers.pl: For GTK port, taking 1 extra argument for copying network headers.
+ * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header file for WebKit2 sources files.
+ * gtk: Added.
+ * gtk/webkit2.pc.in: Added.
+
+2010-12-15 Jan Erik Hanssen <jhanssen@sencha.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] webkit2 does not compile on OS X
+ https://bugs.webkit.org/show_bug.cgi?id=50128
+
+ prctl(2) is only available on Linux, so use an atexit handler for killing
+ all the child processes when the process is exiting.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::cleanupProcesses):
+ (WebKit::QtWebProcess::QtWebProcess):
+ (WebKit::QtWebProcess::processStateChanged):
+ (WebKit::ProcessLauncherHelper::instance):
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * win/WebKit2Common.vsprops:
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Fix Qt build.
+
+ * WebKit2.pro:
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by TYPO FIX.
+
+ Fix a typo.
+
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ (WebKit::NetscapePluginModule::determineQuirks):
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cannot type into plugin edit field
+ https://bugs.webkit.org/show_bug.cgi?id=51074
+ <rdar://problem/8483741>
+
+ Add a PrognameShouldBeWebKitPluginHost quirk, since it turns out Flash Player calls getprogname() and checks
+ if the return value is "WebKitPluginHost" in order to determine when to handle NPCocoaEventKeyDown events.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::netscapePluginModule):
+ If the plug-in module has the PrognameShouldBeWebKitPluginHost quirk, call setprogname("WebKitPluginHost").
+
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::load):
+ Call determineQuirks()
+
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ (WebKit::NetscapePluginModule::determineQuirks):
+ Add the PrognameShouldBeWebKitPluginHost quirk for Flash.
+
+ * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
+ (WebKit::NetscapePluginModule::determineQuirks):
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
+ (WebKit::NetscapePluginModule::determineQuirks):
+ Add stubs.
+
+ * Shared/Plugins/PluginQuirks.h:
+ Add new PluginQuirks file.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginQuirks.h
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a NetscapePluginModuleX11 and move the Qt implementation of PluginInfoStore::getPluginInfo there
+ https://bugs.webkit.org/show_bug.cgi?id=51066
+
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Copied from WebKit2/UIProcess/Plugins/qt/PluginInfoStoreQt.cpp.
+ (WebKit::NetscapePluginModule::getPluginInfo):
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ * WebKit2.pro:
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Move Windows version of getPluginInfo to NetscapePluginModule
+ https://bugs.webkit.org/show_bug.cgi?id=51073
+
+ * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Added.
+ (WebKit::getVersionInfo):
+ (WebKit::fileVersion):
+ (WebKit::NetscapePluginModule::getPluginInfo):
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ * win/WebKit2.vcproj:
+
+2010-12-14 Alice Liu <alice.liu@apple.com>
+
+ Fix clang++ build.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::sendSync):
+ Move the default argument to the declaration.
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move PluginInfoStore::getPluginInfo to NetscapePluginModule
+ https://bugs.webkit.org/show_bug.cgi?id=51058
+
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ Move implementation of PluginInfoStore::getPluginInfo and related
+ helper functions here.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ Just call NetscapePluginModule::getPluginInfo here for now.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add NetscapePluginModuleMac.mm.
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Switch name and description order when fetching Carbon plug-in info
+ https://bugs.webkit.org/show_bug.cgi?id=46211
+
+ The plug-in description comes before the name in the Carbon string list resource.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::getPluginInfoFromCarbonResources):
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move NetscapePluginModule.{cpp|h} to Shared/Plugins/Netscape
+ https://bugs.webkit.org/show_bug.cgi?id=51052
+
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.cpp.
+ * Shared/Plugins/Netscape/NetscapePluginModule.h: Renamed from WebKit2/WebProcess/Plugins/Netscape/NetscapePluginModule.h.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+
+2010-12-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle complex text input for plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=51047
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::sendComplexTextInput):
+ Pass along the text input to the plug-in.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add SendComplexTextInput message.
+
+ * UIProcess/API/mac/WKTextInputWindowController.h: Added.
+ * UIProcess/API/mac/WKTextInputWindowController.mm: Added.
+ Add text input window controller, mostly copied from WebKit1.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView keyDown:]):
+ If needed, pass along the event to the text input window controller.
+
+ (-[WKView inputContext]):
+ Return the input context of the text input window controller.
+
+ (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]):
+ Notify the input window controller that the input source changed.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::sendComplexTextInputToPlugin):
+ Send the complex text input to the web process.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::convertStringToKeyCodes):
+ Convert a string to a vector of key codes in the current encoding.
+
+ (WebKit::NetscapePlugin::sendComplexTextInput):
+ In the Cocoa event model, create and dispatch an NPCocoaEventTextInput event.
+ In the Carbon event model, convert the string to individual key codes and send them
+ as key down events.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::sendComplexTextInput):
+ Send the text to the plug-in controller proxy.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::sendComplexTextInput):
+ If the plug-in has a matching text input identifier, call Plugin::sendComplexTextInput.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add SendComplexTextInputToPlugin message.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::sendComplexTextInputToPlugin):
+ Iterate over all known plug-in views and try to find one to send the text input to.
+
+2010-12-13 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50953
+ DNS Prefetch should be an opt-in feature
+
+ Pass the preference through WebKit2.
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetDNSPrefetchingEnabled):
+ (WKPreferencesGetDNSPrefetchingEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ Pass the complex text input status to the WKView
+ https://bugs.webkit.org/show_bug.cgi?id=50993
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setComplexTextInputEnabled):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setComplexTextInputEnabled:pluginComplexTextInputIdentifier:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setComplexTextInputEnabled):
+
+2010-12-14 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebKit 2 does not send touch cancel events correctly between processes
+ https://bugs.webkit.org/show_bug.cgi?id=50235
+
+ The classes WebKit2PlatformTouchPoint and WebKit2PlatformTouchEvent
+ misses the conversion of TouchCancel events and points.
+
+ This patch add the missing enums when converting from a WebTouchEvent
+ to a PlatformTouchEvent.
+
+ Testing is already covered by fast/events/touch/send-oncancel-event.html
+
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
+ (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
+
+2010-12-14 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add loadFinished() for provisional load error
+ This fixes the hanging UI state, when provisional load error occurs due to
+ the async nature of policy check.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48724
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (loadFinished):
+ (qt_wk_didFailProvisionalLoadWithErrorForFrame):
+ (qt_wk_didFinishLoadForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Need to be able to set the application name for the user agent for a WKPage
+ https://bugs.webkit.org/show_bug.cgi?id=51011
+
+ Fixes:
+ WebKit2: Need to be able to set the application name for the user agent for a WKPage
+ <rdar://problem/8564532>
+ WebKit2: Need to be able to get the computed user agent for a WKPage
+ <rdar://problem/8637285>
+
+ Moves user agent computation to the UIProcess and just passes it to the WebProcess
+ when it has changed.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ Add a user agent to the creation parameters.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopyUserAgent):
+ (WKPageCopyApplicationNameForUserAgent):
+ (WKPageSetApplicationNameForUserAgent):
+ (WKPageSetCustomUserAgent):
+ * UIProcess/API/C/WKPage.h:
+ Add new API to set the application name and access the computed user agent.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::setUserAgent):
+ (WebKit::WebPageProxy::setApplicationNameForUserAgent):
+ (WebKit::WebPageProxy::setCustomUserAgent):
+ (WebKit::WebPageProxy::processDidCrash):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::userAgent):
+ (WebKit::WebPageProxy::applicationNameForUserAgent):
+ * UIProcess/mac/WebPageProxyMac.mm: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::setUserAgent):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::userAgent):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe through user agent.
+
+ (WebKit::callGestalt):
+ (WebKit::macOSXVersionString):
+ (WebKit::userVisibleWebKitVersionString):
+ (WebKit::WebPageProxy::standardUserAgent):
+ * UIProcess/win/WebPageProxyWin.cpp: Added.
+ (WebKit::windowsVersion):
+ (WebKit::userVisibleWebKitVersionString):
+ (WebKit::WebPageProxy::standardUserAgent):
+ Port standardUserAgent computation from WebKit1.
+
+ * UIProcess/qt/WebPageProxyQt.cpp: Added.
+ (WebKit::WebPageProxy::standardUserAgent):
+ Stub out the user agent so there is no change in behavior.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new file.
+
+2010-12-13 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Jon Honeycutt (and Brian Weinstein in heart).
+
+ <rdar://problem/8752202> and https://bugs.webkit.org/show_bug.cgi?id=50997
+ Expose "link title" and "link label" to InjectedBundleHitTestResult API
+
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ (WKBundleHitTestResultCopyLinkLabel):
+ (WKBundleHitTestResultCopyLinkTitle):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::linkLabel):
+ (WebKit::InjectedBundleHitTestResult::linkTitle):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+
+2010-12-13 Brian Weinstein <bweinstein@apple.com>
+
+ Windows Build Fix. Add a needed include.
+
+ * UIProcess/win/WebView.cpp:
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove associated page concept from WKView constructor
+ https://bugs.webkit.org/show_bug.cgi?id=50983
+
+ Step 2: Remove WebPageNamespace. It no longer does anything.
+
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ * UIProcess/API/qt/qwkcontext.cpp:
+ (QWKContext::QWKContext):
+ * UIProcess/API/qt/qwkcontext_p.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::~WebContext):
+ (WebKit::WebContext::createWebPage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageNamespace.cpp: Removed.
+ * UIProcess/WebPageNamespace.h: Removed.
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::context):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createWebPage):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * UIProcess/win/WebView.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * UIProcess/win/WebView.h:
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove associated page concept from WKView constructor
+ https://bugs.webkit.org/show_bug.cgi?id=50983
+
+ Step 1: Remove associate page constructors from WKView and make
+ all views use the shared namespace for the context.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ * UIProcess/API/qt/qwkcontext.cpp:
+ * UIProcess/API/qt/qwkcontext.h:
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/WebPageProxy.h:
+
+2010-12-13 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Leaks a WebView when opening/closing Web Inspector on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50975
+ <rdar://problem/8763501>
+
+ Make m_inspectorView be a RefPtr<WebView>, instead of a WebView*.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::WebInspectorProxy): If we are on Windows, include WebView.h.
+ * UIProcess/WebInspectorProxy.h: Change the type of m_inspectorView to a RefPtr<WebView>.
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Remove the call to leakRef when creating the WebView.
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Pass the complex text input state all the way to the UI process
+ https://bugs.webkit.org/show_bug.cgi?id=50980
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setComplexTextInputEnabled):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::pluginComplexTextInputIdentifier):
+ (WebKit::PluginProxy::setComplexTextInputEnabled):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setComplexTextInputEnabled):
+
+2010-12-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Change the WebKit2 public API so there is no explicit WKPageNamespace object
+ https://bugs.webkit.org/show_bug.cgi?id=50898
+
+ * Shared/API/c/WKBase.h: Remove definition of WKPageNamespaceRef.
+ * UIProcess/API/C/WKAPICast.h: Remove toAPI/toImpl for WKPageNamespaceRef.
+
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ Replace WKPageGetPageNamespace with WKPageGetContext.
+
+ * UIProcess/API/C/WKPageNamespace.cpp: Removed.
+ * UIProcess/API/C/WKPageNamespace.h: Removed.
+
+ * UIProcess/API/C/WebKit2.h: Remove #include of WKPageNamespace.h.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate): Changed to take a WKContextRef instead of a WKPageNamespaceRef.
+ (WKViewCreateUsingSharedProcess): Added. Similar to WKViewCreate except that
+ all callers of it will have their views end up in the same shared process, whereas
+ with WKViewCreate, a new internal page namespace will be created and could place
+ the view's WebPage into a new process.
+ (WKViewCreateForAssociatedPage): Added. Creates a view that is forced to use the
+ same process as the passed in page.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::initialize):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+ (WebKit::WebView::createUsingSharedProcess):
+ (WebKit::WebView::createForAssociatedPage):
+ Implementation of the WKView create functions.
+
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:]):
+ (-[WKView initWithFrame:contextRef:]):
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]):
+ (-[WKView initWithFrame:contextRef:usingSharedProcess:]):
+ (-[WKView initWithFrame:contextRef:pageGroupRef:usingSharedProcess:]):
+ (-[WKView initWithFrame:forAssociatedPageRef:]):
+ (-[WKView initWithFrame:forAssociatedPageRef:pageGroupRef:]):
+ (-[WKView initWithFrame:pageNamespace:pageGroup:]):
+ Add new initializers for the objective-c WKView. It follows the same
+ pattern as WKViewRef.
+
+ * UIProcess/API/qt/qwkcontext.cpp:
+ (QWKContext::QWKContext):
+ * UIProcess/API/qt/qwkcontext.h:
+ Remove uses of WKPageNamespaceRef.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedPageNamespace): Returns a shared
+ page namespace used by the view's createUsingSharedProcess constructions.
+ (WebKit::WebContext::createPageNamespace): Change to return
+ a PassRefPtr to make things clearer.
+ (WebKit::WebContext::pageNamespaceWasDestroyed): Clear the shared
+ namespace if it is cleared.
+ * UIProcess/WebContext.h:
+
+ * UIProcess/WebPageNamespace.h: Remove unused "struct WKContextStatistics".
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::context):
+ * UIProcess/WebPageProxy.h:
+ Add context getter.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ Use forAssociatedPageRef constructor for the WebInspector view.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Remove WKPageNamespace.h/cpp.
+
+2010-12-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp: Non-Apple builds
+ need to include <wtf/RetainPtr.h>.
+
+2010-12-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix after r73807.
+
+ Added stub implementation of Download object.
+
+ * WebProcess/Downloads/curl: Added.
+ * WebProcess/Downloads/curl/DownloadCurl.cpp: Added.
+ (WebKit::Download::start):
+ (WebKit::Download::startWithHandle):
+ (WebKit::Download::cancel):
+ (WebKit::Download::platformInvalidate):
+ * win/WebKit2.vcproj: Exclude DownloadCFNet for Cairo builds,
+ added DownloadCurl (excluded for regular Apple builds.)
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add the ability for plug-ins to toggle complex text input
+ https://bugs.webkit.org/show_bug.cgi?id=50966
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Initialize m_isComplexTextInputEnabled.
+
+ (WebKit::PluginControllerProxy::setComplexTextInputEnabled):
+ Update m_isComplexTextInputEnabled.
+
+ * PluginProcess/PluginControllerProxy.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_pluginHasFocus and m_windowHasFocus.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ (WebKit::NetscapePlugin::isWindowActive):
+ Return m_windowHasFocus.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformSetFocus):
+ Update m_pluginHasFocus and call setComplexTextInputEnabled.
+
+ (WebKit::NetscapePlugin::windowFocusChanged):
+ Update m_windowHasFocus and call setComplexTextInputEnabled.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add setComplexTextInputEnabled.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setComplexTextInputEnabled):
+ * WebProcess/Plugins/PluginView.h:
+ Add setComplexTextInputEnabled
+
+2010-12-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove the space behavior that I added. It's covered in EventHandler in WebCore
+ already for Windows.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-12-13 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. Use
+ logical scrolling instead of physical scrolling for those keys in WebKit2.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::logicalScroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::logicalScroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::logicalScroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-12-13 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Focusing Web Inspector window doesn't focus contents on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50947
+ <rdar://problem/8762468>
+
+ When we get the notification that the inspector window has focused, focus the inner inspector view.
+
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::onSetFocusEvent): Set the focus of the inspector view, because that is what
+ needs to be focused in the inspector window.
+
+2010-12-13 Dan Bernstein <mitz@apple.com>
+
+ Coding style fix.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::originatingURLFromBackForwardList):
+
+2010-12-13 Balazs Kelemen <kbalazs@webkit.org>
+
+ Unreviewed trivial build fix (linux, 64 bit, gcc-4.5.1)
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::exceededDatabaseQuota):
+ Don't use unsigned long long as alias for uint64_t.
+
+2010-12-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Crash when clicking a download link that targets a new tab
+ https://bugs.webkit.org/show_bug.cgi?id=50935
+ <rdar://problem/8760572>
+
+ Check for a null history item.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::originatingURLFromBackForwardList):
+
+2010-12-13 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2] Fix build if WebKitTools are not available
+ https://bugs.webkit.org/show_bug.cgi?id=50242
+
+ * DerivedSources.pro: Remove dependency to WebKitTools.
+ * Scripts/generate-forwarding-headers.pl: Moved from WebKitTools/Scripts/generate-forwarding-headers.pl.
+
+2010-12-13 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed.
+
+ * WebKit2.pro: Remove non-existant Shared/DrawingAreaBase.h from build system.
+
+2010-10-28 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Ojan Vafai.
+
+ spellcheck does not check pasted text
+ https://bugs.webkit.org/show_bug.cgi?id=40092
+
+ Added a stub implememntation.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::requestCheckingOfString):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+
+2010-12-12 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ WebKit2: Implement WebInspector::localizedStringsURL on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50896
+
+ Find the localized strings file using CFBundleCopyResourceURL.
+
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+ (WebKit::WebInspector::localizedStringsURL):
+
+2010-12-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Give LogTextInput a sensible flag value.
+
+ * Platform/Logging.cpp:
+
+2010-12-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove incorrect assertion that has been firing in the API tester.
+
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy):
+
+2010-12-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Disable WebKit2 logging by default.
+ https://bugs.webkit.org/show_bug.cgi?id=50878
+
+ * Platform/Logging.cpp:
+ (initializeLogChannelsIfNecessary):
+
+2010-12-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Web Inspector: Make inspector on Windows show and be usable in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50877
+
+ Hook up the unimplemented methods in WebInspectorProxyWin to get the web inspector
+ showing and usable in WebKit2 on Windows.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize Windows-specific variables to 0.
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::registerInspectorViewWindowClass): Sets up the inspector view class.
+ (WebKit::WebInspectorProxy::InspectorViewWndProc): Calls through to the WebInspectorProxy's non-static
+ WndProc.
+ (WebKit::WebInspectorProxy::wndProc): Handles WM_SIZE, WM_CLOSE, and WM_GETMINMAXINFO, the rest go to
+ ::DefWindowProc.
+ (WebKit::WebInspectorProxy::onSizeEvent): Resize the WKView that has the inspector page to match the
+ outer window that was just resized.
+ (WebKit::WebInspectorProxy::onMinMaxInfoEvent): Set the minimum size the window can be resized to.
+ (WebKit::WebInspectorProxy::onCloseEvent): Hide the window, and call WebInspectorProxy::close.
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create a WKView and return its page.
+ (WebKit::WebInspectorProxy::platformOpen): Create an HWND for the inspector, put the inspector's WKView
+ inside of it, and show the window.
+ (WebKit::WebInspectorProxy::platformClose): Destroy the inspector's window (which destroys the child WKView),
+ and 0 out instance variables.
+ (WebKit::WebInspectorProxy::inspectorPageURL): Finds inspector/inspector.html in the WebKit bundle.
+
+2010-12-12 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Crash in WebPage constructor.
+ https://bugs.webkit.org/show_bug.cgi?id=50892
+
+ * WebProcess/qt/WebProcessQt.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Disable runtime enabled features that have no WebKit2 implementation yet.
+
+2010-12-10 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Select menus with short option titles do not paint properly
+ https://bugs.webkit.org/show_bug.cgi?id=50860
+ <rdar://problem/8660807>
+
+ The backing stores used for painting the popup menu items were only as
+ wide as the widest option title, but the popup window that we create is
+ at least as wide as the <select> element. This adjusts the backing
+ stores to be at least as wide as the <select>, as well.
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::paint):
+ Paint using the width of the backing store.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::show):
+ Pass the page coordinates of the <select> element to
+ setUpPlatformData().
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ Added new parameter to setUpPlatformData().
+
+ * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Ditto.
+
+ * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Ditto.
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Fixed a typo in a comment. Adjust the backing store size to be at least
+ as wide as the <select> element, and use that width when painting the
+ items to the backing store.
+
+2010-12-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed Qt buildfix after r73808.
+
+ WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager
+ https://bugs.webkit.org/show_bug.cgi?id=50606
+
+ * DerivedSources.pro:
+
+2010-12-11 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r73834.
+ http://trac.webkit.org/changeset/73834
+ https://bugs.webkit.org/show_bug.cgi?id=50866
+
+ It broke Qt-WebKit2 build, because of missing WK2_DIR variable
+ (Requested by Ossy on #webkit).
+
+ * WebKit2.pro:
+
+2010-12-10 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt][WK2] Make WebKit2 static library compile on Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=50861
+
+ * WebKit2.pro:
+
+2010-12-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Ensure that we are not getting too many wheel events
+ <rdar://problem/7881465>
+
+ Add simple coalescing of wheel events being sent to the WebProcess. This
+ adds two models, one which drops interim events and one which merges events
+ together. For now, we are using the simpler dropping model.
+
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::modifiers):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::coalesceWheelEvents):
+ (WebKit::WebPageProxy::handleWheelEvent):
+ (WebKit::WebPageProxy::didReceiveEvent):
+ * UIProcess/WebPageProxy.h:
+
+2010-12-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Make WKContextGetStatistics gather global statistics
+ https://bugs.webkit.org/show_bug.cgi?id=50850
+
+ Change WKContextGetStatistics to work on all objects in the process, and
+ make it more robust by incrementing/decrementing the counts in the constructor
+ and destructor respectively.
+
+ Also, rename WKContextGetStatistics to WKContextGetGlobalStatistics to better match
+ what it's actually doing.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetStatistics):
+ * UIProcess/API/C/WKContextPrivate.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]):
+ (-[WKView dealloc]):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::statistics):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::WebFrameProxy):
+ (WebKit::WebFrameProxy::~WebFrameProxy):
+ * UIProcess/WebPageNamespace.cpp:
+ * UIProcess/WebPageNamespace.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::~WebPageProxy):
+ * UIProcess/WebPageProxy.h:
+
+2010-12-10 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Context menu support on Windows
+ <https://bugs.webkit.org/show_bug.cgi?id=50514>
+
+ Implment showing of the context menu on Windows for WebKit2, and calling through to
+ WebPageProxy::contextMenuItemSelected.
+
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
+ (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin): Initialize the member variables.
+ (WebKit::WebContextMenuProxyWin::populateMenu): Iterate over the vector of WebContextMenuItemData
+ that was passed in, adding the menu items and recursively calling back into this function to populate
+ any submenus that are needed. This function also sets up the map from action identifierss to WebContextMenuItemData,
+ to use to find the WebContextMenuItemData from a selected menu item.
+ (WebKit::WebContextMenuProxyWin::showContextMenu): Destroy any menu we have already created, populate the menu
+ to show, and show the context menu. Once TrackPopupMenuEx returns, it returns identifier of the selected menu item.
+ Look up that identifier in the map we created, and tell the WebPageProxy that a context menu item was selected.
+ (WebKit::WebContextMenuProxyWin::hideContextMenu): Destroy the HMENU if it is non-null, and clear the identifier map.
+ * UIProcess/win/WebContextMenuProxyWin.h:
+ (WebKit::WebContextMenuProxyWin::create): Call through to the constructor, and change the arguments that it takes.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createContextMenuProxy): Call with the correct arguments.
+
+2010-12-10 Jessie Berlin <jberlin@apple.com>
+
+ Qt Build Fix. Unreviewed.
+
+ * WebKit2.pro:
+ Add the Messages.h and MessageReceivers.h.
+
+2010-12-10 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben and Sam Weinig.
+
+ WebKit2: Need a WebKit2 equivalent of the WebKit1 WebDatabaseManager
+ https://bugs.webkit.org/show_bug.cgi?id=50606
+
+ Add a WebDatabaseManagerProxy owned by the WebContext.
+
+ Expose API (similar to the WebKit1 API) to get a list of origins for which there are
+ Databases, delete all the databases for a given origin, and delete all the databases.
+
+ Add WebDatabaseManager and WebDatabaseManagerProxy as messages receivers.
+ * DerivedSources.make:
+ * Platform/CoreIPC/MessageID.h:
+
+ Add the WebDatabaseManagerProxy as a UIProcess type (DatabaseManager).
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/WKAPICast.h:
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetDatabaseManager):
+ Expose API to get the DatabaseManager.
+ * UIProcess/API/C/WKContext.h:
+
+ * UIProcess/API/C/WKDatabaseManager.cpp: Added.
+ (WKDatabaseManagerGetTypeID):
+ (WKDatabaseManagerGetDatabaseOrigins):
+ (callGetDatabaseOriginsBlockBlockAndDispose):
+ (WKDatabaseManagerGetDatabaseOrigins_b):
+ (WKDatabaseManagerDeleteDatabasesForOrigin):
+ (WKDatabaseManagerDeleteAllDatabases):
+ * UIProcess/API/C/WKDatabaseManager.h: Added.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ Create the WebDatabaseManagerProxy.
+ (WebKit::WebContext::processDidClose):
+ Invalidate the WebDatabaseManagerProxy.
+ (WebKit::WebContext::didReceiveMessage):
+ Forward messages to the WebDatabaseManagerProxy.
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::databaseManagerProxy):
+
+ * UIProcess/WebDatabaseManagerProxy.cpp: Added.
+ (WebKit::WebDatabaseManagerProxy::create):
+ (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
+ (WebKit::WebDatabaseManagerProxy::~WebDatabaseManagerProxy):
+ (WebKit::WebDatabaseManagerProxy::invalidate):
+ Invalidate the map of callbacks for getDatabaseOrigins.
+ (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
+ Store the callback and send the request for the origins which have databases to the
+ WebProcess.
+ (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
+ Call the callback function with the SecurityOrigins created from the identifiers received.
+ (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
+ If the origin exists, send the message on to the WebProcess to delete the databases
+ associated with that origin.
+ (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
+ Send the message to the WebProcess to delete all the databases.
+ * UIProcess/WebDatabaseManagerProxy.h: Added.
+ (WebKit::WebDatabaseManagerProxy::type):
+ * UIProcess/WebDatabaseManagerProxy.messages.in: Added.
+
+ * UIProcess/WebPageProxy.cpp:
+ Move invalidateCallbackMap from here ...
+ * UIProcess/GenericCallback.h:
+ (WebKit::invalidateCallbackMap):
+ .. to here so that it can be used elsewhere (e.g. by WebDatabaseManagerProxy).
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ Forward on all messages destined for the WebDatabaseManagerProxy to the WebContext.
+
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::didReceiveMessage):
+ (WebKit::WebDatabaseManager::getDatabaseOrigins):
+ Send an array of the identifiers for the SecurityOrigins for which there are databases to
+ the UIProcess.
+ (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
+ If the SecurityOrigin with that identifier exists, tell the DatabaseTracker to delete the
+ databases for that origin.
+ (WebKit::WebDatabaseManager::deleteAllDatabases):
+ Tell the DatabaseTracker to delete the databases for that origin.
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: Added.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+
+ * WebKit2.pro:
+ Add WKDatabaseManager.cpp/.h and WebDatabaseManagerProxy.cpp/.h
+ * WebKit2.xcodeproj/project.pbxproj:
+ Ditto, also add WebDatabaseManagerProxy.messages.in and WebDatabaseManager.messages.in.
+ * win/WebKit2.vcproj:
+ Ditto.
+ * win/WebKit2Generated.make:
+ Make sure WKDatabaseManager.h is copied into WebKitBuild on Windows.
+
+2010-12-10 Ada Chan <adachan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Implement Download::start() and Download::startWithHandle() on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=50844
+
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::start): Create a CFURLDownloadRef and schedule it.
+ (WebKit::Download::startWithHandle): Create a CFURLDownloadRef with the loading connection
+ retrieved from the ResourceHandle.
+ (WebKit::Download::platformInvalidate):
+ (WebKit::downloadFromClientInfo):
+ (WebKit::didStartCallback):
+ (WebKit::willSendRequestCallback):
+ (WebKit::didReceiveAuthenticationChallengeCallback):
+ (WebKit::didReceiveResponseCallback):
+ (WebKit::willResumeWithResponseCallback):
+ (WebKit::didReceiveDataCallback):
+ (WebKit::shouldDecodeDataOfMIMETypeCallback):
+ (WebKit::decideDestinationWithSuggestedObjectNameCallback):
+ (WebKit::didCreateDestinationCallback):
+ (WebKit::didFinishCallback):
+ (WebKit::didFailCallback):
+
+2010-12-10 Enrica Casucci <enrica@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ Adding a dummy synchronous message for platforms
+ that don't have any.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::dummy):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-12-09 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Prep for WebKit2: Context menu support on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50514
+
+ Update WebKit2 to call the correct code when CROSS_PLATFORM_CONTEXT_MENUS is set.
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::WebContextMenuItemData): Add a branch based on whether or not
+ CROSS_PLATFORM_CONTEXT_MENUS is set.
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::customizeMenu): Define different functions based on
+ whether or not CROSS_PLATFORM_CONTEXT_MENUS. Both of these are stubs, so functionality
+ doesn't need to be shared.
+ * WebProcess/WebCoreSupport/WebContextMenuClient.h: Define different functions based on
+ whether or not CROSS_PLATFORM_CONTEXT_MENUS.
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show): Add a branch based on whether or not
+ CROSS_PLATFORM_CONTEXT_MENUS is set.
+
+2010-12-09 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Implement IME support for Mac.
+ <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=50788
+
+ This patch addes support for input methods in WebKit2.
+ In order to support IME, it was necessary to add synchronous calls from the UIProcess
+ to the WebProcess. These calls all have a timeout of 1 second.
+ The current implementation still uses the NSTextInput protocol, but the plan is to move
+ to the NSTextInputClient protocol. This has not been done yet for ease of comparison with
+ WebKit. attributedSubstringFromRange is the only method that has not been implemented, because
+ I have not yet decided what is the best way to send an NSAttributedString across the process
+ boundary.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction): Added template for member function.
+ with four reply arguments.
+ * Scripts/webkit2/messages.py: Added CompositionUnderline and relevant header.
+ * Shared/WebCoreArgumentCoders.h:
+ (CoreIPC::): Added encoder/decoder for CompositionUnderline.
+ * UIProcess/API/mac/PageClientImpl.h: Added parameters to interceptKeyEvent and selectionChanged.
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::selectionChanged): Added parameters.
+ (WebKit::PageClientImpl::interceptKeyEvent): Added parameters.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]): Added initialization of new private members.
+ (-[WKView insertText:]):
+ (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:range:]): Added parameters.
+ (-[WKView _interceptKeyEvent:hasComposition:start:end:lines:WebCore::]): Added parameters.
+ (-[WKView keyDown:]): Modified to reset state on each keyDown.
+ (-[WKView selectedRange]): Added.
+ (-[WKView hasMarkedText]): Added.
+ (-[WKView unmarkText]): Added.
+ (-[WKView validAttributesForMarkedText]): Added.
+ (extractUnderlines): Added.
+ (-[WKView setMarkedText:selectedRange:]): Added.
+ (-[WKView markedRange]): Added.
+ (-[WKView attributedSubstringFromRange:]): Added.
+ (-[WKView characterIndexForPoint:]): Added.
+ (-[WKView firstRectForCharacterRange:]): Added.
+ (-[WKView conversationIdentifier]): Added.
+ * UIProcess/API/mac/WKViewInternal.h: Added parameters to _interceptKeyEvent and _selectionChanged.
+ * UIProcess/PageClient.h: Added parameters to interpretKeyEvent and selectionChanged.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::getMarkedRange): Added.
+ (WebKit::WebPageProxy::characterIndexForPoint): Added.
+ (WebKit::WebPageProxy::firstRectForCharacterRange): Added.
+ (WebKit::WebPageProxy::interpretKeyEvent): Additional parameters.
+ (WebKit::WebPageProxy::didSelectionChange): Additional parameters for Mac platform.
+ * UIProcess/WebPageProxy.h: Added new methods and parameters to didSelectionChange
+ and interpretKeyEvent.
+ * UIProcess/WebPageProxy.messages.in: Added parameters to interpretKeyEvent and selectionChanged messages.
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::sendSync): Added support for synchronous messages.
+ The default timeout is 1 second.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp: respondToChangedSelection is now
+ only for non Mac platform.
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::respondToChangedSelection): Added implementation for Mac platform.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveSyncMessage): Added.
+ * WebProcess/WebPage/WebPage.h: Added new methods and support for synchronous messages.
+ * WebProcess/WebPage/WebPage.messages.in: Added new messages.
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::interceptEditingKeyboardEvent): Added parameters.
+ (WebKit::WebPage::convertRangeToPlatformRange): Added.
+ (WebKit::WebPage::getMarkedRange): Added.
+ (WebKit::characterRangeAtPoint): Added.
+ (WebKit::WebPage::characterIndexForPoint): Added.
+ (WebKit::convertToRange): Added.
+ (WebKit::WebPage::firstRectForCharacterRange): Added.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveSyncMessage): Added.
+ * WebProcess/WebProcess.h: Added didReceiveSyncMessage.
+
+2010-12-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Add the QWKContext API class to wrap the WebContext.
+ https://bugs.webkit.org/show_bug.cgi?id=50750
+
+ * UIProcess/API/qt/WKView.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ Change the WKPageNamespaceRef argument to QWKContext*
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkcontext.cpp: Added.
+ * UIProcess/API/qt/qwkcontext.h: Added.
+ * UIProcess/API/qt/qwkcontext_p.h: Added.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPage::QWKPage):
+ Change the WKPageNamespaceRef argument to QWKContext*
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * WebKit2.pro:
+
+2010-12-10 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Flush IPC connection send buffer after each message.
+
+ [Qt] [WK2] IPC messages are not sent until send buffer fills up
+ https://bugs.webkit.org/show_bug.cgi?id=50667
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage):
+
+2010-12-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Use a single QNetworkAccessManager per web process.
+ https://bugs.webkit.org/show_bug.cgi?id=50757
+
+ This allows a better management of network resources and the use
+ of global cookie jar and disk cache across all frames.
+
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
+ (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
+ (WebCore::WebFrameNetworkingContext::networkAccessManager):
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::initializeWebProcess):
+ (WebKit::WebProcess::shutdownIfPossible):
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::networkAccessManager):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+ * WebProcess/qt/WebProcessQt.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformShutdown):
+
+2010-12-09 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build.
+
+ * Shared/cf/ArgumentCodersCF.cpp:
+ (CoreIPC::sizeForNumberType):
+
+2010-12-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ WebKit2: Control-click doesn't invoke context menu
+ https://bugs.webkit.org/show_bug.cgi?id=50793
+ <rdar://problem/8664800>
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::isContextClick): New helper function - on Mac, not only right clicks
+ but also control-left-clicks are context clicks.
+ (WebKit::handleMouseEvent): Use above.
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ * Scripts/webkit2/messages.py:
+ DrawingAreaInfo is a struct.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::valueForKey):
+ Move valueForKey above code that uses it.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (-[WebInspectorProxyObjCAdapter windowWillClose:]):
+ Remove trailing semicolon.
+
+2010-12-09 Timothy Hatcher <timothy@apple.com>
+
+ Add support for transparent WebKit2 WKViews.
+
+ https://webkit.org/b/50785
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode): Encode drawsBackground and drawsTransparentBackground.
+ (WebKit::WebPageCreationParameters::decode): Decode drawsBackground and drawsTransparentBackground.
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView setDrawsBackground:]): Added.
+ (-[WKView drawsBackground]): Added.
+ (-[WKView setDrawsTransparentBackground:]): Added.
+ (-[WKView drawsTransparentBackground]): Added.
+ (-[WKView drawRect:]): Only fill the background if the WebProcess isn't valid and drawsBackground.
+ Use white or clear based on setDrawsTransparentBackground.
+ (-[WKView isOpaque]): Return drawsBackground.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Initialize m_drawsBackground and m_drawsTransparentBackground.
+ (WebKit::WebPageProxy::setDrawsBackground): Added. Send a SetDrawsBackground message.
+ (WebKit::WebPageProxy::setDrawsTransparentBackground): Added. Send a SetDrawsTransparentBackground message.
+ (WebKit::WebPageProxy::creationParameters): Set drawsBackground and drawsTransparentBackground.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::drawsBackground): Added. Return m_drawsBackground.
+ (WebKit::WebPageProxy::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint): Use the copy blend mode when drawing a background.
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore): Use the copy blend mode to replace existing content.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Setup the new view's background color and transparent flag.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Initialize m_drawsBackground and m_drawsTransparentBackground.
+ (WebKit::WebPage::setDrawsBackground): Added. Propagate the flag to the FrameViews.
+ (WebKit::WebPage::setDrawsTransparentBackground): Added. Propagate the background color to the FrameViews.
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::drawsBackground): Added. Return m_drawsBackground.
+ (WebKit::WebPage::drawsTransparentBackground): Added. Return m_drawsTransparentBackground.
+ * WebProcess/WebPage/WebPage.messages.in: Added SetDrawsBackground and SetDrawsTransparentBackground.
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cannot use NSKeyedArchiver in WK2 for ResourceResponses
+ https://bugs.webkit.org/show_bug.cgi?id=50792
+ <rdar://problem/8741799>
+
+ When encoding, first convert the requests and responses to the serializable dictionary representation
+ and use the newly added CF CoreIPC encoders. When decoding, do the opposite.
+
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add CoreIPC coders for CF types
+ https://bugs.webkit.org/show_bug.cgi?id=50791
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::decodeEnum):
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ (CoreIPC::ArgumentEncoder::encodeEnum):
+ * Shared/cf/ArgumentCodersCF.cpp: Added.
+ (CoreIPC::tokenNullTypeRef):
+ (CoreIPC::typeFromCFTypeRef):
+ (CoreIPC::encode):
+ (CoreIPC::decode):
+ (CoreIPC::sizeForNumberType):
+ * Shared/cf/ArgumentCodersCF.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-12-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8749750> and https://bugs.webkit.org/show_bug.cgi?id=50786
+ WK2 authentication never consults WebCore session credential storage.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Since we don't need to expose this as
+ API at this time, always return true.
+
+2010-12-09 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebKit2: Add support for access keys
+ https://bugs.webkit.org/show_bug.cgi?id=49832
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleKeyEvent): Match windows WebKit and call
+ the event handler's for handleAccessKey function for
+ system keys. This will never be hit on the Mac.
+
+2010-12-09 Darin Adler <darin@apple.com>
+
+ Qt build fix.
+
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Include "NotImplemented.h".
+
+2010-12-09 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+
+ * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp:
+
+2010-12-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
+ WebKit2 ContextMenuClient support
+
+ Implement google search in a cross platform manner, and add a FIXME for download support:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::downloadURL):
+ (WebKit::WebContextMenuClient::searchWithGoogle):
+
+ Mac implementations for speaking and searching:
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: Added.
+ (WebKit::WebContextMenuClient::lookUpInDictionary): Add a FIXME for now.
+ (WebKit::WebContextMenuClient::isSpeaking):
+ (WebKit::WebContextMenuClient::speak):
+ (WebKit::WebContextMenuClient::stopSpeaking):
+ (WebKit::WebContextMenuClient::searchWithSpotlight):
+
+ Stubs for Win and Qt:
+ * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp: Added.
+ (WebKit::WebContextMenuClient::lookUpInDictionary):
+ (WebKit::WebContextMenuClient::isSpeaking):
+ (WebKit::WebContextMenuClient::speak):
+ (WebKit::WebContextMenuClient::stopSpeaking):
+ * WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Added.
+ (WebKit::WebContextMenuClient::lookUpInDictionary):
+ (WebKit::WebContextMenuClient::isSpeaking):
+ (WebKit::WebContextMenuClient::speak):
+ (WebKit::WebContextMenuClient::stopSpeaking):
+
+ Project file stuffs:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't leak the PDFDocument
+ https://bugs.webkit.org/show_bug.cgi?id=50771
+
+ * UIProcess/API/mac/PDFViewController.mm:
+ (WebKit::PDFViewController::setPDFDocumentData):
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a basic implementation of PDF support on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=50768
+
+ * UIProcess/API/mac/PDFViewController.h:
+ * UIProcess/API/mac/PDFViewController.mm: Added.
+ (-[WKPDFView initWithFrame:PDFViewController:WebKit::]):
+ Setup the view hierarchy.
+
+ (-[WKPDFView invalidate]):
+ Set the controller to null.
+
+ (-[WKPDFView pdfView]):
+ Return the PDF view.
+
+ (WebKit::PDFViewController::create):
+ (WebKit::PDFViewController::PDFViewController):
+ Create a WKPDFView and insert it as a subview of the WKView.
+
+ (WebKit::PDFViewController::~PDFViewController):
+ Remove the WKPDFView from the view hierarchy and invalidate it.
+
+ (WebKit::convertPostScriptDataSourceToPDF):
+ Convert the data in the data reference to PDF and return it as a CFDataRef.
+
+ (WebKit::PDFViewController::setPDFDocumentData):
+ Create a PDFDocument and set it on the PDF view.
+
+ (WebKit::PDFViewController::pdfDocumentClass):
+ (WebKit::PDFViewController::pdfPreviewViewClass):
+ (WebKit::PDFViewController::pdfKitBundle):
+ Add soft-linking helper functions.
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didCommitLoadForMainFrame):
+ (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
+ Call the WKView methods.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _setPageHasCustomRepresentation:]):
+ Create a PDF view controller if necessary.
+
+ (-[WKView _didFinishLoadingDataForCustomRepresentation:CoreIPC::]):
+ Pass the data along to the PDF view controller.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-12-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for custom representation
+ https://bugs.webkit.org/show_bug.cgi?id=50767
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Add mimeTypesWithCustomRepresentation and encode and decode accordingly.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didCommitLoadForMainFrame):
+ (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
+ Add empty stubs for now.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::didCommitLoadForMainFrame):
+ (QWKPagePrivate::didFinishLoadingDataForCustomRepresentation):
+ * UIProcess/API/qt/qwkpage_p.h:
+ Add empty stubs.
+
+ * UIProcess/PageClient.h:
+ Add new functions for custom representations.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canShowMIMEType):
+ Check that the mime type is not null.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ This now takes an additional frameHasCustomRepresentation parameter.
+ Call the page client function.
+
+ (WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation):
+ Call the page client function.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Change DidCommitLoadForFrame message, add DidFinishLoadingDataForCustomRepresentation message.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ We want to use custom representations for PDF and PostScript MIME types.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didCommitLoadForMainFrame):
+ (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
+ * UIProcess/win/WebView.h:
+ Add stubs.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
+ Initialize m_frameHasCustomRepresentation.
+
+ (WebKit::WebFrameLoaderClient::hasHTMLView):
+ The frame has a HTML view unless it has a custom representation.
+
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ Pass along whether the frame has a custom representation.
+
+ (WebKit::WebFrameLoaderClient::committedLoad):
+ Don't send data back to WebCore if the frame has a custom representation.
+
+ (WebKit::WebFrameLoaderClient::finishedLoading):
+ Send all the data to the UI process.
+
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+ Update the m_frameHasCustomRepresentation state based on the MIME type.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ (WebKit::WebFrameLoaderClient::frameHasCustomRepresentation):
+ Add getter.
+
+ * WebProcess/WebPage/mac/ChunkedUpdateDrawingAreaMac.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::paintIntoUpdateChunk):
+ Don't do any painting if the main frame has a custom representation.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Add all the MIME types with custom representations.
+
+ * WebProcess/WebProcess.h:
+ (WebKit::WebProcess::shouldUseCustomRepresentationForMIMEType):
+ Add getter.
+
+2010-12-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement "Use Selection for Find" in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50737
+ <rdar://problem/8564881>
+
+ * UIProcess/API/mac/WKView.mm: Add support for the takeFindStringFromSelection:
+ selector as a command.
+
+2010-12-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
+ WebKit2 Authentication Support
+
+ Implement authentication-related coders:
+ * Shared/WebCoreArgumentCoders.h:
+
+ Allow the ResourceResponse coders to handle null responses:
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+
+ Add new API and Impl casts for ProtectionSpace and Credential enums:
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toCredentialPersistence):
+
+ Move the DecisionListener to be accessed off the challenge itself, and fill in other
+ necessary API:
+ * UIProcess/API/C/WKAuthenticationChallenge.cpp:
+ (WKAuthenticationChallengeGetDecisionListener):
+ (WKAuthenticationChallengeGetProtectionSpace):
+ (WKAuthenticationChallengeGetProposedCredential):
+ (WKAuthenticationChallengeGetPreviousFailureCount):
+ * UIProcess/API/C/WKAuthenticationChallenge.h:
+ * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
+ (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
+ (WebKit::AuthenticationChallengeProxy::proposedCredential):
+ (WebKit::AuthenticationChallengeProxy::protectionSpace):
+ * UIProcess/Authentication/AuthenticationChallengeProxy.h:
+ (WebKit::AuthenticationChallengeProxy::previousFailureCount):
+
+ Fill in some credential API:
+ * UIProcess/API/C/WKCredential.cpp:
+ (WKCredentialCreate):
+ (WKCredentialCopyUser):
+ * UIProcess/API/C/WKCredential.h:
+ * UIProcess/API/C/WKCredentialTypes.h: Added.
+ * UIProcess/Authentication/WebCredential.cpp:
+ (WebKit::WebCredential::WebCredential):
+ (WebKit::WebCredential::user):
+ * UIProcess/Authentication/WebCredential.h:
+ (WebKit::WebCredential::create):
+
+ Fill in some protection space API:
+ * UIProcess/API/C/WKProtectionSpace.cpp:
+ (WKProtectionSpaceCopyHost):
+ (WKProtectionSpaceGetPort):
+ (WKProtectionSpaceCopyRealm):
+ (WKProtectionSpaceGetIsProxy):
+ (WKProtectionSpaceGetServerType):
+ (WKProtectionSpaceGetReceivesCredentialSecurely):
+ (WKProtectionSpaceGetAuthenticationScheme):
+ * UIProcess/API/C/WKProtectionSpace.h:
+ * UIProcess/API/C/WKProtectionSpaceTypes.h: Added.
+ * UIProcess/Authentication/WebProtectionSpace.cpp:
+ (WebKit::WebProtectionSpace::WebProtectionSpace):
+ (WebKit::WebProtectionSpace::host):
+ (WebKit::WebProtectionSpace::port):
+ (WebKit::WebProtectionSpace::realm):
+ (WebKit::WebProtectionSpace::isProxy):
+ (WebKit::WebProtectionSpace::serverType):
+ (WebKit::WebProtectionSpace::receivesCredentialSecurely):
+ (WebKit::WebProtectionSpace::authenticationScheme):
+ * UIProcess/Authentication/WebProtectionSpace.h:
+
+ Change the authentication challenge callback to reflect the new ownership of
+ the DecisionListener:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey "Error" Garen.
+
+ Fix typo: Diplaying -> Displaying
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameIsDisplayingStandaloneImageDocument):
+ (WKFrameIsDisplayingMarkupDocument):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canProvideSource):
+ (WebKit::WebFrameProxy::isDisplayingStandaloneImageDocument):
+ (WebKit::WebFrameProxy::isDisplayingMarkupDocument):
+ * UIProcess/WebFrameProxy.h:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Add WebKit2 Preference for TabsToLinks behavior.
+ <rdar://problem/8664263>
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetTabsToLinks):
+ (WKPreferencesGetTabsToLinks):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::tabsToLinks):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::updatePreferences):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::tabsToLinks):
+
+2010-12-08 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ WebTouchEvent::isTouchEventType() does not take into account the type TouchCancel
+ https://bugs.webkit.org/show_bug.cgi?id=50680
+
+ Add the missing type check to WebTouchEvent::isTouchEventType().
+
+ * Shared/WebTouchEvent.cpp:
+ (WebKit::WebTouchEvent::isTouchEventType):
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
+ https://bugs.webkit.org/show_bug.cgi?id=50726
+
+ Adds WKBundleNodeHandleCopyDocumentFrame, WKBundleNodeHandleCopyHTMLFrameElementContentFrame
+ and WKBundleNodeHandleCopyHTMLIFrameElementContentFrame, to handle the document, <frame>
+ and <iframe> cases.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleCopyDocumentFrame):
+ (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
+ (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::copyDocumentFrame):
+ (WebKit::InjectedBundleNodeHandle::copyHTMLFrameElementContentFrame):
+ (WebKit::InjectedBundleNodeHandle::copyHTMLIFrameElementContentFrame):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Need a WebKit2 way to test whether a frame is displaying a standalone image
+ <rdar://problem/8443059>
+ WebKit2: Need a way to test whether a page or frame is showing HTML content
+ <rdar://problem/8642563>
+
+ Add WKFrameIsDiplayingStandaloneImageDocument and WKFrameIsDiplayingMarkupDocument.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameIsDiplayingStandaloneImageDocument):
+ (WKFrameIsDiplayingMarkupDocument):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canProvideSource): This now just calls isDiplayingMarkupDocument.
+ (WebKit::WebFrameProxy::isDiplayingStandaloneImageDocument):
+ (WebKit::WebFrameProxy::isDiplayingMarkupDocument):
+ * UIProcess/WebFrameProxy.h:
+
+2010-12-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebFrameProxy::canShowMIMEType should return true for PDF MIME types in the main frame
+ https://bugs.webkit.org/show_bug.cgi?id=50724
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::pdfAndPostScriptMIMETypes):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canShowMIMEType):
+
+2010-12-08 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ WebMenuTarget implemented in both WebKit and WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50665
+ <rdar://problem/8742640>
+
+ Rename WebMenuTarget to WKMenuTarget to prevent this warning and stay consistent with
+ other WebKit2 namings.
+
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (+[WKMenuTarget sharedMenuTarget]):
+ (WebKit::nsMenuItemVector):
+ (WebKit::WebContextMenuProxyMac::showContextMenu):
+
+2010-12-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move canShowMIMEType to Frame
+ https://bugs.webkit.org/show_bug.cgi?id=50723
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCanShowMIMEType):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canShowMIMEType):
+ * UIProcess/WebFrameProxy.h:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Rename WKPreferencesGetFTPDirectoryTemplatePath to WKPreferencesCopyFTPDirectoryTemplatePath
+ since it copies the value.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesCopyFTPDirectoryTemplatePath):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+
+2010-12-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ WebKit2: Can't open ftp directory
+ <rdar://problem/8489321>
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetForceFTPDirectoryListings):
+ (WKPreferencesGetForceFTPDirectoryListings):
+ (WKPreferencesSetFTPDirectoryTemplatePath):
+ (WKPreferencesGetFTPDirectoryTemplatePath):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pipe through the FTP directory listing preferences.
+
+2010-12-08 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
+ https://bugs.webkit.org/show_bug.cgi?id=49388
+
+ Fixes a build failure because WebChromeClient.cpp uses WebCore::Cursor.
+ This patch adds an include of QuartzCore/CATransform3D, which includes
+ a file that has a 'Cursor' object defined. So I had to qualify the
+ use of Cursor in WebChromeClient.cpp.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setCursor):
+
+2010-12-07 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Layering Violation in ContextMenu - member variable of type HitTestResult
+ https://bugs.webkit.org/show_bug.cgi?id=50586
+
+ Update users of ContextMenu and ContextMenuController to match where the new functions
+ are located.
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::WebContextMenuItemData): Remove the call to checkOrEnableItem, that call will be made when
+ the ContextMenuItem is added to the ContextMenu through the ContextMenuController.
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+
+2010-12-08 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Implement WebChromeClient::exceededDatabaseQuota
+ https://bugs.webkit.org/show_bug.cgi?id=50656
+
+ The exceededDatabaseQuota call from the WebProcess to the UIProcess needs to be synchronous
+ because the new quota is checked directly after exceededDatabaseQuota returns in order to
+ determine if the new Database can be created.
+
+ Pass all of the details from the WebProcess to the UIProcess in order to inform the
+ decision in the UIProcess about the new quota. In WebKit1, these details were
+ fetched through an additional call to the API detailsForDatabase (which is infeasible in
+ WebKit2 since exceededDatabaseQuota is a synchronous call).
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add a version that takes 7 parameters.
+
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Indicate that exceededDatabaseQuota is not implemented.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::exceededDatabaseQuota):
+ Call the UIClient's exceededDatabaseQuota
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::exceededDatabaseQuota):
+ If the client does not implement exceededDatabaseQuota, return a the current quota.
+ * UIProcess/WebUIClient.h:
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::exceededDatabaseQuota):
+ Send a synchronous message to the UIProcess to ask for the new quota for the origin for the
+ given frame.
+
+2010-12-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ fast/loader/empty-embed-src-attribute.html asserts in debug builds
+ https://bugs.webkit.org/show_bug.cgi?id=50643
+
+ Just always ignore attempts to load requests with empty URLs.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+
+2010-12-07 Jessie Berlin <jberlin@apple.com>
+
+ Build fix. Unreviewed.
+
+ * WebKit2.pro:
+ Added WebDatabaseManagerQt.cpp.
+ * WebProcess/WebCoreSupport/qt/WebDatabaseManagerQt.cpp: Added.
+ (WebKit::WebDatabaseManager::databaseDirectory):
+ Added a FIXME to implement and return an empty string.
+
+2010-12-07 Darin Adler <darin@apple.com>
+
+ Get a bit closer to making Qt WebKit2 compile again.
+
+ * WebKit2.pro: Add the WebDatabaseManager source files.
+ Still missing: The Qt version of the databaseDirectory function.
+
+2010-12-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Need to set the location of the Databases directory when the WebProcess is initialized
+ https://bugs.webkit.org/show_bug.cgi?id=50604
+
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: Added.
+ (WebKit::WebDatabaseManager::shared):
+ (WebKit::WebDatabaseManager::WebDatabaseManager):
+ Initialize the DatabaseTracker with the Database directory.
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h: Added.
+ * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: Added.
+ (WebKit::WebDatabaseManager::databaseDirectory):
+ Copied from WebKitInitializeDatabasesIfNecessary in WebKit/mac/Storage/WebDatabaseManager.mm.
+ * WebProcess/WebCoreSupport/win/WebDatabaseManagerWin.cpp: Added.
+ (WebKit::WebDatabaseManager::databaseDirectory):
+ Copied from WebKitInitializeWebDatabasesIfNecessary in WebKit/win/WebDatabaseManager.cpp.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ Make sure that the Databases directory has been set by calling WebDatabaseManager::shared().
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add WebDatabaseManager.cpp/.h/Mac.cpp
+ * win/WebKit2.vcproj:
+ Add WebDatabaseManager.cpp/.h/Win.cpp
+
+2010-12-06 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass security origin to make local file decision correctly
+ https://bugs.webkit.org/show_bug.cgi?id=48603
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::loadURL): Pass security origin.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchCreatePage): Ditto.
+
+2010-12-06 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix two WebKit2 prefs issues.
+
+ * Shared/WebPreferencesStore.h: Include font-family preferences
+ in the FOR_EACH_WEBKIT_STRING_PREFERENCE macro, actually propagating
+ font family prefs to WebCore settings.
+
+ * UIProcess/WebPageGroup.cpp:
+ (WebKit::WebPageGroup::WebPageGroup):
+ (WebKit::WebPageGroup::~WebPageGroup): Add and remove the WebPageGroup
+ from the preference object it creates. This allows preference changes
+ to actually be propagated to the web process.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ The plug-in process crashes if it can't load the plug-in module
+ https://bugs.webkit.org/show_bug.cgi?id=50601
+ <rdar://problem/8692654>
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::initialize):
+ Handle m_plugin being 0.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::netscapePluginModule):
+ Create the plug-in module if it doesn't exist.
+
+ (WebKit::PluginProcess::initialize):
+ Store the plug-in path.
+
+ * PluginProcess/PluginProcess.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::create):
+ Return null if the plug-in module doesn't exist.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Simplify code.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebProcess crash in NPRemoteObjectMap::invalidate when closing tab
+ https://bugs.webkit.org/show_bug.cgi?id=50597
+ <rdar://problem/8655584>
+
+ When invalidating the NPRemoteObjectMap, we don't want NPObjectMessageReceiver to
+ release all objects NPObjects blindly because NPJSObjects have already been deallocated by the plug-in view.
+
+ This is not an ideal solution; an ideal solution would involve NPJSObjects notifying any NPObjectMessageReceiver objects
+ that the NPJSObject is being destroyed. The NPObjectMessageReceiver could then simply null out the NPObject pointer.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ * Shared/Plugins/NPObjectMessageReceiver.h:
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
+ (WebKit::NPRemoteObjectMap::invalidate):
+ * Shared/Plugins/NPRemoteObjectMap.h:
+ (WebKit::NPRemoteObjectMap::isInvalidating):
+
+2010-12-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Generalize didChangeLocationWithinPageForFrame for all same document navigations
+ https://bugs.webkit.org/show_bug.cgi?id=50584
+
+ - Rename didChangeLocationWithinPageForFrame callbacks to didSameDocumentNavigationForFrame
+ - Add WKSameDocumentNavigationType to didChangeLocationWithinPageForFrame.
+ - Call didSameDocumentNavigationForFrame for HTML session state changes.
+
+ * Shared/API/c/WKPageLoadTypes.h: Added.
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ Moved WKFrameNavigationType here from WKPage.h and add WKSameDocumentNavigationType.
+
+ * Shared/SameDocumentNavigationType.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ Moved WKFrameNavigationType conversion from here.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Update comment.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didSameDocumentNavigation):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ Pipe new name through.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
+ Call didChangeLocationWithinPageForFrame for session state changes.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-12-06 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Expose the preference to enable or disable HTML5 Databases.
+ https://bugs.webkit.org/show_bug.cgi?id=50411
+
+ * Shared/WebPreferencesStore.h:
+ Make the preference to enable HTML5 Databases default ot true.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetDatabasesEnabled):
+ (WKPreferencesGetDatabasesEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Set AbstractDatabase::isAvailable (mimicking how the preference is set in WebKit1).
+
+2010-12-06 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent): Wrap Carbon-specific code in #ifndef NP_NO_CARBON.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a shim for GetCurrentEventButtonState
+ https://bugs.webkit.org/show_bug.cgi?id=50583
+
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::getCurrentEventButtonState):
+ Get the event button state from the plug-in.
+
+ (WebKit::PluginProcess::initializeShim):
+ Add new shim callback.
+
+ * PluginProcess/mac/PluginProcessShim.cpp:
+ (WebKit::shimGetCurrentEventButtonState):
+ Add shim.
+
+ * PluginProcess/mac/PluginProcessShim.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::buttonState):
+ Return the button state.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ Update the button state. Also, make sure to actually pass the modifiers to NPP_HandleEvent.
+
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a shim for IsWindowActive
+ https://bugs.webkit.org/show_bug.cgi?id=50582
+
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::isWindowActive):
+ Get the NetscapePlugin from the WindowRef and check if the plug-in's window is active.
+
+ (WebKit::PluginProcess::initializeShim):
+ * PluginProcess/mac/PluginProcessShim.cpp
+ (WebKit::shimIsWindowActive):
+ Call isWindowActive. If it returns true, return the result value. Otherwise, call the real
+ IsWindowActive function.
+
+ * PluginProcess/mac/PluginProcessShim.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_isWindowactive.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ (WebKit::NetscapePlugin::isWindowActive):
+ Return whether the window is active.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::windowMap):
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::netscapePluginFromWindow):
+ Add a mapping between windows and the corresponding NetscapePlugin objects.
+
+ (WebKit::NetscapePlugin::windowFocusChanged):
+ Update the window focus member variable.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGERSSION (r73310?): Contents of <select> popup menus are upside-down on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=50544
+ <rdar://problem/8732336>
+
+ * Shared/BackingStore.cpp:
+ * Shared/BackingStore.h:
+ * Shared/cairo/BackingStoreCairo.cpp:
+ Remove BackingStore::createFlippedGraphicsContext.
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Don't create a flipped graphics context.
+
+2010-12-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: Text in Find indicator is vertically flipped
+ https://bugs.webkit.org/show_bug.cgi?id=50524
+ <rdar://problem/8732978>
+
+ Don't flip the graphics context.
+
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+
+2010-12-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Dispatch keyboard events in the Carbon event model
+ https://bugs.webkit.org/show_bug.cgi?id=50503
+
+ * Shared/WebEvent.h:
+ (WebKit::WebKeyboardEvent::macCharCode):
+ * Shared/WebKeyboardEvent.cpp:
+ (WebKit::WebKeyboardEvent::WebKeyboardEvent):
+ (WebKit::WebKeyboardEvent::encode):
+ (WebKit::WebKeyboardEvent::decode):
+ Add macCharCode field.
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * Shared/win/WebEventFactory.cpp:
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ Pass along the Mac char code.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ Convert the event to a Carobn event.
+
+2010-12-03 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50504
+ Expose some more WebCore settings in WebKit2 preferences
+
+ * Shared/WebPreferencesStore.h:
+ Changed name of existing FOR_EACH_WEBKIT_STRING_PREFERENCE macro to
+ FOR_EACH_WEBKIT_FONT_FAMILY_PREFERENCE since it was all about platform-specific
+ font families, and I'm now introducing a non-platform-spacific string, and
+ I didn't want to put the new preference in two platform-specific lists. Then
+ added a new FOR_EACH_WEBKIT_STRING_PREFERENCE to hold the new preference. Note
+ that the other preferences exposed in this patch were already declared here.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetDefaultFontSize):
+ New wrapper.
+ (WKPreferencesGetDefaultFontSize):
+ Ditto.
+ (WKPreferencesSetDefaultFixedFontSize):
+ Ditto.
+ (WKPreferencesGetDefaultFixedFontSize):
+ Ditto.
+ (WKPreferencesSetDefaultTextEncodingName):
+ Ditto.
+ (WKPreferencesCopyDefaultTextEncodingName):
+ Ditto.
+
+ * UIProcess/API/C/WKPreferences.h:
+ Declare new wrappers.
+
+2010-12-05 Adam Roben <aroben@apple.com>
+
+ Windows production build fix
+
+ Put spaces after trailing backslashes when setting
+ %WebKitVSPropsRedirectionDir%. According to MSDN
+ <http://msdn.microsoft.com/en-us/library/2kzfk8c7(v=VS.80).aspx>:
+
+ A backslash ( \ ) followed by a newline character is interpreted as
+ a space in the command; use a backslash at the end of a line to
+ continue a command onto the next line. NMAKE interprets the
+ backslash literally if any other character, including a space or
+ tab, follows the backslash.
+
+ * win/WebKit2.make:
+
+2010-12-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ WebKit2: Need client functions to notify app when the url changes due to a fragment navigation
+ https://bugs.webkit.org/show_bug.cgi?id=50511
+
+ Pipe didChangeLocationWithinPageForFrame up through the UIProcess to the WKPageLoadClient,
+ updating the WebFrameProxy's URL on the way.
+
+ Test: PageLoadDidChangeLocationWithinPageForFrame
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didChangeURLWithoutNavigation):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didChangeLocationWithinPageForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeLocationWithinPageForFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect): Fix typo.
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
+
+2010-12-03 Timothy Hatcher <timothy@apple.com>
+
+ Make the Web Inspector window show and be usable on Mac.
+
+ https://webkit.org/b/50490
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::invalidate): Call platformClose.
+ (WebKit::WebInspectorProxy::didLoadInspectorPage): Call platformOpen.
+ (WebKit::WebInspectorProxy::didClose): Call platformClose.
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebInspectorProxy.messages.in: Added DidClose.
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (-[WebInspectorProxyObjCAdapter initWithWebInspectorProxy:]): Added.
+ (-[WebInspectorProxyObjCAdapter windowWillClose:]): Added. Call WebInspectorProxy::close.
+ (WebKit::WebInspectorProxy::platformOpen): Added.
+ (WebKit::WebInspectorProxy::platformClose): Added.
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ (WebKit::WebInspectorProxy::platformOpen): Added stub.
+ (WebKit::WebInspectorProxy::platformClose): Added stub.
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformOpen): Added stub.
+ (WebKit::WebInspectorProxy::platformClose): Added stub.
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ (WebKit::WebInspectorClient::sendMessageToFrontend): Added more null checks to avoid a crash.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::closeWindow): Call WebInspector::didClose.
+ (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Ditto.
+ (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Removed. This does not need to be
+ implemented by our subclass since we are in a single process.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Removed sendMessageToBackend.
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::didClose): Added. Send a DidClose message to the UI process.
+ * WebProcess/WebPage/WebInspector.h:
+
+2010-12-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig and Dan Bernstein.
+
+ Clean up the BackingStore implementation
+ https://bugs.webkit.org/show_bug.cgi?id=50498
+
+ * Shared/BackingStore.cpp:
+ (WebKit::BackingStore::create):
+ (WebKit::BackingStore::createSharable):
+ (WebKit::BackingStore::resize):
+ Use new numBytesForSize helper function.
+
+ (WebKit::BackingStore::createFlippedGraphicsContext):
+ Make this function platform independent.
+
+ * Shared/BackingStore.h:
+ (WebKit::BackingStore::numBytesForSize):
+ Given a size, return the number of bytes needed for it.
+
+ (WebKit::BackingStore::sizeInBytes):
+ Implement.
+
+ * Shared/cg/BackingStoreCG.cpp:
+ (WebKit::BackingStore::paint):
+ Don't use CGBitmapContextCreateImage; it creates an extra copy of the image data.
+
+ * Shared/qt/BackingStoreQt.cpp:
+ Remove createFlippedGraphicsContext.
+
+2010-12-03 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] [WK2] Build system improvements for non-Unix targets
+ https://bugs.webkit.org/show_bug.cgi?id=50257
+
+ * DerivedSources.pro:
+ Fix dir seperator errors on Windows build host. Thanks to Laszlo Gombos.
+
+2010-12-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Enable <a ping> for Mac/Windows/WebKit2 builds
+ <rdar://problem/8504473>
+ https://bugs.webkit.org/show_bug.cgi?id=50488
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetHyperlinkAuditingEnabled):
+ (WKPreferencesGetHyperlinkAuditingEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ Add "HyperlinkAuditing" preference and enabled it by default.
+
+2010-12-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by good sense in fixing builds.
+
+ Export the 4 new API headers I added today.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-12-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8725679> and https://bugs.webkit.org/show_bug.cgi?id=50482
+ Crash trying to empty caches with no WebProcess.
+
+ * Shared/WebProcessCreationParameters.h: Add the "clear this cache" flags.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::ensureWebProcess): If either of the clear cache flags are set when a new WebProcess is
+ created, include those flags in the parameters.
+ (WebKit::WebContext::clearResourceCaches): If the current process isn't valid, flag this action to be done later.
+ (WebKit::WebContext::clearApplicationCache): Ditto.
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess): Clear the caches if told to.
+
+2010-12-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Fix failing API test. The default san serif font on the mac
+ should be Helvetica, not Courier.
+
+ * Shared/WebPreferencesStore.h:
+
+2010-12-03 Jia Pu <jpu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need to move all code that applies correction into correction panel callback.
+ https://bugs.webkit.org/show_bug.cgi?id=50426
+ <rdar://problem/8720832>
+
+ Adopted new signature of dismissCorrectionPanel.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::dismissCorrectionPanel):
+
+2010-12-03 Jessie Berlin <jberlin@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ * win/WebKit2Generated.make:
+ Add the new API files from http://trac.webkit.org/changeset/73281.
+
+2010-12-03 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Groundwork for <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
+ WebKit2 Authentication Support
+
+ With this patch in place, authentication challenges are sent up from WebCore and shipped over the IPC layer.
+ Client apps can implement the related client methods to attempt to continue without credentials or cancel a
+ challenge.
+
+ There's not yet API to inspect a challenge or create a credential to use in reply - that will come later.
+
+ Build-system changes:
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+
+ Messages and casts for IPC and APIs:
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+
+ Stub out the AuthenticationChallenge class family:
+ * UIProcess/API/C/WKAuthenticationChallenge.cpp: Added.
+ (WKAuthenticationChallengeGetTypeID):
+ * UIProcess/API/C/WKAuthenticationChallenge.h: Added.
+ * UIProcess/API/C/WKCredential.cpp: Added.
+ (WKCredentialGetTypeID):
+ * UIProcess/API/C/WKCredential.h: Added.
+ * UIProcess/API/C/WKProtectionSpace.cpp: Added.
+ (WKProtectionSpaceGetTypeID):
+ * UIProcess/API/C/WKProtectionSpace.h: Added.
+
+ Add an Authentication listener for the client app to respond to:
+ * UIProcess/API/C/WKAuthenticationDecisionListener.cpp: Added.
+ (WKAuthenticationDecisionListenerGetTypeID):
+ (WKAuthenticationDecisionListenerUseCredential):
+ (WKAuthenticationDecisionListenerCancel):
+ * UIProcess/API/C/WKAuthenticationDecisionListener.h: Added.
+
+ Add Authentication related methods to the page loader client:
+ * UIProcess/API/C/WKPage.h:
+
+ Add empty implementations of the new API objects:
+ * UIProcess/Authentication: Added.
+ * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: Added.
+ (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
+ (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
+ (WebKit::AuthenticationChallengeProxy::useCredential):
+ (WebKit::AuthenticationChallengeProxy::cancel):
+ * UIProcess/Authentication/AuthenticationChallengeProxy.h: Added.
+ (WebKit::AuthenticationChallengeProxy::create):
+ (WebKit::AuthenticationChallengeProxy::listener):
+ (WebKit::AuthenticationChallengeProxy::type):
+
+ * UIProcess/Authentication/WebCredential.cpp: Added.
+ (WebKit::WebCredential::core):
+ * UIProcess/Authentication/WebCredential.h: Added.
+ (WebKit::WebCredential::create):
+ (WebKit::WebCredential::type):
+ * UIProcess/Authentication/WebProtectionSpace.cpp: Added.
+ (WebKit::WebProtectionSpace::WebProtectionSpace):
+ * UIProcess/Authentication/WebProtectionSpace.h: Added.
+ (WebKit::WebProtectionSpace::create):
+ (WebKit::WebProtectionSpace::type):
+
+ Add implementation of the Authentication decision listener:
+ * UIProcess/Authentication/AuthenticationDecisionListener.cpp: Added.
+ (WebKit::AuthenticationDecisionListener::AuthenticationDecisionListener):
+ (WebKit::AuthenticationDecisionListener::useCredential):
+ (WebKit::AuthenticationDecisionListener::cancel):
+ (WebKit::AuthenticationDecisionListener::detachChallenge):
+ * UIProcess/Authentication/AuthenticationDecisionListener.h: Added.
+ (WebKit::AuthenticationDecisionListener::create):
+ (WebKit::AuthenticationDecisionListener::type):
+
+ WebPage and PageLoaderClient glue:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
+ (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
+ (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ Add a manager to map the actual platform authentication challenges to a challenge ID,
+ as at least some platforms require the object identity to persist:
+ * WebProcess/Authentication: Added.
+ * WebProcess/Authentication/AuthenticationManager.cpp: Added.
+ (WebKit::generateAuthenticationChallengeID):
+ (WebKit::AuthenticationManager::shared):
+ (WebKit::AuthenticationManager::AuthenticationManager):
+ (WebKit::AuthenticationManager::didReceiveMessage):
+ (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
+ (WebKit::AuthenticationManager::useCredentialForChallenge):
+ (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
+ (WebKit::AuthenticationManager::cancelChallenge):
+ * WebProcess/Authentication/AuthenticationManager.h: Added.
+ * WebProcess/Authentication/AuthenticationManager.messages.in: Added.
+
+ Hand off Authentication challenges to the manager to be sent over IPC:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
+ (WebKit::WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
+
+ * UIProcess/API/qt/qwkpage.cpp:
+
+2010-12-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Flip the destination context when painting a backing store into the destination
+ https://bugs.webkit.org/show_bug.cgi?id=50491
+
+ * Shared/cg/BackingStoreCG.cpp:
+ (WebKit::BackingStore::paint):
+
+2010-12-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ The chunked update drawing area is flipped twice when drawing
+ https://bugs.webkit.org/show_bug.cgi?id=50465
+ <rdar://problem/8726836>
+
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::platformPaint):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ Flip the destination contexts, thus unflipping them. (Turns out two wrongs make a right here).
+
+2010-12-03 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need a WebKit2 Equivalent of WebSecurityOrigin
+ https://bugs.webkit.org/show_bug.cgi?id=50170
+
+ * Shared/API/c/WKBase.h:
+ Add the WKSecurityOriginRef typedef.
+
+ * Shared/APIObject.h:
+ Add the SecurityOrigin type as a Shared type.
+
+ * Shared/API/c/WKSharedAPICast.h::
+ Add the mapping between WKSecurityOriginRef and WebSecurityOrigin.
+
+ * UIProcess/API/C/WKSecurityOrigin.cpp: Added.
+ (WKSecurityOriginGetTypeID):
+ (WKSecurityOriginCreate):
+ (WKSecurityOriginGetProtocol):
+ (WKSecurityOriginGetHost):
+ (WKSecurityOriginGetPort):
+ * UIProcess/API/C/WKSecurityOrigin.h: Added.
+
+ * UIProcess/WebSecurityOrigin.h: Added.
+ (WebKit::WebSecurityOrigin::create):
+ Create based on the database identifier, which contains the protocol, host and port.
+ (WebKit::WebSecurityOrigin::protocol):
+ (WebKit::WebSecurityOrigin::host):
+ (WebKit::WebSecurityOrigin::port):
+ (WebKit::WebSecurityOrigin::databaseIdentifier):
+ (WebKit::WebSecurityOrigin::WebSecurityOrigin):
+ (WebKit::WebSecurityOrigin::type):
+
+ * WebKit2.pro:
+ Add WKSecurityOrigin.cpp/.h.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add the WebSecurityOrigin.h and WKSecurityOrigin.cpp/.h.
+
+ * win/WebKit2Generated.make:
+ Make sure WKSecurityOrigin.h file gets copied over to the WebKitBuild directory on Windows.
+
+2010-12-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Fix compilation with !ENABLE(OFFLINE_WEB_APPLICATIONS) and
+ !ENABLE(TILED_BACKING_STORE) for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50071
+
+ Add appropriate guards. No functional change if guards are set.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setActualVisibleContentsRect):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::applicationCacheDirectory):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+
+2010-12-02 Sam Weinig <sam@webkit.org>
+
+ Fix Qt.
+
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ (QWKPreferencesPrivate::createPreferences):
+
+2010-12-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 Preferences should be held off the PageGroup, not the Context
+ https://bugs.webkit.org/show_bug.cgi?id=50414
+
+ - In addition, this now makes the preference held off the PageGroup have
+ the identifier of the PageGroup and autosave to disk (only on the mac
+ for now).
+ - Adds ability to create an arbitrary preference that can be autosaved
+ via a new WKPreferencesCreateWithIdentifier function.
+
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKContext.h:
+ Remove preference related code.
+
+ * UIProcess/API/C/WKPageGroup.cpp:
+ (WKPageGroupSetPreferences):
+ (WKPageGroupGetPreferences):
+ * UIProcess/API/C/WKPageGroup.h:
+ Add getter/setter for preferences.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesCreateWithIdentifier):
+ * UIProcess/API/C/WKPreferences.h:
+ Add WKPreferencesCreateWithIdentifier and remove WKPreferencesCreateCopy which is
+ unused.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::~WebContext):
+ * UIProcess/WebContext.h:
+ Remove preference related code.
+
+ * UIProcess/WebPageGroup.cpp:
+ (WebKit::WebPageGroup::WebPageGroup):
+ (WebKit::WebPageGroup::addPage):
+ (WebKit::WebPageGroup::removePage):
+ (WebKit::WebPageGroup::setPreferences):
+ (WebKit::WebPageGroup::preferences):
+ (WebKit::WebPageGroup::preferencesDidChange):
+ * UIProcess/WebPageGroup.h:
+ Add preference and page tracking.
+
+ * UIProcess/WebPageNamespace.cpp:
+ * UIProcess/WebPageNamespace.h:
+ Remove preference change notification code.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::~WebPageProxy):
+ Add/remove self from page group set.
+
+ (WebKit::WebPageProxy::preferencesDidChange):
+ (WebKit::WebPageProxy::creationParameters):
+ Get preferences from the pageGroup.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::WebPreferences):
+ (WebKit::WebPreferences::addPageGroup):
+ (WebKit::WebPreferences::removePageGroup):
+ (WebKit::WebPreferences::update):
+ * UIProcess/WebPreferences.h:
+ (WebKit::WebPreferences::create):
+ Change to track page groups instead of contexts.
+
+ * UIProcess/mac/WebPreferencesMac.mm:
+ (WebKit::makeKey): Add ".WebKit2" prefix for keys.
+
+2010-12-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Flash videos on YouTube flicker
+ https://bugs.webkit.org/show_bug.cgi?id=50409
+ <rdar://problem/8668757>
+
+ When painting from a backing store, we need to add the source location
+ to the destination point.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::paint):
+ (WebKit::PluginProxy::update):
+
+2010-12-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 needs API to turn on popup blocking
+ https://bugs.webkit.org/show_bug.cgi?id=50407
+
+ Pipe-through a preference for javascript being able to open
+ windows without user gesture.
+
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetJavaScriptCanOpenWindowsAutomatically):
+ (WKPreferencesGetJavaScriptCanOpenWindowsAutomatically):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2010-12-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Plug-ins should be able to update the mouse cursor
+ https://bugs.webkit.org/show_bug.cgi?id=50399
+
+ Call WKEnableSettingCursorWhenInBackground.
+
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+
+2010-12-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50368
+ Overhaul WebKit2 preferences code
+
+ - Reduces the number of places you have to touch to add a new preference
+ (From 9 down to 4, but with a bit of elbow grease, we should get that
+ down to 2 or 3).
+ - Add hooks so that platforms can initialize the preferences based on an
+ identifier. This is currently only used on the Mac to initialize a
+ preference store from NSUserDefaults and autosave the changes to disk.
+ It is not yet enabled due to no way to set the identifier from client
+ code.
+
+ * Shared/WebPageCreationParameters.cpp:
+ Add necessary #include of WebCoreArgumentCoders.h which is now needed
+ due to cleanup in WebPreferencesStore.h.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ (WebKit::defaultValueForKey):
+ (WebKit::setValueForKey):
+ (WebKit::valueForKey):
+ (WebKit::WebPreferencesStore::setStringValueForKey):
+ (WebKit::WebPreferencesStore::getStringValueForKey):
+ (WebKit::WebPreferencesStore::setBoolValueForKey):
+ (WebKit::WebPreferencesStore::getBoolValueForKey):
+ (WebKit::WebPreferencesStore::setUInt32ValueForKey):
+ (WebKit::WebPreferencesStore::getUInt32ValueForKey):
+ * Shared/WebPreferencesStore.h:
+ Complete overhaul of this class to store the preferences as
+ a set of HashMaps and use macros to define the keys and default
+ values.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesGetFontSmoothingLevel):
+ Add cast to keep conversion function working.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::WebPreferences): Add identifier constructor.
+ (WebKit::WebPreferences::updateStringValueForKey):
+ (WebKit::WebPreferences::updateBoolValueForKey):
+ (WebKit::WebPreferences::updateUInt32ValueForKey):
+ Add type based updaters. These currently give hooks to the platform and
+ call the generic update, but in the future, we can use this to optimize
+ updating preferences to not send the entire store for each change.
+
+ * UIProcess/WebPreferences.h:
+ Generate the getters and setters via macro instantiation.
+
+ * UIProcess/cf/WebPreferencesCF.cpp: Added.
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ Stubbed out.
+
+ * UIProcess/mac/WebPreferencesMac.mm: Added.
+ (WebKit::makeKey):
+ (WebKit::setStringValueIfInUserDefaults):
+ (WebKit::setBoolValueIfInUserDefaults):
+ (WebKit::setUInt32ValueIfInUserDefaults):
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ Use the platform hooks to initialize and update the store from
+ NSUserDefaults.
+
+ * UIProcess/qt/WebPreferencesQt.cpp: Added.
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ Stubbed out.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ Update to pull the value using the new type based getters.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-12-02 Steve Falkenburg <sfalken@apple.com>
+
+ Mac build fix.
+
+ * WebProcess/WebKitMain.cpp:
+ (enableDataExecutionPrevention):
+
+2010-11-30 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement RunLoop, WorkQueue, Connection classes for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48507
+
+ * Platform/CoreIPC/Connection.h: UNIX_X11 specific changes for GTK port.
+ (CoreIPC::Connection::messageProcessingCompleted):
+ * Platform/CoreIPC/gtk: Added.
+ * Platform/CoreIPC/gtk/ConnectionGtk.cpp: Added. Connection class implementation for GTK port (UNIX_X11 specific).
+ (CoreIPC::readBytesFromSocket):
+ (CoreIPC::writeBytesToSocket):
+ (CoreIPC::Connection::platformInitialize):
+ (CoreIPC::Connection::platformInvalidate):
+ (CoreIPC::Connection::processCompletedMessage):
+ (CoreIPC::Connection::readEventHandler):
+ (CoreIPC::Connection::open):
+ (CoreIPC::Connection::platformCanSendOutgoingMessages):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Platform/PlatformProcessIdentifier.h: UNIX_X11 specific changes for GTK port.
+ * Platform/RunLoop.h: GTK port specific changes.
+ * Platform/WorkQueue.h: GTK port specific changes.
+ * Platform/gtk/RunLoopGtk.cpp: Added. Runs an event loop using GMainLoop and handles the incoming messages.
+ (RunLoop::RunLoop):
+ (RunLoop::~RunLoop):
+ (RunLoop::run):
+ (RunLoop::mainLoop):
+ (RunLoop::stop):
+ (RunLoop::queueWork):
+ (RunLoop::wakeUp):
+ (RunLoop::TimerBase::TimerBase):
+ (RunLoop::TimerBase::~TimerBase):
+ (RunLoop::TimerBase::resetTimerSource):
+ (RunLoop::TimerBase::oneShotTimerFired):
+ (RunLoop::TimerBase::repeatingTimerFired):
+ (RunLoop::TimerBase::start):
+ (RunLoop::TimerBase::stop):
+ (RunLoop::TimerBase::isActive):
+ * Platform/gtk/WorkQueueGtk.cpp: Added. Creates a thread and polls on a given fd using GIOChannel.
+ Dispatches the obtained messages to RunLoop's GMainLoop.
+ (WorkQueue::EventSource::EventSource):
+ (WorkQueue::EventSource::dispatchSource):
+ (WorkQueue::EventSource::performWorkOnce):
+ (WorkQueue::EventSource::performWork):
+ (WorkQueue::EventSource::deleteEventSource):
+ (WorkQueue::platformInitialize):
+ (WorkQueue::platformInvalidate):
+ (WorkQueue::startWorkQueueThread):
+ (WorkQueue::workQueueThreadBody):
+ (WorkQueue::registerEventSourceHandler):
+ (WorkQueue::unregisterEventSourceHandler):
+ (WorkQueue::scheduleWork):
+
+2010-12-02 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move enableExecutionPrevention to WebKitMain
+ https://bugs.webkit.org/show_bug.cgi?id=50392
+
+ * WebProcess/WebKitMain.cpp:
+ (enableDataExecutionPrevention):
+ (WebKitMain):
+ * WebProcess/win/WebProcessMainWin.cpp:
+ (WebKit::WebProcessMain):
+
+2010-12-02 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Enable DEP at runtime to allow for compatibility with older versions of ATL
+ https://bugs.webkit.org/show_bug.cgi?id=50378
+
+ * WebProcess/win/WebProcessMainWin.cpp:
+ (WebKit::enableDataExecutionPrevention):
+ (WebKit::WebProcessMain):
+ * win/WebKit2WebProcessCommon.vsprops:
+
+2010-12-01 Sam Weinig <sam@webkit.org>
+
+ Fix 64-bit build.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowAndViewFramesChanged):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Give the fake Carbon window the right bounds
+ https://bugs.webkit.org/show_bug.cgi?id=50361
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowAndViewFramesChanged):
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/PluginControllerProxy.messages.in:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateWindowAndViewFrames]):
+ Pass both the window frame and view frame along.
+
+ (-[WKView renewGState]):
+ Call _updateWindowAndViewFrames.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::windowAndViewFramesChanged):
+ Pass both the window frame and view frame along.
+
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ We don't want a title bar in our fake window.
+
+ (WebKit::computeFakeWindowBoundsRect):
+ Compute the fake window bounds.
+
+ (WebKit::NetscapePlugin::windowAndViewFramesChanged):
+ Update the fake window bounds.
+
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::windowAndViewFramesChanged):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::windowAndViewFramesChanged):
+ (WebKit::PluginView::initializePlugin):
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::windowAndViewFramesChanged):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::windowFrameInScreenCoordinates):
+ (WebKit::WebPage::viewFrameInWindowCoordinates):
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pass both the window frame and view frame along.
+
+2010-12-01 Jia Pu <jpu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Support multiple correction candidates panel for misspelled word on Mac OS X.
+ https://bugs.webkit.org/show_bug.cgi?id=50137
+ <rdar://problem/8568059>
+
+ Adopted new function signatures defined in base class.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::getGuessesForWord):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::showCorrectionPanel):
+
+2010-12-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Hit testing broken on sibling views of the WKView
+ <rdar://problem/8718397>
+
+ Make sure that hitView is not null when comparing with the
+ _layerHostingView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView hitTest:]):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement the remaining PluginController/Plugin member functions
+ https://bugs.webkit.org/show_bug.cgi?id=50356
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::cancelStreamLoad):
+ (WebKit::PluginControllerProxy::cancelManualStreamLoad):
+ (WebKit::PluginControllerProxy::setStatusbarText):
+ (WebKit::PluginControllerProxy::pluginProcessCrashed):
+ (WebKit::PluginControllerProxy::frameDidFinishLoading):
+ (WebKit::PluginControllerProxy::frameDidFail):
+ (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
+ (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
+ (WebKit::PluginControllerProxy::manualStreamDidFinishLoading):
+ (WebKit::PluginControllerProxy::manualStreamDidFail):
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/PluginControllerProxy.messages.in:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::frameDidFinishLoading):
+ (WebKit::PluginProxy::frameDidFail):
+ (WebKit::PluginProxy::manualStreamDidReceiveResponse):
+ (WebKit::PluginProxy::manualStreamDidReceiveData):
+ (WebKit::PluginProxy::manualStreamDidFinishLoading):
+ (WebKit::PluginProxy::manualStreamDidFail):
+ (WebKit::PluginProxy::windowFrameChanged):
+ (WebKit::PluginProxy::cancelStreamLoad):
+ (WebKit::PluginProxy::cancelManualStreamLoad):
+ (WebKit::PluginProxy::setStatusbarText):
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginProxy.messages.in:
+
+2010-12-01 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WinCairo build should not use link-time code generation (LTCG)
+ https://bugs.webkit.org/show_bug.cgi?id=50353
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig..
+
+ Fix <rdar://problem/8717674>.
+
+ * WebProcess/com.apple.WebProcess.sb:
+ Allow the UI process to issue file-write extensions.
+
+2010-12-01 Sam Weinig <sam@webkit.org>
+
+ Another windows build fix.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate):
+
+2010-12-01 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix Windows build.
+
+ * UIProcess/API/C/win/WKViewPrivate.cpp:
+ * UIProcess/API/C/win/WKViewPrivate.h:
+
+2010-12-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add PageGrouping to WebKit2 API
+ https://bugs.webkit.org/show_bug.cgi?id=50332
+
+ - Adds WKPageGroupRef and WKBundlePageGroupRef API objects
+ (backed by WebPageGroup and WebPageGroupProxy respectively).
+ - Moves visibleToInjectedBundle from page to PageGroup.
+ - Make userScript/userStyleSheet functions take a page group parameter.
+
+ * Shared/API/c/WKBase.h:
+ * Shared/APIObject.h:
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ * Shared/WebPageGroupData.cpp: Added.
+ (WebKit::WebPageGroupData::encode):
+ (WebKit::WebPageGroupData::decode):
+ * Shared/WebPageGroupData.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetPageGroup):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPageGroup.cpp: Added.
+ (WKPageGroupGetTypeID):
+ (WKPageGroupCreateWithIdentifier):
+ (WKPageGroupCopyIdentifier):
+ * UIProcess/API/C/WKPageGroup.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate):
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:pageGroupRef:]):
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::createWebPage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextUserMessageCoders.h:
+ (WebKit::WebContextUserMessageEncoder::encode):
+ (WebKit::WebContextUserMessageDecoder::decode):
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::inspectorPageGroup):
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebPageGroup.cpp: Added.
+ (WebKit::generatePageGroupID):
+ (WebKit::webPageGroupMap):
+ (WebKit::WebPageGroup::create):
+ (WebKit::WebPageGroup::get):
+ (WebKit::WebPageGroup::WebPageGroup):
+ (WebKit::WebPageGroup::~WebPageGroup):
+ * UIProcess/WebPageGroup.h: Added.
+ (WebKit::WebPageGroup::identifier):
+ (WebKit::WebPageGroup::pageGroupID):
+ (WebKit::WebPageGroup::data):
+ (WebKit::WebPageGroup::type):
+ * UIProcess/WebPageNamespace.cpp:
+ (WebKit::WebPageNamespace::createWebPage):
+ * UIProcess/WebPageNamespace.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::create):
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::pageGroup):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createWebPage):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleAddUserScript):
+ (WKBundleAddUserStyleSheet):
+ (WKBundleRemoveUserScript):
+ (WKBundleRemoveUserStyleSheet):
+ (WKBundleRemoveUserScripts):
+ (WKBundleRemoveUserStyleSheets):
+ (WKBundleRemoveAllUserContent):
+ (WKBundleOverrideXSSAuditorEnabledForTestRunner):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetPageGroup):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp: Added.
+ (WKBundlePageGroupGetTypeID):
+ (WKBundlePageGroupCopyIdentifier):
+ * WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
+ (WebKit::InjectedBundle::addUserScript):
+ (WebKit::InjectedBundle::addUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScript):
+ (WebKit::InjectedBundle::removeUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScripts):
+ (WebKit::InjectedBundle::removeUserStyleSheets):
+ (WebKit::InjectedBundle::removeAllUserContent):
+ (WebKit::InjectedBundle::didInitializePageGroup):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
+ (WebKit::InjectedBundleClient::didInitializePageGroup):
+ * WebProcess/InjectedBundle/InjectedBundleClient.h:
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
+ (WebKit::InjectedBundleUserMessageEncoder::encode):
+ (WebKit::InjectedBundleUserMessageDecoder::decode):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create):
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::close):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::pageGroup):
+ * WebProcess/WebPage/WebPageGroupProxy.cpp: Added.
+ (WebKit::WebPageGroupProxy::create):
+ (WebKit::WebPageGroupProxy::~WebPageGroupProxy):
+ * WebProcess/WebPage/WebPageGroupProxy.h: Added.
+ (WebKit::WebPageGroupProxy::identifier):
+ (WebKit::WebPageGroupProxy::pageGroupID):
+ (WebKit::WebPageGroupProxy::isVisibleToInjectedBundle):
+ (WebKit::WebPageGroupProxy::WebPageGroupProxy):
+ (WebKit::WebPageGroupProxy::type):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::webPageGroup):
+ * WebProcess/WebProcess.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-12-01 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ vcproj changes can't be applied cleanly by the Windows EWS bot
+ https://bugs.webkit.org/show_bug.cgi?id=50328
+
+ * win/WebKit2.submit.sln: Added property svn:eol-style.
+ * win/WebKit2.vcproj: Added property svn:eol-style.
+ * win/WebKit2Apple.vsprops: Added property svn:eol-style.
+ * win/WebKit2CFLite.vsprops: Added property svn:eol-style.
+ * win/WebKit2Common.vsprops: Added property svn:eol-style.
+ * win/WebKit2DirectX.vsprops: Added property svn:eol-style.
+ * win/WebKit2Generated.vcproj: Added property svn:eol-style.
+ * win/WebKit2GeneratedCommon.vsprops: Added property svn:eol-style.
+ * win/WebKit2WebProcess.vcproj: Added property svn:eol-style.
+ * win/WebKit2WebProcessCommon.vsprops: Added property svn:eol-style.
+
+2010-12-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Size changes on layer-backed drawing areas don't always end up with the correct value
+ https://bugs.webkit.org/show_bug.cgi?id=50351
+ <rdar://problem/8692966>
+
+ When the UI process does not receive didSetSize messages promptly,
+ LayerBackedDrawingAreaProxy::setSize() bails early based on the
+ m_isWaitingForDidSetFrameNotification flag.
+
+ In this situation, the final size may be incorrect. didSetSize()
+ needs to compare the size that the web process has to the expected size,
+ and send a final setSize if they differ.
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::didSetSize):
+ (WebKit::LayerBackedDrawingAreaProxy::didReceiveMessage):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::setSize):
+
+2010-12-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Crash when closing WebKit2 window with accelerated composting content
+ https://bugs.webkit.org/show_bug.cgi?id=50307
+ <rdar://problem/8640126>
+
+ When the web page is closing, notify the drawing area, so that
+ the layer-backed drawing area can kill the runloop obsever,
+ then clear it. Clearing it is not sufficient, since the drawing
+ area is ref-counted.
+
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::onPageClose):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ (WebKit::LayerBackedDrawingArea::onPageClose):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Return a correct user agent if NPN_UserAgent is called with a null NPP from NPP_New.
+ https://bugs.webkit.org/show_bug.cgi?id=50336
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_UserAgent):
+ Call the static NetscapePlugin::userAgent function instead.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::userAgent):
+ If the passed in NPP is null, get the NetscapePlugin currently executing NPP_New.
+
+ (WebKit::NetscapePlugin::initialize):
+ Keep track of the plug-in currently executing NPP_New.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+
+2010-12-01 Brian Weinstein <bweinstein@apple.com>
+
+ One last Windows build fix.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/win/WebView.h:
+
+2010-12-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Andreas Kling.
+
+ Get rid of DrawingAreaBase
+ https://bugs.webkit.org/show_bug.cgi?id=50329
+
+ * Scripts/webkit2/messages.py:
+ * Shared/DrawingAreaInfo.h:
+ (WebKit::DrawingAreaInfo::DrawingAreaInfo):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaInfo::]):
+ (-[WKView _pageDidEnterAcceleratedCompositing]):
+ (-[WKView _pageDidLeaveAcceleratedCompositing]):
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::takeSnapshot):
+ (QGraphicsWKViewPrivate::commitScale):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ (WebKit::DrawingAreaProxy::nextIdentifier):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::info):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
+ (WebKit::LayerBackedDrawingAreaProxy::setSize):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeAcceleratedCompositing):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ (WebKit::DrawingArea::DrawingArea):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::info):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::TiledDrawingArea):
+ * WebProcess/WebPage/TiledDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+
+2010-11-30 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed speculative build fix for Windows.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+ * UIProcess/win/WebView.h:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Fix Qt build.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::takeSnapshot):
+ (QGraphicsWKViewPrivate::commitScale):
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Change DrawingArea and DrawingAreaProxy to not inherit from DrawingAreaBase
+ https://bugs.webkit.org/show_bug.cgi?id=50300
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaBase::]):
+ (-[WKView _pageDidEnterAcceleratedCompositing]):
+ (-[WKView _pageDidLeaveAcceleratedCompositing]):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ (WebKit::DrawingAreaProxy::nextDrawingAreaID):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::info):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::LayerBackedDrawingAreaProxy):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ (WebKit::DrawingArea::DrawingArea):
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::info):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::TiledDrawingArea):
+ * WebProcess/WebPage/TiledDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+
+2010-11-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Context menus broken after WebKit2 goes into accelerated composting mode.
+ https://bugs.webkit.org/show_bug.cgi?id=50296
+
+ Override hitTest: on the WKView to exclude the child layer-backed view from
+ hit testing, so that context menus work.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView hitTest:]):
+
+2010-11-30 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Build fix.
+
+ * Configurations/BaseTarget.xcconfig: Don't run Copy Files and Run Script build phases
+ during installhdrs. It's not necessary, and it results in Xcode attempting to copy the
+ plug-in shim dylib when it has not yet been built.
+ * WebKit2.xcodeproj/project.pbxproj: Stop copying the .xcconfig file in to the application
+ wrapper.
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * Scripts/webkit2/messages.py:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename DrawingAreaBase.h to DrawingAreaInfo.h.
+
+ * Shared/DrawingAreaInfo.h: Renamed from WebKit2/Shared/DrawingAreaBase.h.
+ (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
+ (WebKit::DrawingAreaBase::~DrawingAreaBase):
+ (WebKit::DrawingAreaBase::info):
+ (WebKit::DrawingAreaBase::DrawingAreaBase):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/DrawingArea.h:
+ * win/WebKit2.vcproj:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * PluginProcess/mac/PluginProcessShim.cpp:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add a simple shim function for Debugger().
+ https://bugs.webkit.org/show_bug.cgi?id=50268
+
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::initShouldCallRealDebugger):
+ We only want to call the real Debugger() function when USERBREAK is set.
+
+ (WebKit::shouldCallRealDebugger):
+ Return whether USERBREAK is set.
+
+ (WebKit::PluginProcess::initializeShim):
+ Initialize the shim.
+
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+ Call PluginProcess::initializeShim.
+
+ * PluginProcess/mac/PluginProcessShim.cpp:
+ (WebKit::WebKitPluginProcessShimInitialize):
+ This now takes a struct of callbacks.
+
+ (WebKit::shimDebugger):
+ Call the shouldCallDebugger function. If it returns true, the real Debugger() function should be called.
+
+ * PluginProcess/mac/PluginProcessShim.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass the plug-in process shim in DYLD_INSERT_LIBRARIES when launching the plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=50262
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ Add an EnvironmentVariables class that allows for easy modification of the environment variables
+ passed to posix_spawn.
+
+ (WebKit::ProcessLauncher::launchProcess):
+ When spawning the plug-in process, insert the plug-in process shim.
+
+2010-11-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add plug-in process shim
+ https://bugs.webkit.org/show_bug.cgi?id=50261
+
+ * Configurations/PluginProcessShim.xcconfig: Added.
+ * PluginProcess/mac/PluginProcessShim.cpp: Added.
+ (PluginProcessShimInitialize):
+ * PluginProcess/mac/PluginProcessShim.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-30 Brian Weinstein <bweinstein@apple.com>
+
+ Fix the Windows build by copying WKFindOptions.h into WebKitOutputDir with the other headers.
+
+ * win/WebKit2Generated.make:
+
+2010-11-30 Dan Bernstein <mitz@apple.com>
+
+ Try to fix the Windows build.
+
+ * win/WebKit2.vcproj:
+
+2010-11-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Injected bundle support for <rdar://problem/8710645> WebKitTestRunner needs layoutTestController.findString
+ https://bugs.webkit.org/show_bug.cgi?id=50238
+
+ * Shared/API/c/WKFindOptions.h: Added. Moved the definition of WKFindOptions here from WKPage.h.
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toFindOptions): Moved from WKAPICast.h.
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.h:
+ * WebKit2.xcodeproj/project.pbxproj: Added WKFindOptions.h.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageFindString): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::findStringFromInjectedBundle): Added.
+ * WebProcess/WebPage/WebPage.h:
+
+2010-11-30 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Dirk Schulze.
+
+ GraphicsContext: Remove "current path" and have strokePath, fillPath and clipPath take a Path argument
+ https://bugs.webkit.org/show_bug.cgi?id=48516
+
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+
+2010-11-30 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ All projects on Windows should use cmd files for build events
+ https://bugs.webkit.org/show_bug.cgi?id=50213
+
+ * win/WebKit2Common.vsprops:
+ * win/WebKit2WebProcessCommon.vsprops:
+ * win/WebKit2WebProcessPostBuild.cmd: Added.
+ * win/WebKit2WebProcessPreBuild.cmd: Added.
+ * win/WebKitPostBuild.cmd: Added.
+ * win/WebKitPreBuild.cmd: Added.
+ * win/WebKitPreLink.cmd: Added.
+
+2010-11-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Early return if setResizesToContentsUsingLayoutSize() is called with already-set size
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
+
+2010-11-29 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2 part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
+ https://bugs.webkit.org/show_bug.cgi?id=50038
+ Based on a patch from Darin Adler.
+
+ * Shared/WebFindOptions.h: Renamed FindOptions.h to this to account for WebCore’s new private
+ FindOptions.h. Added and reordered FindOptions and rolled FindDirection into FindOptions.
+ * UIProcess/API/C/WKAPICast.h: Removed toFindDirection().
+ (WebKit::toFindOptions): Updated for new values.
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageFindString): Removed separate WKFindDirection.
+ (WKPageCountStringMatches): Replaces caseInsensitive boolean with WKFindOptions.
+ * UIProcess/API/C/WKPage.h: Removed WKFindDirection and updated WKFindOptions.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::findString): Removed separate FindDirection.
+ (WebKit::WebPageProxy::countStringMatches): Replaced caseInsensitive boolean with FindOptions.
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.xcodeproj/project.pbxproj: Updated for the header rename.
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::core): Added. Converts WebKit2 FindOptions to WebCore FindOptions.
+ (WebKit::FindController::countStringMatches): Changed to use FindOptions.
+ (WebKit::FindController::findString): Ditto.
+ * WebProcess/WebPage/FindController.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::findString): Ditto.
+ (WebKit::WebPage::countStringMatches): Ditto.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Ditto.
+
+2010-11-29 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * win/WebKit2.vcproj: Add missing vsprops association for
+ Debug_Cairo_CFLite target.
+
+2010-11-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cursor does not always change back to arrow when exiting image document
+ https://bugs.webkit.org/show_bug.cgi?id=50190
+ <rdar://problem/8665265>
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::mouseEventTypeForEvent):
+ (WebKit::globalPointForEvent):
+ (WebKit::pointForEvent):
+ Handle the NSMouseEntered and NSMouseExited events.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]):
+ We want entered and exited events for this tracking area.
+ Add mouseEntered and mouseExited handlers.
+
+2010-11-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Should be able to pause and resume downloads
+ https://bugs.webkit.org/show_bug.cgi?id=50185
+ <rdar://problem/8691135>
+
+ * UIProcess/API/C/WKContext.h:
+ Add didCancel callback.
+
+ * UIProcess/API/C/WKDownload.cpp:
+ (WKDownloadGetResumeData):
+ (WKDownloadCancel):
+ Call the respective DownloadProxy member functions.
+
+ * UIProcess/API/C/WKDownload.h:
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::cancel):
+ Send Cancel to the WebProcess.
+
+ (WebKit::DownloadProxy::didFail):
+ This now takes a resumeData reference.
+
+ (WebKit::DownloadProxy::didCancel):
+ Set the resume data and call didCancel.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ (WebKit::DownloadProxy::resumeData):
+ Return the resume data.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add DidCancel message, Add resume data to DidFail.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::didCancel):
+ Call the didCancel context client function.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didFail):
+ This now takes a resume data argument as well.
+
+ (WebKit::Download::didCancel):
+ Send DidCancel.
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::cancelDownload):
+ Look up the download and cancel it.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::cancel):
+ Add stub.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::cancel):
+ Cancel the download.
+
+ (-[WKDownloadAsDelegate download:didFailWithError:]):
+ Pass the resume data along.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::cancel):
+ Add stub.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::cancelDownload):
+ Ask the download manager to cancel the download.
+
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ Add CancelDownload message.
+
+2010-11-29 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ [WK2] Support repeating timers
+ https://bugs.webkit.org/show_bug.cgi?id=50024
+
+ Added boolean member for TimerBase on PLATFORM(WIN)
+ and PLATFORM(QT) to be able to differentiate between
+ repeating and one shot operating mode. Change the confusing
+ signature of TimerBase::start: use a bool for selecting
+ operating mode.
+ * Platform/RunLoop.h:
+ (RunLoop::TimerBase::startRepeating):
+ (RunLoop::TimerBase::startOneShot):
+ * Platform/mac/RunLoopMac.mm:
+ (RunLoop::TimerBase::start):
+ * Platform/qt/RunLoopQt.cpp:
+ (RunLoop::TimerBase::timerFired): Only stop the timer if it
+ is not in repeating mode.
+ (RunLoop::TimerBase::TimerBase):
+ (RunLoop::TimerBase::start):
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::timerFired): Only stop the timer if it
+ is not in repeating mode.
+ (RunLoop::TimerBase::TimerBase):
+ (RunLoop::TimerBase::start):
+
+2010-11-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Downloads: When the web process crashes, call error callbacks for pending downloads
+ https://bugs.webkit.org/show_bug.cgi?id=50164
+ <rdar://problem/8691170>
+
+ * UIProcess/API/C/WKContext.h:
+ Add processDidCrash callback.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::~DownloadProxy):
+ Assert that the web context is null.
+
+ (WebKit::DownloadProxy::processDidClose):
+ Call the processDidCrash callback.
+
+ (WebKit::DownloadProxy::didFinish):
+ (WebKit::DownloadProxy::didFail):
+ Call downloadFinished.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidClose):
+ Call processDidClose on all pending downloads.
+
+ (WebKit::WebContext::downloadFinished):
+ Remove the download proxy from the map.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::processDidCrash):
+ Call the processDidCrash callback function.
+
+2010-11-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Allow pre-generation for package builds for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=50139
+
+ Use a build variable for the generated directory path and set the
+ value based on CONFIG just like for WebKit1.
+
+ For non-package builds use a relative base path for the
+ genrated directory just like for WebKit1.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+
+2010-11-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Move some build logic from Qt to platform independent code
+ https://bugs.webkit.org/show_bug.cgi?id=50134
+
+ Remove the creation of the directories under $$OUTPUT_DIR/include
+ as these will be handled by the fwheader_generator target.
+
+ Remove the explicit generation of $$OUTPUT_DIR/WebKit2/generated as
+ this is not required.
+
+ * DerivedSources.pro:
+
+2010-11-24 Brady Eidson <beidson@apple.com>
+
+ Reviewed implicitly by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=50042
+
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (-[WebUserDataWrapper initWithUserData:WebKit::]): Do the proper self = [super init] dance here.
+
+2010-11-24 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=50042
+ WK2 Context Menu Items need a user data object and a client callback for selection.
+
+ * Shared/API/c/WKContextMenuItem.cpp:
+ (WKContextMenuItemGetUserData):
+ (WKContextMenuItemSetUserData):
+ * Shared/API/c/WKContextMenuItem.h:
+
+ * Shared/WebContextMenuItem.cpp:
+ (WebKit::WebContextMenuItem::userData):
+ (WebKit::WebContextMenuItem::setUserData):
+ * Shared/WebContextMenuItem.h:
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::userData):
+ (WebKit::WebContextMenuItemData::setUserData):
+ * Shared/WebContextMenuItemData.h:
+
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebPageContextMenuClient.cpp:
+ (WebKit::WebPageContextMenuClient::customContextMenuItemSelected): Added for WK2 apps to get a callback.
+ * UIProcess/WebPageContextMenuClient.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (-[WebUserDataWrapper initWithUserData:WebKit::]): Add an "APIObject" user data wrapper class to associate with the NSMenuItem.
+ (-[WebUserDataWrapper WebKit::]):
+ (-[WebMenuTarget forwardContextMenuAction:]): Include the user data object in the created ContextMenuItemData.
+ (WebKit::nsMenuItemVector):
+
+2010-11-24 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Make WebKit2 compile with !ENABLE(INSPECTOR).
+ https://bugs.webkit.org/show_bug.cgi?id=49973
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toImpl):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKInspector.cpp:
+ * UIProcess/API/C/WKInspector.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebInspectorProxy.cpp:
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebInspectorProxy.messages.in:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
+ * WebProcess/WebPage/WebInspector.cpp:
+ * WebProcess/WebPage/WebInspector.h:
+ * WebProcess/WebPage/WebInspector.messages.in:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::close):
+ (WebKit::WebPage::windowIsFocused):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+
+2010-11-24 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Make deep copies of tile images
+
+ We need the tile images we get from UpdateChunk::createImage() to persist,
+ so we should take a copy() of them.
+
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
+ (WebKit::TiledDrawingAreaTile::updateFromChunk):
+
+2010-11-24 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix uninitialized variable in QGraphicsWKViewPrivate
+
+ Always initialize QGWKVP::m_isChangingScale in the constructor.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
+
+2010-11-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Adapt to setShouldDelegateScrolling not being a real setting anymore.
+ We now similarily to setUseFixedLayout and setPaintEntireContents
+ set it on the FrameView wen transitioning to a new page, etc.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
+
+2010-11-22 Adam Roben <aroben@apple.com>
+
+ Use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops files
+
+ Apple's Windows build allows placing header files and import libraries for WebKit's
+ dependencies (CoreGraphics, CFNetwork, SQLite, etc.) outside the source tree via the
+ $WebKitLibrariesDir environment variable. This is both required for production builds and
+ convenient for Apple-internal developer builds. Apple's production builds also require that
+ WebKit's shared .vsprops files be accessed relative to $WebKitLibrariesDir. In production
+ builds, the files are copied into that directory tree by the
+ WebKitLibraries/win/tools/WinTools.make file. In Apple-internal developer builds, the
+ copying is done by
+ JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make.
+
+ This .vsprops copying is problematic in one very important case: when a developer updates
+ their source tree and then tries to build. Visual Studio only reads .vsprops files when a
+ project is first loaded. So, when Visual Studio is first opened after the .vsprops files are
+ updated, it reads in the old files that were already residing in $WebKitLibrariesDir. When a
+ build is started, JavaScriptCoreGenerated.make copies the new .vsprops files into
+ $WebKitLibrariesDir, but Visual Studio will not pick up the changes. The rest of the build
+ will proceed with out-of-date .vsprops files, which will likely result in a build failure.
+
+ To fix this, we now use normal relative paths to access the .vsprops files in the source
+ tree rather than in $WebKitLibrariesDir, but prefix those paths with a new environment
+ variable, $WebKitVSPropsRedirectionDir. In developer builds, this environment variable is
+ unset, so the normal relative paths are used to read the .vsprops files out of the source
+ tree directly. In production builds, this environment variable is set to a fake directory
+ that will cause the .vsprops files in $WebKitLibrariesDir to be found when the relative path
+ is resolved.
+
+ For example, JavaScriptCore.vcproj uses this path for FeatureDefines.vsprops:
+
+ $(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
+
+ In developer builds, where $WebKitVSPropsRedirectionDir is unset, this will point to the
+ files in WebKitLibraries\win\tools\vsprops in the source tree. In production builds,
+ JavaScriptCore.make sets $WebKitVSPropsRedirectionDir to
+ "$(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\", so the full path for
+ FeatureDefines.vsprops becomes:
+
+ $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\1\2\3\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
+
+ which resolves to:
+
+ $(SRCROOT)\AppleInternal\tools\vsprops\OpenSource\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops
+
+ (We rely on the fact that Windows doesn't care whether the directories "1", "2", and "3"
+ actually exist since they are matched by an equal number of ".." path components.)
+
+ Note that Visual Studio still won't pick up changes made to .vsprops files while Visual
+ Studio is open, but that problem hasn't seemed to cause developers many headaches so far.
+
+ Fixes <http://webkit.org/b/49181> Windows build fails mysteriously when .vsprops files are
+ updated
+
+ Reviewed by Dave Hyatt.
+
+ * win/WebKit2.make: Set $WebKitVSPropsRedirectionDir so that production builds can
+ find the .vsprops files.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+ Changed to use paths relative to $WebKitVSPropsRedirectionDir to access shared .vsprops
+ files.
+
+2010-11-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Make WebKit2 compile with ENABLE_JAVASCRIPT_DEBUGGER=0
+
+ * WebProcess/WebPage/WebInspector.cpp: Add missing ENABLE(JAVASCRIPT_DEBUGGER) guards.
+ (WebKit::WebInspector::startJavaScriptDebugging):
+ (WebKit::WebInspector::stopJavaScriptDebugging):
+ (WebKit::WebInspector::startJavaScriptProfiling):
+ (WebKit::WebInspector::stopJavaScriptProfiling):
+
+2010-11-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Textareas should be resizable by default
+ https://bugs.webkit.org/show_bug.cgi?id=49892
+
+ Test: WebKit2/WKPreferences
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ Add textAreasAreResizable bit.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetJavaEnabled):
+ (WKPreferencesGetJavaEnabled):
+ Fix typo, WKPRe... -> WKPre...
+
+ (WKPreferencesSetMinimumFontSize):
+ (WKPreferencesGetMinimumFontSize):
+ Fix comment to correctly reflect that the default minimumFontSize is 0, not 1.
+
+ (WKPreferencesSetTextAreasAreResizable):
+ (WKPreferencesGetTextAreasAreResizable):
+ * UIProcess/API/C/WKPreferences.h:
+ Add API.
+
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ Don't use PLATFORM in API headers.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setTextAreasAreResizable):
+ (WebKit::WebPreferences::textAreasAreResizable):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pipe bit through to the WebProcess and onto WebCore::Settings.
+
+2010-11-19 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ WebUIClient::createNewPage() expects a retained WKPageRef.
+ https://bugs.webkit.org/show_bug.cgi?id=48549
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_createNewPage):
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a didFail WKContextDownloadClient callback
+ https://bugs.webkit.org/show_bug.cgi?id=49847
+
+ * UIProcess/API/C/WKContext.h:
+ Add didFail callback.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didFail):
+ Call WebDownloadClient::didFail.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::didFail):
+ Call the didFail client function.
+
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Extend sandbox when downloading files
+ https://bugs.webkit.org/show_bug.cgi?id=49844
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new overload.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
+ Create a sandbox extension handle if necessary.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add a sandbox extension handle out parameter to the DecideDestinationWithSuggestedFilename message.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Create and consume the returned sandbox extension handle.
+
+ (WebKit::Download::didFinish):
+ (WebKit::Download::didFail):
+ Invalidate the sandbox extension handles.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
+ Whoops, fix inverted logic.
+
+2010-11-19 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add Debug_Cairo_CFLite and Release_Cairo_CFLite configurations for all vcproj files
+ https://bugs.webkit.org/show_bug.cgi?id=49819
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+ * win/WebKit2WebProcessCommon.vsprops:
+
+2010-11-19 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ More of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
+ Add WebKit2 API relevant to customization of context menus
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameAllowsFollowingLink):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::allowsFollowingLink):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-11-19 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=49836
+ Add WebKit2 API relevant to customization of context menus
+
+ Most of this is just exposing already-existing concepts in API.
+
+ * Shared/API/c/WKURLRequest.cpp:
+ (WKURLRequestCreateWithWKURL):
+ * Shared/API/c/WKURLRequest.h:
+
+ * Shared/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::create):
+ * Shared/WebURLRequest.h:
+
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ (WKBundleHitTestResultCopyAbsoluteImageURL):
+ (WKBundleHitTestResultCopyAbsoluteMediaURL):
+ (WKBundleHitTestResultGetImageRect):
+ (WKBundleHitTestResultGetIsSelected):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageHasLocalDataForURL):
+ (WKBundlePageCanHandleRequest):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::absoluteImageURL):
+ (WebKit::InjectedBundleHitTestResult::absoluteMediaURL):
+ (WebKit::InjectedBundleHitTestResult::imageRect):
+ (WebKit::InjectedBundleHitTestResult::isSelected):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::hasLocalDataForURL):
+ (WebKit::WebPage::canHandleRequest):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::hasLocalDataForURL): Stubbed for now.
+ (WebKit::WebPage::canHandleRequest): Ditto.
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::hasLocalDataForURL): Ditto.
+ (WebKit::WebPage::canHandleRequest): Ditto.
+
+2010-11-19 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need a way to clear disk cache from WebContext
+ https://bugs.webkit.org/show_bug.cgi?id=49820
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextClearResourceCaches): Added.
+ (WKContextClearApplicationCache): Added.
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::clearResourceCaches): Added.
+ (WebKit::WebContext::clearApplicationCache): Added.
+ * UIProcess/WebContext.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::clearResourceCaches): Added.
+ (WebKit::WebProcess::clearApplicationCache): Added.
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in: Added messages.
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformClearResourceCaches): Added.
+ * WebProcess/qt/WebProcessQt.cpp:
+ (WebKit::WebProcess::platformClearResourceCaches): Added.
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformClearResourceCaches): Added.
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement support for loading local files
+ https://bugs.webkit.org/show_bug.cgi?id=49828
+ <rdar://problem/8447121>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::initializeSandboxExtensionHandle):
+ Given an URL, create a sandbox extension if it's a local file URL.
+
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+ Pass along sandbox extension handles to the LoadURL and LoadURLRequest messages.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ Call SandboxExtensionTracker::didStartProvisionalLoad.
+
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ Call SandboxExtensionTracker::didCommitProvisionalLoad.
+
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ Call SandboxExtensionTracker::didFailProvisionalLoad.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::~WebPage):
+ Invalidate the sandbox extension tracker.
+
+ (WebKit::WebPage::close):
+ Invalidate the sandbox extension tracker.
+
+ (WebKit::WebPage::loadURL):
+ (WebKit::WebPage::loadURLRequest):
+ Pass the sandbox extension handle to the sandbox extension tracker.
+
+ (WebKit::WebPage::SandboxExtensionTracker::~SandboxExtensionTracker):
+ Invalidate the sandbox extension tracker.
+
+ (WebKit::WebPage::SandboxExtensionTracker::invalidate):
+ invalidate ell the sandbox extensions.
+
+ (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
+ Create a sandbox extension and store it as the "pending provisional extension".
+
+ (WebKit::WebPage::SandboxExtensionTracker::didStartProvisionalLoad):
+ Consume the pending provisional extension and make it the provisional extension.
+
+ (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
+ Invalidate the committed extension and make the provisional extension the committed extension.
+
+ (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
+ Invalidate the provisional extension.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add SandboxExtension::Handle parameters to LoadURL and LoadURLRequest.
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Make it possible to encode null SandboxExtension handles
+ https://bugs.webkit.org/show_bug.cgi?id=49825
+
+ * Shared/mac/SandboxExtensionMac.mm:
+ (WebKit::SandboxExtension::Handle::encode):
+ If there's no underlying sandbox extension, just encode an empty byte array.
+
+ (WebKit::SandboxExtension::Handle::decode):
+ If the decoded byte array is empty, don't try to create a sandbox extension.
+
+ (WebKit::SandboxExtension::create):
+ If the handle is null, return null.
+
+ (WebKit::SandboxExtension::consume):
+ Consuming shuld not null out the underlying sandbox extension object.
+
+2010-11-19 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Normalize Cairo/CFLite project/solution configuration names
+ https://bugs.webkit.org/show_bug.cgi?id=49818
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2010-11-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add SandboxExtension abstraction and use it for the injected bundle extension
+ https://bugs.webkit.org/show_bug.cgi?id=49817
+
+ * Shared/SandboxExtension.h:
+ Add SandboxExtension abstraction.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Instead of encoding/decoding a token, encode/decode the sandbox extension handle.
+
+ * Shared/mac/SandboxExtensionMac.mm: Added.
+ Add Mac implementation of SandboxExtension.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Create a SandboxExtension::Handle object.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (WebKit::InjectedBundle::setSandboxExtension):
+ Set the sandbox extension.
+
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::load):
+ Consume the sandbox extension.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Create a sandbox extension and set it on the injected bundle.
+
+2010-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Windows vcproj configuration names should be normalized across projects
+ https://bugs.webkit.org/show_bug.cgi?id=49776
+
+ * win/WebKit2.submit.sln:
+ * win/WebKit2Generated.vcproj:
+ * win/WebKit2GeneratedCommon.vsprops: Added.
+
+2010-11-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Crash in WebKit::PluginView::manualLoadDidReceiveResponse when navigating to a .wav file in WebKit2 on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=48559
+ <rdar://problem/8606622>
+
+ Add null checks for m_plugin.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::manualLoadDidReceiveResponse):
+ (WebKit::PluginView::manualLoadDidReceiveData):
+ (WebKit::PluginView::manualLoadDidFinishLoading):
+ (WebKit::PluginView::manualLoadDidFail):
+
+2010-11-18 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Adam Roben.
+
+ <rdar://problem/8602509&8602717&8602724> Enable compaction support.
+
+ * Configurations/WebKit2.xcconfig:
+
+2010-11-18 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Safari shouldn't auto-activate plug-ins in background tabs.
+ https://bugs.webkit.org/show_bug.cgi?id=49770
+ <rdar://problem/8482424>
+
+ Add an API on Windows to call setIsInWindow, which calls through to WebPage::setIsInWindow.
+ Remove the !PLATFORM(WIN) check in WebPage, so we don't automatically start plugins that are
+ loaded in background tabs.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewSetIsInWindow): Call through to WebView::setIsInWindow.
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setIsInWindow): Call through to WebPage::setIsInWindow.
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Remove the !PLATFORM(WIN) check and update the comment.
+
+2010-11-18 Darin Adler <darin@apple.com>
+
+ * WebProcess/WebPage/WebPage.cpp: Fix build by rolling out a change.
+
+2010-11-18 Darin Adler <darin@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ REGRESSION (WebKit2): Plug-ins and <video> start playing immediately in background tabs
+ https://bugs.webkit.org/show_bug.cgi?id=49766
+
+ Test: manual-tests/resources/video-tab.html
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Call setCanStartMedia(false) since the rest of the code
+ starts out treating the page as "not in a window".
+
+2010-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove leftover Windows Debug_Internal configurations
+ https://bugs.webkit.org/show_bug.cgi?id=49758
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2010-11-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Page overlays should be able to handle mouse events
+ https://bugs.webkit.org/show_bug.cgi?id=49756
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ Add API cast function for converting an IntPoint to a WKPoint.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ (PageOverlayClientImpl::mouseEvent):
+ Call the appropriate callbacks.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
+ Add new callbacks.
+
+2010-11-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Keep the web process alive if there are active downloads
+ https://bugs.webkit.org/show_bug.cgi?id=49755
+
+ Make sure that Download objects are destroyed when the download finishes or fails.
+ Don't close the web process if there are live Download objects.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didFail):
+ Add stub.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add DidFail message.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didFinish):
+ Call DownloadManager::downloadFinished.
+
+ (WebKit::Download::didFail):
+ Send DidFail message and call DownloadManager::downloadFinished.
+
+ * WebProcess/Downloads/Download.h:
+ (WebKit::Download::destinationID):
+ Call downloadID().
+
+ (WebKit::Download::downloadID):
+ Return the download ID.
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::downloadFinished):
+ Delete the Download object and call WebProcess::shutdownIfPossible.
+
+ * WebProcess/Downloads/DownloadManager.h:
+ (WebKit::DownloadManager::isDownloading):
+ Return whether the download manager has any active downloads.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:didFailWithError:]):
+ Call Download::didFail.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::removeWebPage):
+ Call shutdownIfPossible.
+
+ (WebKit::WebProcess::shutdownIfPossible):
+ New function. Don't shutdown if there are live pages or active downloads.
+
+ * WebProcess/WebProcess.h:
+
+2010-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Debug_Internal Windows configuration is unnecessary, should be removed
+ https://bugs.webkit.org/show_bug.cgi?id=49753
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ * WebKit2Prefix.h:
+
+2010-11-18 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Clean up vcproj errors
+ https://bugs.webkit.org/show_bug.cgi?id=49741
+
+ * win/WebKit2WebProcess.vcproj:
+
+2010-11-18 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] [WK2] WebKit 2 would not compile for Qt without ENABLE_TOUCH_EVENT
+ https://bugs.webkit.org/show_bug.cgi?id=49664
+
+ Move the ENABLE(TOUCH_EVENTS) to the code where internal WebKit touch
+ types are used.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::touchEvent):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::touchEvent):
+
+2010-11-17 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Reuse the size of the actualVisibleContentRect when loading a new page
+ or navigating session history.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+
+2010-11-17 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Converge means of querying a parent node into one way, which is Node::parentNode.
+ https://bugs.webkit.org/show_bug.cgi?id=49686
+
+ * WebProcess/WebPage/WebPage.cpp: Changed to use parentNode.
+ (WebKit::WebPage::findZoomableAreaForPoint): Ditto.
+
+2010-11-17 Timothy Hatcher <timothy@apple.com>
+
+ Remove duplicate Web Inspector message handeling in WebPage::didReceiveMessage.
+
+ https://webkit.org/b/49689
+
+ Reviewed by Andreas Kling.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage): Remove duplicate code.
+
+2010-11-17 Timothy Hatcher <timothy@apple.com>
+
+ Fix a crash when closing the inspected page when the Web Inspector
+ page was never created.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49687
+
+ Reviewed by John Sullivan.
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ (WebKit::WebInspectorClient::sendMessageToFrontend): Null check the Inspector WebPage.
+
+2010-11-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Don't crash when invalidating a page overlay that hasn't been installed yet
+ https://bugs.webkit.org/show_bug.cgi?id=49685
+
+ Null check the web page.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setNeedsDisplay):
+
+2010-11-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49682 - Expose "removeItemAtIndex" in WKMutableArray
+
+ * Shared/API/c/WKMutableArray.cpp:
+ (WKArrayRemoveItemAtIndex):
+ * Shared/API/c/WKMutableArray.h:
+
+ * Shared/MutableArray.cpp:
+ (WebKit::MutableArray::removeItemAtIndex):
+ * Shared/MutableArray.h:
+
+2010-11-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49683 - Export WKContextMenuItem and WKContextMenuItemTypes as public headers
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need way to invalidate part of a WKOverlayRef so it will be redrawn
+ https://bugs.webkit.org/show_bug.cgi?id=49679
+ <rdar://problem/8679152>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ (WKBundlePageOverlaySetNeedsDisplay):
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setNeedsDisplay):
+ * WebProcess/WebPage/PageOverlay.h:
+
+2010-11-17 Timothy Hatcher <timothy@apple.com>
+
+ Provide a way to create a WKView (WebPage) that is hidden from
+ the InjectedBundle. This is needed for the Web Inspector.
+
+ https://webkit.org/b/49670
+
+ Reviewed by Sam Weinig.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode): Added visibleToInjectedBundle.
+ (WebKit::WebPageCreationParameters::decode): Ditto.
+ * Shared/WebPageCreationParameters.h: Ditto.
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate): Pass VisibleToInjectedBundle to the WebView create function.
+ * UIProcess/API/C/win/WKViewPrivate.cpp:
+ (WKViewCreateForWebInspector): Added. Not used yet. Passes HiddenFromInjectedBundle
+ to the WebView create function.
+ * UIProcess/API/C/win/WKViewPrivate.h: Added WKViewCreateForWebInspector.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:]): Added hiddenFromInjectedBundle
+ parameter and calls WebPageProxy::setVisibleToInjectedBundle.
+ (-[WKView initWithFrame:pageNamespaceRef:]): Calls initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:
+ and passes NO for hiddenFromInjectedBundle.
+ (-[WKView initWithFrame:]): Cleaned up by removing the local assignment to self and just returns the result.
+ * UIProcess/API/mac/WKViewInternal.h: Added initWithFrame:pageNamespaceRef:hiddenFromInjectedBundle:.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Initialize m_visibleToInjectedBundle from the creation parameters.
+ (WebKit::WebPageProxy::creationParameters): Set visibleToInjectedBundle using m_visibleToInjectedBundle.
+ * UIProcess/WebPageProxy.h: Added m_visibleToInjectedBundle.
+ (WebKit::WebPageProxy::visibleToInjectedBundle): Added. Return m_visibleToInjectedBundle.
+ (WebKit::WebPageProxy::setVisibleToInjectedBundle): Added. Set m_visibleToInjectedBundle.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Added InjectedBundleVisibility parameter and calls
+ WebPageProxy::setVisibleToInjectedBundle.
+ * UIProcess/win/WebView.h: Added InjectedBundleVisibility enum.
+ (WebKit::WebView::create): Added InjectedBundleVisibility parameter.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create): Checks visibleToInjectedBundle before talking to the injected bundle.
+ (WebKit::WebPage::WebPage): Initialize m_isVisibleToInjectedBundle from the creation parameters.
+ (WebKit::WebPage::close): Checks m_isVisibleToInjectedBundle before talking to the injected bundle.
+ * WebProcess/WebPage/WebPage.h: Added m_isVisibleToInjectedBundle.
+
+2010-11-17 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed buildfix.
+
+ [Qt] D'oh! I screwed up the dependencies.
+
+ * DerivedSources.pro:
+
+2010-11-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [WK2] Set paintsEntireContents for "resizes to contents" mode
+
+ Only relevant for the tiled backing store.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
+
+2010-11-17 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Make it possible to set custom user agent strings in MiniBrowser
+ https://bugs.webkit.org/show_bug.cgi?id=49627
+
+ Copy the MiniBrowser.qrc and QtTestBrowser's useragentlist.txt file
+ to the build directory of MiniBrowser because it has to be in a
+ subdirectory of the resource file.
+ Add a method to QWKPage to retrieve the custom user agent string.
+
+ * DerivedSources.pro:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::customUserAgent):
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-11-17 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=45567
+ Add stubbed-out layer-backed drawing area for Windows.
+
+ Add implementations of LayerBackedDrawingArea and
+ LayerBackedDrawingAreaProxy for Windows, and add them
+ to the vcproj.
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Added.
+ (WebKit::LayerBackedDrawingAreaProxy::page):
+ (WebKit::LayerBackedDrawingAreaProxy::platformSetSize):
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext):
+ (WebKit::LayerBackedDrawingAreaProxy::paint):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::pageDidEnterAcceleratedCompositing):
+ (WebKit::WebView::pageDidLeaveAcceleratedCompositing):
+ (WebKit::WebView::switchToDrawingAreaTypeIfNecessary):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Added.
+ (WebKit::LayerBackedDrawingArea::platformInit):
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::detachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
+ (WebKit::LayerBackedDrawingArea::scheduleCompositingLayerSync):
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+ * win/WebKit2.vcproj:
+
+2010-11-17 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] [WK2] The focus switching does not seems to work with QGraphicsWKView
+ https://bugs.webkit.org/show_bug.cgi?id=49545
+
+ Implement focus switching with Tab. This is now done asynchronously,
+ waiting for webkit to call takeFocus() and switching the widget.
+
+ Since the focus can change between the Tab press and the callback,
+ QGraphicsWKView::focusNextPrevChildCallback() make sure the view still has
+ focus before passing it to the next widget.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::focusNextPrevChildCallback):
+ (QGraphicsWKView::focusNextPrevChild):
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::takeFocus):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-11-17 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Don't prohibit scrolling in tiled backing store mode.
+
+ We delegate scrolling instead.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+
+2010-11-17 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Kenneth Christiansen.
+
+ [Qt] Improve painting performance on 16-bit displays
+
+ When the default pixmap depth is 16-bit, then use RGB16 instead of
+ RGB32 for the chunks, to avoid unnecessary conversions and reduce
+ chunk size. The conversions happen as images as QPixmaps have 16-bit
+ depth and the tiles on the ui process are also backed by QPixmaps.
+
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::size):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/qt/UpdateChunk.h:
+
+2010-11-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Support enabling site-specific quirks
+ <rdar://problem/8451371>
+ https://bugs.webkit.org/show_bug.cgi?id=46076
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ Add needsSiteSpecificQuirks;
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toFontSmoothingLevel):
+ (WebKit::toAPI):
+ Move FontSmoothing conversion functions here.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetFontSmoothingLevel):
+ (WKPreferencesGetFontSmoothingLevel):
+ (WKPreferencesSetAcceleratedCompositingEnabled):
+ (WKPreferencesGetAcceleratedCompositingEnabled):
+ (WKPreferencesSetCompositingBordersVisible):
+ (WKPreferencesGetCompositingBordersVisible):
+ (WKPreferencesSetCompositingRepaintCountersVisible):
+ (WKPreferencesGetCompositingRepaintCountersVisible):
+ (WKPreferencesSetNeedsSiteSpecificQuirks):
+ (WKPreferencesGetNeedsSiteSpecificQuirks):
+ Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks
+ and move implementations from WKPreferencesPrivate.cpp here.
+
+ * UIProcess/API/C/WKPreferencesPrivate.cpp: Removed.
+
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ Add Add WKPreferencesSetNeedsSiteSpecificQuirks/WKPreferencesGetNeedsSiteSpecificQuirks.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setNeedsSiteSpecificQuirks):
+ (WebKit::WebPreferences::needsSiteSpecificQuirks):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Pipe through needsSiteSpecificQuirks.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebKit2.pro:
+ * win/WebKit2.vcproj:
+ Update for removed files.
+
+2010-11-16 Adam Roben <aroben@apple.com>
+
+ Fix horizontal scrolling via the mousewheel/trackpad on Windows
+
+ Reviewed by Mark Rowe.
+
+ * Shared/win/WebEventFactory.cpp: Fixed typo in the
+ WM_VISTA_MOUSEHWHEEL constant.
+
+2010-11-16 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Disable LTCG for Windows Release builds. Add new Release_LTCG configuration.
+ https://bugs.webkit.org/show_bug.cgi?id=49632
+
+ * win/WebKit2.make:
+ * win/WebKit2.submit.sln:
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle converting a ResourceHandle to a download
+ https://bugs.webkit.org/show_bug.cgi?id=49631
+
+ * WebProcess/Downloads/Download.h:
+ Add startWithHandle.
+
+ * WebProcess/Downloads/DownloadManager.h:
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::convertHandleToDownload):
+ Create a new Download object and call startWithHandle on it.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::startWithHandle):
+ Add stub.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::startWithHandle):
+ Create an NSURLDownload object from passed in ResourceHandle.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::startWithHandle):
+ Add stub.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::download):
+ Call WebFrame::convertHandleToDownload.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::convertHandleToDownload):
+ Call DownloadManager::convertHandleToDownload.
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Set the original URL for downloads
+ https://bugs.webkit.org/show_bug.cgi?id=49628
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::startDownload):
+ * WebProcess/Downloads/DownloadManager.h:
+ startDownload now takes the originating web page.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::start):
+ start now takes the originating web page.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::originatingURL):
+ (WebKit::setOriginalURLForDownload):
+ Port code over from WebKit1 that sets the download URL.
+
+ (WebKit::Download::start):
+ Call setOriginalURLForDownload.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::start):
+ start now takes the originating web page.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::startDownload):
+ Pass the web page to DownloadManager::startDownload.
+
+2010-11-16 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=11004
+
+ font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector.
+ Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size,
+ since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version
+ of the constructor rather than using [NSFont pointSize].
+
+ https://bugs.webkit.org/show_bug.cgi?id=49582
+
+ Negative leading is not handled correctly. There are two bugs here. The first is that
+ maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
+ set them before so that we can allow them to be < 0.
+
+ The second issue is that we should understand where fonts will end up relative to
+ our baseline (excluding line height), and only allow those boxes to impact ascent and
+ descent if the actual font box (without factoring in line height) is above or below the
+ root line box baseline.
+
+ Added fast/css/negative-leading.html
+
+ These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ * Scripts/webkit2/messages.py:
+ * WebProcess/WebPage/WebInspector.h:
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add WKPageCanShowMIMEType
+ https://bugs.webkit.org/show_bug.cgi?id=49612
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCanShowMIMEType):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::canShowMIMEType):
+ * UIProcess/WebPageProxy.h:
+
+2010-11-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make WebPageProxy::decidePolicyForMIMEType a tad synchronous
+ https://bugs.webkit.org/show_bug.cgi?id=49605
+
+ Change the DecidePolicyForMIMEType message to be synchronous, and if the policy listener is
+ invoked from within the decidePolicyForMIMEType callback return the policy information as out
+ parameters. This is needed in order to convert a loading connection to a download.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+
+2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>, Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ [WK2][Qt] Add API for finding a zoomable area for a given point
+
+ This is useful for implementing e.g "double tap zoom"
+
+ Only enabled for Qt.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::findZoomableAreaForPoint):
+ (QWKPagePrivate::didFindZoomableArea):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didFindZoomableArea):
+ (WebKit::WebPageProxy::findZoomableAreaForPoint):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::findZoomableAreaForPoint):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-16 Andreas Kling <kling@webkit.org>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Revert !ENABLE(INSPECTOR) fix- we don't need it right now,
+ and it was less maintainable than I had though.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toImpl):
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebPage/WebInspector.cpp:
+
+2010-11-16 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Simon Hausmann.
+
+ Fix compilation with !ENABLE(INSPECTOR)
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toImpl):
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ * WebProcess/WebPage/WebInspector.cpp:
+
+2010-11-16 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Use SIGINT instead of SIGKILL to let the web process clean up after itself.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::QtWebProcess::setupChildProcess):
+
+2010-11-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [WK2][Qt] Expose resizes-to-contents mode in WebKit2
+
+ Only available with ENABLE(TILED_BACKING_STORE)
+
+ Based on a patch by Antti Koivisto.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setResizesToContentsUsingLayoutSize):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setSize):
+ (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
+ (WebKit::WebPage::resizeToContentsIfNeeded):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::resizesToContentsEnabled):
+ (WebKit::WebPage::resizesToContentsLayoutSize):
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-16 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Get proxy settings from environment (http[s]_proxy)
+
+ If http_proxy and/or https_proxy are set in the environment,
+ pass those in to QNetworkAccessManager.
+
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::EnvHttpProxyFactory::EnvHttpProxyFactory):
+ (WebKit::EnvHttpProxyFactory::initializeFromEnvironment):
+ (WebKit::EnvHttpProxyFactory::queryProxy):
+ (WebKit::initializeProxy):
+ (WebKit::WebProcessMainQt):
+
+2010-11-16 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Emit windowCloseRequested signal on window.close()
+
+ Original patch by Zalan Bujtas.
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_close):
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-11-15 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Kill the web process if the UI process dies
+
+ Connect UI (parent) process death signal to SIGKILL of the web
+ process (child). This ensures that there's no stale web processes
+ after the UI process has crashed.
+
+ Original patch by Kimmo Kinnunen.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::QtWebProcess::QtWebProcess):
+ (WebKit::QtWebProcess::setupChildProcess):
+ (WebKit::ProcessLauncherHelper::launch):
+
+2010-11-16 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Andreas Kling.
+
+ [Qt] Trivial build fix for building WebKit2 inside Qt Creator
+
+ Similar to WebCore.pro, define a fallback for OUTPUT_DIR.
+
+ * WebKit2.pro:
+
+2010-11-15 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Make sure qwkpage.h and qwkpreferences.h are copied into includes/WebKit2
+
+ * UIProcess/API/qt/WKView.h:
+
+2010-11-15 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Use $${PYTHON} rather than "python" to execute Python scripts
+
+ Fixes building with the old Python that currently ships with Scratchbox.
+
+ * DerivedSources.pro:
+
+2010-11-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by a better attempt at a Windows build fix.
+
+ * win/WebKit2Generated.make:
+
+2010-11-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by my attempt to fix the Windows build
+
+ * win/WebKit2Generated.make: Add new API headers here.
+
+2010-11-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Finish off <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
+ Customizable context menu support in WebKit2.
+
+ - Adds an API-level WKContextMenuItem.
+ - Round trips through both the InjectedBundle client and the new PageContextMenuClient before
+ actually displaying the menu.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Shared/API/c/WKBase.h:
+ * Shared/API/c/WKContextMenuItem.cpp: Added.
+ (WKContextMenuItemGetTypeID):
+ (WKContextMenuItemCreateAsAction):
+ (WKContextMenuItemCreateAsCheckableAction):
+ (WKContextMenuItemCreateAsSubmenu):
+ (WKContextMenuItemSeparatorItem):
+ (WKContextMenuItemGetTag):
+ (WKContextMenuItemGetType):
+ (WKContextMenuItemCopyTitle):
+ (WKContextMenuItemGetEnabled):
+ (WKContextMenuItemGetChecked):
+ (WKContextMenuCopySubmenuItems):
+ * Shared/API/c/WKContextMenuItem.h: Added.
+ * Shared/API/c/WKContextMenuItemTypes.h: Added.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toImpl):
+
+ * Shared/WebContextMenuItem.cpp:
+ (WebKit::WebContextMenuItem::create):
+ (WebKit::WebContextMenuItem::separatorItem):
+ (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
+ * Shared/WebContextMenuItem.h:
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageContextMenuClient):
+ (WKPageSetPageFindClient):
+ (WKPageSetPageLoaderClient):
+ (WKPageSetPagePolicyClient):
+ (WKPageSetPageUIClient):
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebPageContextMenuClient.cpp: Added.
+ (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
+ * UIProcess/WebPageContextMenuClient.h: Added.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeContextMenuClient):
+ (WebKit::WebPageProxy::showContextMenu):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
+ (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
+
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems):
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+
+2010-11-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add shouldDecodeSourceDataOfMIMEType WKContextDownloadClient callback
+ https://bugs.webkit.org/show_bug.cgi?id=49558
+
+ * UIProcess/API/C/WKContext.h:
+ Add shouldDecodeSourceDataOfMIMEType callback.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
+ Call WebDownloadClient::shouldDecodeSourceDataOfMIMEType.
+
+ (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
+ Add allowOverwrite out parameter.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add ShouldDecodeSourceDataOfMIMEType message.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType):
+ Call the WKContextDownloadClient.
+
+ (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
+ Add allowOverwrite out parameter.
+
+ * UIProcess/WebDownloadClient.h:
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::shouldDecodeSourceDataOfMIMEType):
+ Send the ShouldDecodeSourceDataOfMIMEType message.
+
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Add allowOverwrite reply parameter.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:shouldDecodeSourceDataOfMIMEType:]):
+ Call Download::shouldDecodeSourceDataOfMIMEType.
+
+ (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
+ Add allowOverwrite parameter.
+
+2010-11-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add decideDestinationWithSuggestedFilename WKContextDownloadClient callback
+ https://bugs.webkit.org/show_bug.cgi?id=49554
+
+ * Platform/CoreIPC/MessageSender.h:
+ (CoreIPC::MessageSender::sendSync):
+ Add sendSync capabilities to Messagesender.
+
+ * UIProcess/API/C/WKContext.h:
+ Add decideDestinationWithSuggestedFilename callback.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
+ Call WebDownloadClient::decideDestinationWithSuggestedFilename.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add DecideDestinationWithSuggestedFilename.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveSyncMessage):
+ Process MessageClassDownloadProxy messages.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
+ Ask the WKContextDownloadClient for the destination.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ MessageClassDownloadProxy messages should go to the WebContext.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::decideDestinationWithSuggestedFilename):
+ Send the DecideDestinationWithSuggestedFilename message.
+
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:decideDestinationWithSuggestedFilename:]):
+ call Download::decideDestinationWithSuggestedFilename and set the destination.
+
+2010-11-15 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [WK2][Qt] Add "page snapshot" functionality to tiled backing store
+
+ Original patch by Antti Koivisto.
+
+ Add a way to take a snapshot of a specific part of the page, at a specific scale.
+ Only implemented for the tiled drawing area.
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ New message: TakeSnapshot.
+
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ New message: SnapshotTaken.
+
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::takeSnapshot):
+ Expose the snapshot functionality.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
+ (WebKit::TiledDrawingAreaProxy::takeSnapshot):
+ * UIProcess/TiledDrawingAreaProxy.h:
+ * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
+ (WebKit::TiledDrawingAreaProxy::snapshotTaken):
+ * WebProcess/WebPage/TiledDrawingArea.cpp:
+ (WebKit::TiledDrawingArea::didReceiveMessage):
+
+2010-11-15 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [WK2][Qt] WebKit2 implementation of tiled backing store
+ https://bugs.webkit.org/show_bug.cgi?id=49526
+
+ Basic opt-in tiling implementation for WebKit2/Qt.
+
+ Original patch by Antti Koivisto.
+
+ * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h:
+ New messages: RequestTileUpdate and CancelTileUpdate.
+
+ * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
+ New messages: Invalidate, TileUpdated, AllTileUpdatesProcessed.
+
+ * Shared/DrawingAreaBase.h:
+ New area type: TiledDrawingAreaType.
+
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::setGeometry):
+ (QGraphicsWKViewPrivate::QGraphicsWKViewPrivate):
+ (QGraphicsWKView::prepareScaleChange):
+ (QGraphicsWKView::commitScaleChange):
+ (QGraphicsWKViewPrivate::onScaleChanged):
+ (QGraphicsWKViewPrivate::commitScale):
+ Support for tiled backing store.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp: Added.
+ (WebKit::TiledDrawingAreaProxy::create):
+ (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
+ (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
+ (WebKit::TiledDrawingAreaProxy::setSize):
+ (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
+ (WebKit::TiledDrawingAreaProxy::didSetSize):
+ (WebKit::TiledDrawingAreaProxy::didReceiveMessage):
+ (WebKit::TiledDrawingAreaProxy::didReceiveSyncMessage):
+ (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
+ (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
+ (WebKit::TiledDrawingAreaProxy::createTile):
+ (WebKit::TiledDrawingAreaProxy::setTileSize):
+ (WebKit::TiledDrawingAreaProxy::setTileCreationDelay):
+ (WebKit::TiledDrawingAreaProxy::setKeepAndCoverAreaMultipliers):
+ (WebKit::TiledDrawingAreaProxy::invalidate):
+ (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
+ (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
+ (WebKit::TiledDrawingAreaProxy::paint):
+ (WebKit::TiledDrawingAreaProxy::adjustVisibleRect):
+ (WebKit::TiledDrawingAreaProxy::setContentsScale):
+ (WebKit::TiledDrawingAreaProxy::removeAllTiles):
+ (WebKit::TiledDrawingAreaProxy::tileDistance):
+ (WebKit::TiledDrawingAreaProxy::calculateKeepRect):
+ (WebKit::TiledDrawingAreaProxy::calculateCoverRect):
+ (WebKit::TiledDrawingAreaProxy::createTiles):
+ (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
+ (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
+ (WebKit::TiledDrawingAreaProxy::tileAt):
+ (WebKit::TiledDrawingAreaProxy::setTile):
+ (WebKit::TiledDrawingAreaProxy::removeTile):
+ (WebKit::TiledDrawingAreaProxy::mapToContents):
+ (WebKit::TiledDrawingAreaProxy::mapFromContents):
+ (WebKit::TiledDrawingAreaProxy::contentsRect):
+ (WebKit::TiledDrawingAreaProxy::tileRectForCoordinate):
+ (WebKit::TiledDrawingAreaProxy::tileCoordinateForPoint):
+ (WebKit::TiledDrawingAreaProxy::startTileBufferUpdateTimer):
+ (WebKit::TiledDrawingAreaProxy::tileBufferUpdateTimerFired):
+ (WebKit::TiledDrawingAreaProxy::startTileCreationTimer):
+ (WebKit::TiledDrawingAreaProxy::tileCreationTimerFired):
+ (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
+ * UIProcess/TiledDrawingAreaProxy.h: Added.
+ (WebKit::TiledDrawingAreaProxy::contentsScale):
+ (WebKit::TiledDrawingAreaProxy::attachCompositingContext):
+ (WebKit::TiledDrawingAreaProxy::detachCompositingContext):
+ (WebKit::TiledDrawingAreaProxy::tileSize):
+ (WebKit::TiledDrawingAreaProxy::tileCreationDelay):
+ (WebKit::TiledDrawingAreaProxy::getKeepAndCoverAreaMultipliers):
+ * UIProcess/TiledDrawingAreaTile.h: Added.
+ (WebKit::TiledDrawingAreaTile::create):
+ (WebKit::TiledDrawingAreaTile::hasBackBufferUpdatePending):
+ (WebKit::TiledDrawingAreaTile::coordinate):
+ (WebKit::TiledDrawingAreaTile::rect):
+ (WebKit::TiledDrawingAreaTile::ID):
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/TiledDrawingArea.cpp: Added.
+ (WebKit::TiledDrawingArea::TiledDrawingArea):
+ (WebKit::TiledDrawingArea::~TiledDrawingArea):
+ (WebKit::TiledDrawingArea::invalidateWindow):
+ (WebKit::TiledDrawingArea::invalidateContentsAndWindow):
+ (WebKit::TiledDrawingArea::invalidateContentsForSlowScroll):
+ (WebKit::TiledDrawingArea::scroll):
+ (WebKit::TiledDrawingArea::setNeedsDisplay):
+ (WebKit::TiledDrawingArea::display):
+ (WebKit::TiledDrawingArea::scheduleDisplay):
+ (WebKit::TiledDrawingArea::setSize):
+ (WebKit::TiledDrawingArea::suspendPainting):
+ (WebKit::TiledDrawingArea::resumePainting):
+ (WebKit::TiledDrawingArea::didUpdate):
+ (WebKit::TiledDrawingArea::updateTile):
+ (WebKit::TiledDrawingArea::tileUpdateTimerFired):
+ (WebKit::TiledDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/TiledDrawingArea.h: Added.
+ (WebKit::TiledDrawingArea::attachCompositingContext):
+ (WebKit::TiledDrawingArea::detachCompositingContext):
+ (WebKit::TiledDrawingArea::setRootCompositingLayer):
+ (WebKit::TiledDrawingArea::scheduleCompositingLayerSync):
+ (WebKit::TiledDrawingArea::syncCompositingLayers):
+ * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Added.
+ (WebKit::TiledDrawingArea::paintIntoUpdateChunk):
+ * WebKit2.pro:
+ * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Added.
+ (WebKit::checkeredPixmap):
+ (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
+ (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
+ (WebKit::TiledDrawingAreaTile::isDirty):
+ (WebKit::TiledDrawingAreaTile::isReadyToPaint):
+ (WebKit::TiledDrawingAreaTile::hasReadyBackBuffer):
+ (WebKit::TiledDrawingAreaTile::invalidate):
+ (WebKit::TiledDrawingAreaTile::resize):
+ (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
+ (WebKit::TiledDrawingAreaTile::paint):
+ (WebKit::TiledDrawingAreaTile::paintCheckerPattern):
+ (WebKit::TiledDrawingAreaTile::updateFromChunk):
+ (WebKit::TiledDrawingAreaTile::updateBackBuffer):
+ * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Added.
+ (WebKit::TiledDrawingAreaProxy::updateWebView):
+ (WebKit::TiledDrawingAreaProxy::webViewVisibleRect):
+ (WebKit::TiledDrawingAreaProxy::page):
+
+2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Need to implement WebKit::pluginWillHandleLoadError for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48764
+
+ Add the missing error to Qt support.
+
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
+ (WebKit::pluginWillHandleLoadError):
+
+2010-11-12 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Fixed Target for WKBundlePageOverlay.cpp.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Changed Target for WKBundlePageOverlay.cpp from WebProcess to WebKit2.
+
+2010-11-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Need a way that WKBundlePageOverlayRef clients can make sure they only uninstall the overlay they installed
+ https://bugs.webkit.org/show_bug.cgi?id=49461
+ <rdar://problem/8662760>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageUninstallPageOverlay):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ (WebKit::FindController::hideFindUI):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::uninstallPageOverlay):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-11-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allow MessageSender to override sendMessage
+ https://bugs.webkit.org/show_bug.cgi?id=49457
+
+ Change MessageSender::send to encode the message and then call sendMessage.
+ This allows for clients to override sendMessage, something which WebProcessProxy
+ will be able to take advantage of.
+
+ * Platform/CoreIPC/MessageSender.h:
+ (CoreIPC::MessageSender::send):
+ (CoreIPC::MessageSender::sendMessage):
+
+2010-11-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ CoreIPC cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=49455
+
+ Add a static create function to ArgumentEncoder.
+ Factor sync message argument encoder creation out into a new function,
+ createSyncMessageArgumentEncoder.
+
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ (CoreIPC::ArgumentEncoder::create):
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::createSyncMessageArgumentEncoder):
+ (CoreIPC::Connection::dispatchSyncMessage):
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::send):
+ (CoreIPC::Connection::sendSync):
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::send):
+
+2010-11-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ ASSERTION when converting some WKStringRefs returned from willSubmitForm to CFStringRef
+ <rdar://problem/8662180>
+ https://bugs.webkit.org/show_bug.cgi?id=49454
+
+ Enforce the invariant that a WebString never contains a null WTF::String at a
+ lower level, in the WebString constructor, instead of relying on the callers of
+ WebString::create to do it.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toCopiedAPI): Remove null string check...
+
+ * Shared/WebString.h:
+ (WebKit::WebString::WebString): ... and move it to the constructor.
+
+ * Shared/API/c/WKURL.cpp:
+ (WKURLCopyString): Use toCopiedAPI() instead of calling WebString directly
+ to match other similar uses.
+
+2010-11-12 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt][WK2] Fix leaking of mapped files
+
+ MappedMemory::fileName was never set on the receiving side, which led
+ the MappedMemoryPool to call QFile::map() again when reusing an existing file.
+
+ * Platform/qt/MappedMemoryPool.cpp:
+ (WebKit::MappedMemoryPool::mapFile):
+
+2010-11-12 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2Generated.make: Copy WKBundlePageOverlay.h.
+
+2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Unreviewed fix after r71857.
+
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add didReceiveResponse and didReceiveData to the download client
+ https://bugs.webkit.org/show_bug.cgi?id=49418
+
+ * UIProcess/API/C/WKContext.h:
+ Add didReceiveResponse and didReceiveData to WKContextDownloadClient.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didReceiveResponse):
+ (WebKit::DownloadProxy::didReceiveData):
+ Call WebDownloadClient member functions.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Add DidReceiveResponse and DidReceiveData messages.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::didReceiveResponse):
+ (WebKit::WebDownloadClient::didReceiveData):
+ Call client functions.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Let Xcode update the file.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didReceiveResponse):
+ (WebKit::Download::didReceiveData):
+ Send messages.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::start):
+ Set deletesFileUponFailure to NO.
+
+ (-[WKDownloadAsDelegate download:didReceiveResponse:]):
+ Call didReceiveResponse.
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add an argument coder for ResourceResponse.
+ https://bugs.webkit.org/show_bug.cgi?id=49415
+
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+ * Shared/qt/WebCoreArgumentCodersQt.cpp:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+ * Shared/win/WebCoreArgumentCodersWin.cpp:
+ (CoreIPC::encodeResourceResponse):
+ (CoreIPC::decodeResourceResponse):
+
+2010-11-11 Ryosuke Niwa <rniwa@webkit.org>
+
+ Unreviewed build fix for r71587.
+
+ * WebKit2.xcodeproj/project.pbxproj: No longer uses absolute path.
+
+2010-11-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed WebKit2 buildfix after r71587.
+
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ * WebKit2.pro:
+
+2010-11-11 Brian Weinstein <bweinstein@apple.com>
+
+ More Windows build fixing. Change another #import to a #include, and remove an unneeded
+ namespace.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+
+2010-11-11 Brent Fulgham <bfulgham@webkit.org>
+
+ Windows [Cairo] build fix. Unreviewed.
+
+ Provide stubs for two BackingStore methods.
+
+ * Shared/cairo/BackingStoreCairo.cpp:
+ (WebKit::BackingStore::createFlippedGraphicsContext):
+ (WebKit::BackingStore::paint):
+
+2010-11-11 Brian Weinstein <bweinstein@apple.com>
+
+ Windows Build Fix. Change #imports to #includes.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+
+2010-11-08 Timothy Hatcher <timothy@apple.com>
+
+ Create and load the Web Inspector page.
+
+ https://webkit.org/b/49207
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::createInspectorPage): Added. Call platformCreateInspectorPage and then
+ call WebPageProxy::loadURL with inspectorPageURL.
+ (WebKit::WebInspectorProxy::didLoadInspectorPage): Added stub.
+ * UIProcess/WebInspectorProxy.h:
+ * UIProcess/WebInspectorProxy.messages.in: Added.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Call WebInspectorProxy::didReceiveWebInspectorProxyMessage.
+ (WebKit::WebPageProxy::didReceiveSyncMessage): Call WebInspectorProxy::didReceiveSyncWebInspectorProxyMessage.
+ * UIProcess/WebPageProxy.h: Made creationParameters public so WebInspectorProxy can use it.
+
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Make a WkView and return the WebPageProxy.
+ (WebKit::WebInspectorProxy::inspectorPageURL): Return the file URL for the inspector.html file.
+ * UIProcess/qt/WebInspectorProxyQt.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub.
+ (WebKit::WebInspectorProxy::inspectorPageURL): Ditto.
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage): Added stub.
+ (WebKit::WebInspectorProxy::inspectorPageURL): Ditto.
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ (WebKit::WebInspectorClient::openInspectorFrontend): Call WebInspector::createInspectorPage and set up the WebInspectorFrontendClient.
+ (WebKit::WebInspectorClient::sendMessageToFrontend): Call doDispatchMessageOnFrontendPage in the base class.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::frontendLoaded): Call WebInspector::didLoadInspectorPage.
+ (WebKit::WebInspectorFrontendClient::localizedStringsURL): Call WebInspector::localizedStringsURL.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
+
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::WebInspector):
+ (WebKit::WebInspector::createInspectorPage): Send a sync WebInspectorProxy::CreateInspectorPage message and set up
+ the WebPage using the result page ID.
+ (WebKit::WebInspector::didLoadInspectorPage): Send a WebInspectorProxy::DidLoadInspectorPage message.
+ * WebProcess/WebPage/WebInspector.h:
+ (WebKit::WebInspector::inspectorPage): Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage): Call WebInspector::didReceiveWebInspectorMessage.
+
+ * WebProcess/WebPage/mac/WebInspectorMac.mm:
+ (WebKit::WebInspector::localizedStringsURL): Return the file URL for the localizedStrings.js file.
+ * WebProcess/WebPage/qt/WebInspectorQt.cpp:
+ (WebKit::WebInspector::localizedStringsURL): Added stub.
+ * WebProcess/WebPage/win/WebInspectorWin.cpp:
+ (WebKit::WebInspector::localizedStringsURL): Added stub.
+
+ * DerivedSources.make: Added WebInspectorProxy.messages.in.
+ * DerivedSources.pro: Ditto.
+
+ * WebKit2.pro: Added new files.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
+ * win/WebKit2.vcproj: Ditto.
+
+2010-11-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move the remaining API client classes to use the APIClient base class.
+ https://bugs.webkit.org/show_bug.cgi?id=49404
+
+ Also moves InjectedBundleClient into its own class to match other API clients.
+
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebHistoryClient.cpp:
+ (WebKit::WebHistoryClient::didNavigateWithNavigationData):
+ (WebKit::WebHistoryClient::didPerformClientRedirect):
+ (WebKit::WebHistoryClient::didPerformServerRedirect):
+ (WebKit::WebHistoryClient::didUpdateHistoryTitle):
+ (WebKit::WebHistoryClient::populateVisitedLinks):
+ * UIProcess/WebHistoryClient.h:
+ (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::initializeClient):
+ (WebKit::InjectedBundle::reportException):
+ (WebKit::InjectedBundle::didCreatePage):
+ (WebKit::InjectedBundle::willDestroyPage):
+ (WebKit::InjectedBundle::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundleClient.cpp: Added.
+ (WebKit::InjectedBundleClient::didCreatePage):
+ (WebKit::InjectedBundleClient::willDestroyPage):
+ (WebKit::InjectedBundleClient::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundleClient.h: Added.
+ * win/WebKit2.vcproj:
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove an unneeded CFAllocatorRef parameter.
+
+ * Shared/API/c/mac/WKURLResponseNS.h:
+ * Shared/API/c/mac/WKURLResponseNS.mm:
+ (WKURLResponseCopyNSURLResponse):
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add and implement WKDownloadCopyRequest
+ https://bugs.webkit.org/show_bug.cgi?id=49393
+
+ * Shared/API/c/mac/WKURLRequestNS.h:
+ * Shared/API/c/mac/WKURLRequestNS.mm:
+ (WKURLRequestCopyNSURLRequest):
+ Remove unneeded CFAllocator parameter.
+
+ * Shared/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::WebURLRequest):
+ * Shared/WebURLRequest.h:
+ (WebKit::WebURLRequest::create):
+ Change create to take a ResourceRequest instead.
+
+ * UIProcess/API/C/WKDownload.cpp:
+ (WKDownloadCopyRequest):
+ Return a copied WKURLRequest.
+
+ * UIProcess/API/C/WKDownload.h:
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didStart):
+ Set the request.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ (WebKit::DownloadProxy::request):
+ Return the request.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didStart):
+ Pass the request along when sending the DidStart message.
+
+2010-11-11 John Sullivan <sullivan@apple.com>
+
+ Rubber-stamped by Anders Carlsson.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Added WKBundlePageOverlay.h to the WebKit2 Target and made it public.
+
+2010-11-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Move GraphicsContext setup code to PageOverlay::drawRect
+ https://bugs.webkit.org/show_bug.cgi?id=49389
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::drawRect):
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::drawRect):
+
+2010-11-11 Adam Roben <aroben@apple.com>
+
+ Build fix after r71816
+
+ * WebProcess/WebPage/WebPage.messages.in: Compile out
+ SetActualVisibleContentRect when ENABLE(TILED_BACKING_STORE) is
+ turned off.
+
+2010-11-11 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Implement BackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=49377
+
+ * Shared/qt/BackingStoreQt.cpp:
+ (WebKit::createQImage): Added static helper. Creates a QImage
+ from the shared memory buffer.
+ (WebKit::BackingStore::createGraphicsContext):
+ (WebKit::BackingStore::createFlippedGraphicsContext): Leave
+ unimplemented with an ASSERT_NOT_REACHED since this is only
+ needed for the CoreGraphics backend.
+ (WebKit::BackingStore::paint):
+
+2010-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Add a Qt WebKit2 API for overriding the actual visible content rect
+ https://bugs.webkit.org/show_bug.cgi?id=49381
+
+ Add an Qt WebKit2 API for overriding the actual visible content rect in
+ WebCore. This is supposed to be used in combination with tiling.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setActualVisibleContentsRect):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setActualVisibleContentRect):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setActualVisibleContentRect):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-10 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=49356
+ -[WebView _scaleWebView:] should take and origin and scroll the
+ document
+ -and corresponding-
+ <rdar://problem/8643921>
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toImpl):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageScaleWebView):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::scaleWebView):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaleWebView):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-10 Ada Chan <adachan@apple.com>
+
+ Fix Windows build.
+
+ * win/WebKit2Generated.make:
+
+2010-11-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Misc drawing area cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=49349
+
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::setSize):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ Call process()->send() instead of process()->connection()->send() in case
+ the web process has not been launched yet.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Delay creation of the drawing area
+ until after other WebPage state has been initialized, in case
+ the DrawingArea creation needs to call back to the WebPage.
+
+2010-11-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Push m_viewSize down to DrawingAreaProxy base class
+ https://bugs.webkit.org/show_bug.cgi?id=49347
+
+ Some refactoring so that the various drawing area classes
+ can share m_size.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::setSize):
+ (WebKit::DrawingAreaProxy::size):
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::setSize):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::drawUpdateChunkIntoBackingStore):
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ (WebKit::LayerBackedDrawingAreaProxy::platformSetSize):
+ (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
+ * UIProcess/win/ChunkedUpdateDrawingAreaProxyWin.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::ensureBackingStore):
+
+2010-11-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Closing tabs sometimes crashes the WebProcess in invalidateContentsAndWindow
+ https://bugs.webkit.org/show_bug.cgi?id=49335
+ <rdar://problem/8646621>
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ If we fail to send the DidChangeAcceleratedCompositing message, don't null out the
+ drawing area. This will happen during page teardown.
+
+2010-11-10 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ HTML5 Ruby support should be mandatory feature
+ https://bugs.webkit.org/show_bug.cgi?id=49272
+
+ Remove Ruby as optional feature.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * WebKit2Prefix.h: Touch it to avoid incremental build failure on Windows.
+
+2010-11-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add license to DerivedSources.make.
+
+ * DerivedSources.make:
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Convert client classes to use APIClient base class.
+ https://bugs.webkit.org/show_bug.cgi?id=49322
+
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+
+2010-11-10 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Fix re-use of memory-mapped files
+ https://bugs.webkit.org/show_bug.cgi?id=49310
+
+ QTemporaryFile::fileName() returns an empty string after close()
+ so we have to keep separate track of the filename.
+
+ Also, we can't reopen the file if it's been QFile::remove()d,
+ so we defer unlinking until the MappedMemoryPool is destroyed or
+ the CrashHandler kicks in.
+
+ This makes re-use of memory-mapped files work (after we kill an
+ assertion that the file size == the new mmap size - it's fine if
+ the file is larger, too.)
+
+ * Platform/qt/MappedMemoryPool.cpp:
+ (WebKit::MappedMemoryPool::~MappedMemoryPool):
+ (WebKit::MappedMemoryPool::clear):
+ (WebKit::MappedMemoryPool::mapMemory):
+ (WebKit::MappedMemoryPool::mapFile):
+ * Platform/qt/MappedMemoryPool.h:
+ (WebKit::MappedMemory::mappedFileName):
+ * Shared/qt/CrashHandler.cpp:
+ (WebKit::CrashHandler::deleteObjects):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::encode):
+
+2010-11-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by the ever-picky Windows build-bot.
+
+ Windows build bot was complaining about this.
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::core):
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WKDownload.h should be a public header.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-09 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Part of <rdar://problem/8613727> and https://bugs.webkit.org/show_bug.cgi?id=48720
+ Customizable context menu support in WebKit2.
+
+ This adds a BundlePageContextMenu client and lets WebKit2 consult it with the proposed
+ list of WebContextMenuItems.
+ There is no realistic API for the embedding app to actually inspect or create new
+ WebContextMenuItems (will be "WKContextMenuItem") and that ability will come later.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Platform/Logging.cpp:
+ (initializeLogChannelsIfNecessary):
+ * Platform/Logging.h:
+
+ * Shared/APIObject.h:
+
+ * Shared/MutableArray.cpp:
+ (WebKit::MutableArray::reserveCapacity):
+ * Shared/MutableArray.h:
+
+ * Shared/WebContextMenuItem.cpp: Added.
+ (WebKit::WebContextMenuItem::WebContextMenuItem):
+ (WebKit::WebContextMenuItem::data):
+ * Shared/WebContextMenuItem.h: Added.
+ (WebKit::WebContextMenuItem::create):
+ (WebKit::WebContextMenuItem::type):
+
+ * Shared/WebContextMenuItemData.cpp:
+ (WebKit::WebContextMenuItemData::core):
+ (WebKit::kitItems):
+ (WebKit::coreItems):
+ * Shared/WebContextMenuItemData.h:
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetContextMenuClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: Added.
+ (WebKit::InjectedBundlePageContextMenuClient::InjectedBundlePageContextMenuClient):
+ (WebKit::InjectedBundlePageContextMenuClient::initialize):
+ (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
+ * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: Added.
+
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Call through to the injected bundle client
+ with the default items and convert the returned items back for WebCore to use.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleContextMenuClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleContextMenuClient):
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Add some stylistic flourish to the last patch as suggested by Lord Darin Adler.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetSourceForFrame):
+ (WKPageGetContentsAsString):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::invalidateCallbackMap):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::contentsAsString):
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Need WebKit2 mechanism for getting the visible page text
+ <rdar://problem/8646928>
+ https://bugs.webkit.org/show_bug.cgi?id=49275
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetContentsAsString):
+ (callContentsAsStringBlockBlockAndDispose):
+ (WKPageGetContentsAsString_b):
+ * UIProcess/API/C/WKPage.h:
+ Add GetContentsAsString callback function declaration and forwarding.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::invalidateCallbackMap):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::getContentsAsString):
+ (WebKit::WebPageProxy::didGetContentsAsString):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ Add GetContentsAsString callback and generalize invalidating the callback
+ maps into a standalone function.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add DidGetContentsAsString return message.
+
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::contentsAsString):
+ Gets the string content of all the subframes.
+
+ (WebKit::WebFrame::isFrameSet):
+ Call through to the document.
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getContentsAsString):
+ Forward to the the main frames contentsAsString function.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add GetContentsAsString and collect all callback messages together.
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Fix mac build.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformSetCacheModel):
+
+2010-11-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler, Dan Bernstein.
+
+ <rdar://problem/8360145> Pages using accelerated compositing missing content on Windows
+
+ Disable accelerated compositing on Windows until we have cross-process
+ rendering implemented.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add injected bundle API for creating page overlays
+ https://bugs.webkit.org/show_bug.cgi?id=49282
+
+ * Shared/API/c/WKBase.h:
+ Add WKBundlePageOverlayRef.
+
+ * Shared/APIObject.h:
+ Add TypeBundlePageOverlay.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ Add WKBundlePageOverlayRef mapping.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageInstallPageOverlay):
+ Install the passed in page overlay.
+
+ (WKBundlePageUninstallPageOverlay):
+ Uninstall the passed in page overlay.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: Added.
+ (PageOverlayClientImpl::create):
+ (PageOverlayClientImpl::PageOverlayClientImpl):
+ (PageOverlayClientImpl::pageOverlayDestroyed):
+ (PageOverlayClientImpl::willMoveToWebPage):
+ (PageOverlayClientImpl::didMoveToWebPage):
+ (PageOverlayClientImpl::drawRect):
+ (PageOverlayClientImpl::mouseEvent):
+ Add a PageOverlay::Client subclass that forwards everything to its client.
+
+ (WKBundlePageOverlayGetTypeID):
+ (WKBundlePageOverlayCreate):
+ Create a page overlay.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::pageOverlayDestroyed):
+ * WebProcess/WebPage/FindController.h:
+ Add stub.
+
+ * WebProcess/WebPage/PageOverlay.h:
+ Inherit from APIObject.
+
+ (WebKit::PageOverlay::type):
+ return TypeBundlePageOverlay.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Get rid of FindPageOverlay
+ https://bugs.webkit.org/show_bug.cgi?id=49268
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Remove files.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ Create a PageOverlay with the FindController as its client.
+
+ (WebKit::FindController::willMoveToWebPage):
+ Null out the find page overlay if the web page is null.
+
+ (WebKit::FindController::didMoveToWebPage):
+ Add stub.
+
+ * WebProcess/WebPage/FindController.h:
+ FindController is now a PageOverlay::Client.
+
+ * WebProcess/WebPage/FindPageOverlay.cpp: Removed.
+ * WebProcess/WebPage/FindPageOverlay.h: Removed.
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setPage):
+ Call the willMoveToWebPage and didMoveToWebPage client functions.
+
+ (WebKit::PageOverlay::setNeedsDisplay):
+ Pass the page overlay bounds instead of the web page size.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::installPageOverlay):
+ Clear the page of the previous page overlay.
+
+ (WebKit::WebPage::uninstallPageOverlay):
+ Clear the page of the previous page overlay.
+
+ * WebProcess/WebPage/WebPage.h:
+ The page overlay is now refcounted.
+
+ * win/WebKit2.vcproj:
+ Remove files.
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::WebProcess::platformSetCacheModel):
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Factor calculation of cache sizes based on cache model into shared function
+ https://bugs.webkit.org/show_bug.cgi?id=48706
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::calculateCacheSizes):
+ * WebProcess/WebProcess.h:
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::volumeFreeSize):
+ (WebKit::WebProcess::platformSetCacheModel):
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::memorySize):
+ (WebKit::volumeFreeSize):
+ (WebKit::WebProcess::platformSetCacheModel):
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Context menus show up in the wrong place when the page is scrolled
+ https://bugs.webkit.org/show_bug.cgi?id=49264
+
+ Convert the hitTestResult point into 'window' coordinates before sending over
+ to the UIProcess to show the menu.
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show):
+ Convert to use message sender interface.
+
+ (WebKit::WebContextMenu::itemSelected):
+ Remove unnecessary WebCore::'s.
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Send messages directly to the WebContext
+ https://bugs.webkit.org/show_bug.cgi?id=49262
+
+ * Platform/CoreIPC/MessageID.h:
+ Temporarily add MessageClassWebContextLegacy.
+
+ * Shared/CoreIPCSupport/WebContextMessageKinds.h:
+ Rename adding Legacy prefix.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle):
+ (WebKit::WebContext::setCacheModel):
+ (WebKit::WebContext::addVisitedLink):
+ (WebKit::WebContext::addVisitedLinkHash):
+ (WebKit::WebContext::getPlugins):
+ (WebKit::WebContext::getPluginPath):
+ (WebKit::WebContext::didReceiveMessage):
+ (WebKit::WebContext::didReceiveSyncMessage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContext.messages.in: Added.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginProcessConnection):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebProcessProxy.messages.in:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::postSynchronousMessage):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+ (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+ (WebKit::WebFrameLoaderClient::setTitle):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::addVisitedLink):
+ Move context related messages to be sent directly to the context.
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Move the find page overlay code to FindController
+ https://bugs.webkit.org/show_bug.cgi?id=49266
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::~FindController):
+ (WebKit::FindController::rectsForTextMatches):
+ (WebKit::overlayBackgroundColor):
+ (WebKit::FindController::drawRect):
+ (WebKit::FindController::mouseEvent):
+ * WebProcess/WebPage/FindController.h:
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::drawRect):
+ (WebKit::FindPageOverlay::mouseEvent):
+ * WebProcess/WebPage/FindPageOverlay.h:
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::bounds):
+ (WebKit::PageOverlay::drawRect):
+ (WebKit::PageOverlay::mouseEvent):
+ * WebProcess/WebPage/PageOverlay.h:
+
+2010-11-09 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Add a PageOverlay::Client object in preparation of not allowing subclassing of PageOverlay
+ https://bugs.webkit.org/show_bug.cgi?id=49263
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::FindPageOverlay):
+ Call the PageOverlay constructor.
+
+ (WebKit::FindPageOverlay::drawRect):
+ (WebKit::FindPageOverlay::mouseEvent):
+ These now take a PageOverlay callback.
+
+ * WebProcess/WebPage/FindPageOverlay.h:
+ FindPageOverlay now inherits from PageOverlay::Client.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::create):
+ Add create function.
+
+ (WebKit::PageOverlay::PageOverlay):
+ The constructor now takes a client.
+
+ (WebKit::PageOverlay::drawRect):
+ (WebKit::PageOverlay::mouseEvent):
+ Call the client methods.
+
+ * WebProcess/WebPage/PageOverlay.h:
+ Add Client class.
+
+2010-11-09 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Darin Adler.
+
+ <rdar://problem/8646456> WebProcess crashes reproducibly on complex text
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Initialize wkCreateCTTypesetterWithUniCharProviderAndOptions
+ and wkCreateCTLineWithUniCharProvider.
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Fix Windows build.
+
+ * win/WebKit2.vcproj:
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * WebKit2.pro:
+
+2010-11-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Windows Popup widget support (<select>)
+ <rdar://problem/8559439>
+ https://bugs.webkit.org/show_bug.cgi?id=48701
+
+ Port WebCore's PopupMenuWin's implementation to work within the confines of WebKit2.
+ Since we currently can't draw text using WebCore in the UIProcess, this approach uses
+ the WebProcess to create two bitmaps representing the full popup menu (both unselected and
+ selected) and sends them to the UIProcess to be drawn in an HWND.
+
+ * Shared/BackingStore.h:
+ * Shared/cg/BackingStoreCG.cpp:
+ * Shared/qt/BackingStoreQt.cpp:
+
+ Add new function to create a flipped graphics context from the backing store,
+ and add additional parameters to paint, to allow more control of how the backing
+ store is painted into the destination context.
+
+ * Shared/PlatformPopupMenuData.cpp: Added.
+ (WebKit::PlatformPopupMenuData::PlatformPopupMenuData):
+ (WebKit::PlatformPopupMenuData::encode):
+ (WebKit::PlatformPopupMenuData::decode):
+ * Shared/PlatformPopupMenuData.h: Added.
+ Add struct so platforms can send platform specific data to their popup menu implementations.
+
+ * Shared/WebPopupItem.cpp:
+ (WebKit::WebPopupItem::WebPopupItem):
+ (WebKit::WebPopupItem::encode):
+ (WebKit::WebPopupItem::decode):
+ * Shared/WebPopupItem.h:
+ Add isLabel for each menu item.
+
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+ Update for new BackingStore::paint signature.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebPopupMenuProxy.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu):
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp:
+ (WebKit::WebPopupMenuProxyQt::showPopupMenu):
+ * UIProcess/qt/WebPopupMenuProxyQt.h:
+ Pass through the new PlatformPopupMenuData.
+
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+ Port implementation from WebCore.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createPopupMenuProxy):
+ Pass the WebView to the WebPopupMenuProxyWin.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::paint):
+ (WebKit::PluginProxy::update):
+ Update for new BackingStore::paint signature.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::populateItems): Add isLabel for each item.
+ (WebKit::WebPopupMenu::show): Give each platform a chance to add platform specific data.
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+
+ * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: Added.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ * WebProcess/WebCoreSupport/qt/WebPopupMenuQt.cpp: Added.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Add stubbed out setUpPlatformData.
+
+ * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Added.
+ (WebKit::WebPopupMenu::setUpPlatformData):
+ Compute data needed in the UIProcess including generating the bitmaps.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-09 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt][WK2] ASSERT fail in fast/frames/lots-of-objects.html
+ https://bugs.webkit.org/show_bug.cgi?id=49253
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::create): Do not assert
+ when the attach was unsuccessful but return with 0.
+
+2010-11-09 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] WebKitTestRunner is dead
+ https://bugs.webkit.org/show_bug.cgi?id=49129
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::~SharedMemory):
+ Follow up fix: do not access the QSharedMemory object
+ in an assert if it has been deleted.
+
+2010-11-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Send page scroll requests to the PageClient when scroll delegation is turned on
+ https://bugs.webkit.org/show_bug.cgi?id=49171
+
+ Implement the IPC and API required for making scroll delegation work
+ with WebKit2. This is only used when you have tiling enabled.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::pageDidRequestScroll):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::pageDidRequestScroll):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::delegatedScrollRequested):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::pageDidRequestScroll):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-11-08 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/8531943> Enable partial symbolication for sandbox violations in WebProcess.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2010-11-08 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Added new methods to QWKHistory and made QWKHistoryItemPrivate to shared object.
+ https://bugs.webkit.org/show_bug.cgi?id=49063
+
+ Added more functionality to the QWKHistory and changed QWKHistoryItemPrivate to shared object.
+ This is needed because we cannot delete the QWKHistoryItemPrivate pointer in destructor of QWKHistoryItem,
+ there may have other history instances which share same private implementation.
+
+ * UIProcess/API/qt/qwkhistory.cpp:
+ (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
+ (QWKHistoryItem::QWKHistoryItem):
+ (QWKHistoryItem::QWKHistoryItem::operator=):
+ (QWKHistory::currentItem): Added
+ (QWKHistory::backItem): Added
+ (QWKHistory::forwardItem): Added
+ (QWKHistory::itemAt): Added
+ (QWKHistory::backItems): Added
+ (QWKHistory::forwardItems): Added
+ * UIProcess/API/qt/qwkhistory.h:
+ * UIProcess/API/qt/qwkhistory_p.h:
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add WKDownloadClient API
+ https://bugs.webkit.org/show_bug.cgi?id=49227
+
+ * Shared/API/c/WKBase.h:
+ Add WKDownloadRef.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add WKDownloadRef <-> DownloadProxy mapping.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetDownloadClient):
+ Initialize the download client.
+
+ * UIProcess/API/C/WKContext.h:
+ Add new WKContextDownloadClient API.
+
+ * UIProcess/API/C/WKDownload.cpp: Added.
+ * UIProcess/API/C/WKDownload.h:
+ Add WKDownload files.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didStart):
+ (WebKit::DownloadProxy::didCreateDestination):
+ (WebKit::DownloadProxy::didFinish):
+ Call down to the the WebDownloadClient.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in:
+ Rename DidBegin to DidStart.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeDownloadClient):
+ Initialize the download client.
+
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::downloadClient):
+ Add getter.
+
+ * UIProcess/WebDownloadClient.cpp:
+ (WebKit::WebDownloadClient::didStart):
+ (WebKit::WebDownloadClient::didCreateDestination):
+ (WebKit::WebDownloadClient::didFinish):
+ Call the relevant WKContextDownloadClient functions.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didStart):
+ * WebProcess/Downloads/Download.h:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate downloadDidBegin:]):
+ Rename Download::didBegin to Download::didStart.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-08 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Part of https://bugs.webkit.org/show_bug.cgi?id=49222
+ Rename "WebContextMenuItem" to "WebContextMenuItemData"
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Shared/WebContextMenuItem.cpp: Removed.
+ * Shared/WebContextMenuItem.h: Removed.
+ * Shared/WebContextMenuItemData.cpp: Copied from Shared/WebContextMenuItem.cpp.
+ (WebKit::WebContextMenuItemData::WebContextMenuItemData):
+ (WebKit::WebContextMenuItemData::encode):
+ (WebKit::WebContextMenuItemData::decode):
+ (WebKit::kitItems):
+ * Shared/WebContextMenuItemData.h: Copied from Shared/WebContextMenuItem.h.
+ (WebKit::WebContextMenuItemData::submenu):
+
+ * UIProcess/WebContextMenuProxy.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showContextMenu):
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/mac/WebContextMenuProxyMac.h:
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (-[WebMenuTarget forwardContextMenuAction:]):
+ (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
+ (WebKit::nsMenuItemVector):
+ (WebKit::WebContextMenuProxyMac::populate):
+ (WebKit::WebContextMenuProxyMac::showContextMenu):
+
+ * UIProcess/qt/WebContextMenuProxyQt.cpp:
+ (WebKit::WebContextMenuProxyQt::showContextMenu):
+ * UIProcess/qt/WebContextMenuProxyQt.h:
+
+ * UIProcess/win/WebContextMenuProxyWin.cpp:
+ (WebKit::WebContextMenuProxyWin::showContextMenu):
+ * UIProcess/win/WebContextMenuProxyWin.h:
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::itemSelected):
+ * WebProcess/WebPage/WebContextMenu.h:
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didSelectItemFromActiveContextMenu):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan and Dan Bernstein.
+
+ Find in Page: scrolling the page with the scrollbar while overlay is up dismisses the overlay
+ https://bugs.webkit.org/show_bug.cgi?id=49219
+ <rdar://problem/8569550>
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::bounds):
+ Return the bounds of the find page overlay, excluding any scrollbars.
+
+ (WebKit::FindPageOverlay::drawRect):
+ Call bounds.
+
+ (WebKit::FindPageOverlay::mouseEvent):
+ Only dismiss the find UI if the mouse down event happens inside the overlay bounds.
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add the ability to send messages to DownloadProxy objects
+ https://bugs.webkit.org/show_bug.cgi?id=49213
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ Add Download.messages.in.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add MessageClassDownloadProxy message class.
+
+ * Platform/CoreIPC/MessageSender.h:
+ Include Connection.h directly since it's required.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::didBegin):
+ (WebKit::DownloadProxy::didCreateDestination):
+ (WebKit::DownloadProxy::didFinish):
+ Add stubs.
+
+ * UIProcess/Downloads/DownloadProxy.messages.in: Added.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveMessage):
+ Handle DownloadProxy messages.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ Hand DownloadProxy messages off to the context.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::didBegin):
+ (WebKit::Download::didReceiveData):
+ (WebKit::Download::didCreateDestination):
+ (WebKit::Download::didFinish):
+ Send messages.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:didCreateDestination:]):
+ Call Download::didCreateDestination.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add DownloadProxy object
+ https://bugs.webkit.org/show_bug.cgi?id=49211
+
+ DownloadProxy will be the implementation of the forthcoming WKDownloadRef object.
+
+ * Shared/APIObject.h:
+ Add TypeDownload.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::generateDownloadID):
+ Generate a unique download ID.
+
+ (WebKit::DownloadProxy::invalidate):
+ Null out the web context.
+
+ * UIProcess/Downloads/DownloadProxy.h:
+ (WebKit::WebContext::processDidClose):
+ Invalidate all downloads.
+
+ (WebKit::WebContext::createDownloadProxy):
+ Create a WebDownload object.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ Call createDownloadProxy instead.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+ * win/WebKit2Common.vsprops:
+ Add new include path.
+
+2010-11-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49201
+ Crash when closing a page
+
+ Handle null frame by passing a 0 frame id (normal ones start from 1).
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::focusedFrameChanged):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::focusedFrameChanged):
+
+2010-11-08 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Function call update for
+ https://bugs.webkit.org/show_bug.cgi?id=27165.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::Stream::start):
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ NPClass::construct and NPClass::invokeDefault never called with out-of-process plug-ins in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=49198
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::invokeDefault):
+ Call NPClass::invokeDefault.
+
+ (WebKit::NPObjectMessageReceiver::construct):
+ Call NPClass::construct
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add InvokeDefault and Construct messages.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::invokeDefault):
+ Send the InvokeDefault message.
+
+ (WebKit::NPObjectProxy::construct):
+ Send the Construct message.
+
+ (WebKit::NPObjectProxy::NP_InvokeDefault):
+ Call NPObjectProxy::invokeDefault.
+
+ (WebKit::NPObjectProxy::NP_Construct):
+ Call NPObjectProxy::construct.
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Plug-in views should not assume that plugins are RenderEmbeddedObjects
+ https://bugs.webkit.org/show_bug.cgi?id=49196
+ <rdar://problem/8638467>
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::pluginProcessCrashed):
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ NPN_Evaluate doesn't work with out-of-process plugins in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=49193
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::evaluate):
+ Send an Evaluate message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::evaluate):
+ Call Evaluate on the plug-in proxy.
+
+ * WebProcess/Plugins/PluginProxy.h:
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add Evaluate message.
+
+2010-11-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Correctly convert NPObjectProxy to NPVariantData
+ https://bugs.webkit.org/show_bug.cgi?id=49190
+
+ * Shared/Plugins/NPObjectMessageReceiver.h:
+ (WebKit::NPObjectMessageReceiver::npObject):
+ Add NPObject getter.
+
+ * Shared/Plugins/NPObjectProxy.h:
+ (WebKit::NPObjectProxy::npObjectID):
+ Add NPObjectID getter.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ Handle the case where the NPObject is an NPObjectProxy.
+
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ Handle NPVariantData::LocalNPObjectID.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::makeRemoteNPObjectID):
+ * Shared/Plugins/NPVariantData.h:
+ New function for creating an NPVariantData that contains a remote NPObject ID.
+
+2010-11-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48685
+ Notify UI process about focused frame
+
+ Handle notifications, store the current one in WebPageProxy in UI process.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetFocusedFrame):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::focusedFrameChanged):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::focusedFrame):
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::focusedFrameChanged):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-11-07 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Rename Cache to MemoryCache
+ https://bugs.webkit.org/show_bug.cgi?id=49159
+
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/mac/WebProcessMac.mm:
+ * WebProcess/win/WebProcessWin.cpp:
+
+2010-11-06 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] WebKitTestRunner is dead
+ https://bugs.webkit.org/show_bug.cgi?id=49129
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::~SharedMemory):
+ Avoid double deletion when deleteLater has
+ already been called.
+
+2010-11-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ suspendAnimations/resumeAnimations not present in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=49109
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameSuspendAnimations):
+ (WKBundleFrameResumeAnimations):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::suspendAnimations):
+ (WebKit::WebFrame::resumeAnimations):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-11-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebProcess won't kill itself if UIProcess goes away while WebProcess is spinning
+ https://bugs.webkit.org/show_bug.cgi?id=49090
+ <rdar://problem/7834575>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::connectionDidClose):
+ Call Client::didCloseOnConnectionWorkQueue.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Client::didCloseOnConnectionWorkQueue):
+ Add new client function. Will be called on the connection work queue when the connection is closed.
+
+ * Platform/WorkItem.h:
+ (FunctionWorkItem0::FunctionWorkItem0):
+ (FunctionWorkItem0::execute):
+ (WorkItem::create):
+ Add a new WorkItem subclass that will invoke a C function.
+
+ * Platform/WorkQueue.h:
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ New function which will schedule the given work item to be executed in at least 'delay' seconds.
+
+ * Platform/qt/WorkQueueQt.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ Add empty stub.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::scheduleWorkAfterDelay):
+ Ditto.
+
+ * PluginProcess/PluginProcess.h:
+ Derive from ChildProcess.
+
+ * Shared/ChildProcess.cpp: Added.
+ (WebKit::ChildProcess::ChildProcess):
+ (WebKit::ChildProcess::~ChildProcess):
+ (WebKit::watchdogCallback):
+ Call _exit.
+
+ (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
+ When the connection is closed, schedule a work item to be run in 10 seconds. If the process hasn't
+ exited normally by then, we'll exit.
+
+ * Shared/ChildProcess.h:
+ Add new ChildProcess class which is a common base class of WebProcess and PluginProcess and which contains
+ the watchdog timer logic.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebProcess.h:
+ Derive from ChildProcess.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-05 Adam Roben <aroben@apple.com>
+
+ Implement PluginInfoStore::shouldUsePlugin on Windows
+
+ Fixes <http://webkit.org/b/43509> <rdar://problem/8273822> WebKit2
+ should refuse to load the same plugins that old-WebKit refuses to load
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::fileVersion): Helper function to construct a 64-bit file
+ version from two 32-bit numbers.
+ (WebKit::PluginInfoStore::getPluginInfo): Ported code from
+ WebCore::PluginPackage::fetchInfo to get the plugin's version. We now
+ store it in Plugin::fileVersion.
+
+ (WebKit::isOldWindowsMediaPlayerPlugin):
+ (WebKit::isNewWindowsMediaPlayerPlugin):
+ Added these helpers. The code came from
+ WebCore::PluginDatabase::getPluginPathsInDirectories.
+
+ (WebKit::PluginInfoStore::shouldUsePlugin): Implemented. The code was
+ ported from WebCore::PluginDatabase::getPluginPathsInDirectories and
+ WebCore::PluginPackage::isPluginBlacklisted.
+
+2010-11-05 Adam Roben <aroben@apple.com>
+
+ Operate on m_plugins directly in PluginInfoStore::shouldUsePlugin
+
+ We'll need to operate on m_plugins if we ever want to unload an
+ already-loaded plugin before loading the new one.
+
+ Fixes <http://webkit.org/b/49076> loadedPlugins parameter to
+ PluginInfoStore::shouldUsePlugin is redundant
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::loadPlugin):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ Removed the loadedPlugins parameter from shouldUsePlugin. The single
+ implementation (Mac) now uses m_plugins directly.
+
+2010-11-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement pluginElementNPObject
+ https://bugs.webkit.org/show_bug.cgi?id=49077
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::pluginElementNPObject):
+ Send the GetPluginElementNPObject message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getPluginElementNPObject):
+ Get the plug-in element NPObject and expose it to the other side of the connection.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add GetPluginElementNPObject.
+
+2010-11-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Implement NP_RemoveProperty and NP_Enumerate
+ https://bugs.webkit.org/show_bug.cgi?id=49046
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::removeProperty):
+ Call the removeProperty NPClass function.
+
+ (WebKit::NPObjectMessageReceiver::enumerate):
+ Call the enumerate NPClass function.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add RemoveProperty and Enumerate messages.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::removeProperty):
+ Send the RemoveProperty message.
+
+ (WebKit::NPObjectProxy::enumerate):
+ Send the Enumerate message.
+
+ (WebKit::NPObjectProxy::NP_RemoveProperty):
+ Call removeProperty.
+
+ (WebKit::NPObjectProxy::NP_Enumerate):
+ Call enumerate.
+
+2010-11-05 Sam Weinig <sam@webkit.org>
+
+ Fix failing python tests.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+
+2010-11-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben..
+
+ Generate the messages sent to the WebProcessProxy
+ https://bugs.webkit.org/show_bug.cgi?id=49062
+
+ * Platform/CoreIPC/MessageID.h:
+ Temporarily add MessageClassWebProcessProxyLegacy while we still can't
+ support GetPluginProcessConnection (and deferred sync replies) in the
+ general mechanism.
+
+ * Scripts/webkit2/messages.py:
+ Add support for WebCore::PluginData and WebKit::WebNavigationDataStore.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ Remove now unused kinds. Rename to MessageClassWebProcessProxyLegacy.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginPath):
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ (WebKit::WebProcessProxy::didNavigateWithNavigationData):
+ (WebKit::WebProcessProxy::didPerformClientRedirect):
+ (WebKit::WebProcessProxy::didPerformServerRedirect):
+ (WebKit::WebProcessProxy::didUpdateHistoryTitle):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ (WebKit::WebProcessProxy::didDestroyFrame):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebProcessProxy.messages.in: Added.
+ Move implementations to their own functions.
+
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ Change to use WebProcessProxyLegacyMessage.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+ (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+ (WebKit::WebFrameLoaderClient::setTitle):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::updateBackForwardItem):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::addVisitedLink):
+ (WebKit::WebProcess::removeWebFrame):
+ Use generated messages.
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-11-04 Adam Roben <aroben@apple.com>
+
+ Use a window region to clip windowed plugins
+
+ Fixes <http://webkit.org/b/49024> <rdar://problem/8487847> Windowed
+ plugins aren't clipped in WebKit2 on Windows
+
+ Reviewed by Jon Honeycutt.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::registerPluginView): Removed the CS_PARENTDC style. This style
+ makes Windows ignore the window region and always clip to the parent
+ window. Also pass WebKit.dll's HINSTANCE as part of the WNDCLASSW
+ struct so that the window class will be specific to WebKit.dll rather
+ than to WebKit2WebProcess.exe. This is useful for testing, but also
+ more pedantically correct.
+ (WebKit::setWindowRegion): Helper function to set a window region and
+ deal with ownership of the HRGN correctly.
+ (WebKit::NetscapePlugin::platformGeometryDidChange): Make an HRGN that
+ corresponds to m_clipRect and set it on the plugin's window.
+
+2010-11-05 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Left over files and shared memory segments
+ https://bugs.webkit.org/show_bug.cgi?id=48985
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::create): Force deletion of the QSharedMemory
+ object on terminate by connecting QCoreApplication::aboutToQuit with
+ deleteLater. Add the object to the CrashHandler as well to release the
+ shared memory segment even on crash.
+ (WebKit::SharedMemory::~SharedMemory):
+ * Shared/qt/CrashHandler.cpp: Added.
+ CrashHandler has a container for QObjects that we want to
+ destroy on crash. When we got a signal that we interpret as
+ a crash then it destroys those objects.
+ (WebKit::CrashHandler::CrashHandler):
+ (WebKit::CrashHandler::signalHandler):
+ (WebKit::CrashHandler::deleteObjects):
+ * Shared/qt/CrashHandler.h: Added.
+ (WebKit::CrashHandler::instance):
+ (WebKit::CrashHandler::didDelete):
+ (WebKit::CrashHandler::markForDeletionOnCrash):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::ProcessLauncherHelper):
+ Add the object itself to the CrashHandler to close the QLocalServer
+ even on crash. Without that the QLocalServer leaves over socket files on the disk.
+ (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper):
+ * WebKit2.pro:
+
+2010-11-04 Jia Pu <jpu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ reversion bubble in WebViews
+ https://bugs.webkit.org/show_bug.cgi?id=47630
+ <rdar://problem/8530960>
+
+ This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method.
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Ditto.
+ (WebKit::WebEditorClient::showCorrectionPanel):
+ (WebKit::WebEditorClient::dismissCorrectionPanel):
+
+2010-11-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by David Hyatt.
+
+ Delegate scrolling via a separate method
+ https://bugs.webkit.org/show_bug.cgi?id=48988
+
+ Add delegatedScrollRequested method to WebChromeClient,
+ which is only used in conjunging with tiling, and thus ifdef'ed.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::delegatedScrollRequested):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-11-03 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Need a way to test in WebKit2 whether a form field contains marked text
+ <rdar://problem/8555293>
+ https://bugs.webkit.org/show_bug.cgi?id=48969
+
+ Added a selection changed notification from the Web process to the UI process.
+ The message being sent contains information about the current selection.
+ Event though for this specific bug the only information required is the marked text,
+ I've added other selection information that will be needed to support IME.
+ All the stubbed methods are required methods by the NSTextInput protocol.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::selectionChanged): Added.
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]): Added initialization of new members.
+ (-[WKView _selectionChanged:isEditable:isPassword:hasMarkedText:]): Stores the values from
+ the selection changed message.
+ (-[WKView selectedRange]): Added stub.
+ (-[WKView hasMarkedText]): Implemented.
+ (-[WKView unmarkText]): Added stub.
+ (-[WKView validAttributesForMarkedText]): Added stub.
+ (-[WKView setMarkedText:selectedRange:]): Added stub.
+ (-[WKView markedRange]): Added stub.
+ (-[WKView attributedSubstringFromRange:]): Added stub.
+ (-[WKView conversationIdentifier]): Added stub.
+ (-[WKView characterIndexForPoint:]): Added stub.
+ (-[WKView firstRectForCharacterRange:]): Added stub.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::selectionChanged): Added.
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didSelectionChange): New message handler.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::selectionChanged): Added.
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection): Added implementation.
+
+2010-11-04 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Cleanup UpdateChunk and MappedMemoryPool
+ https://bugs.webkit.org/show_bug.cgi?id=48994
+
+ * Platform/qt/MappedMemoryPool.cpp:
+ (WebKit::MappedMemoryPool::mapMemory):
+ Removed argument with default value that was always
+ used with the default value.
+ (WebKit::MappedMemoryPool::mapFile): Ditto and
+ add some asserts.
+ * Platform/qt/MappedMemoryPool.h:
+ Encapsulating MappedMemory and remove the unused
+ MappedMemoryPool::searchForMappedMemory method.
+ (WebKit::MappedMemory::mappedFile):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::data):
+ (WebKit::MappedMemory::MappedMemory):
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::mapSize):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::MappedMemoryPool::instance):
+ * Shared/qt/UpdateChunk.cpp:
+ Removed the unused data method besides other cleanups.
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ (WebKit::UpdateChunk::createImage):
+ * Shared/qt/UpdateChunk.h:
+
+2010-11-04 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Add a stub WebContextMenuProxy
+
+ This is the Qt equivalent of r71333.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createContextMenuProxy):
+ * UIProcess/qt/WebContextMenuProxyQt.cpp: Added.
+ (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
+ (WebKit::WebContextMenuProxyQt::create):
+ (WebKit::WebContextMenuProxyQt::showContextMenu):
+ (WebKit::WebContextMenuProxyQt::hideContextMenu):
+ * UIProcess/qt/WebContextMenuProxyQt.h: Added.
+ * WebKit2.pro:
+
+2010-11-04 Adam Roben <aroben@apple.com>
+
+ Add a do-nothing WebContextMenuProxy implementation on Windows
+
+ Fixes <http://webkit.org/b/48992> REGRESSION (r71041): Crash in
+ WebPageProxy::showContextMenu when right-clicking in WebKit2 on
+ Windows
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/win/WebContextMenuProxyWin.cpp: Added.
+ (WebKit::WebContextMenuProxyWin::WebContextMenuProxyWin):
+ (WebKit::WebContextMenuProxyWin::create):
+ (WebKit::WebContextMenuProxyWin::showContextMenu):
+ (WebKit::WebContextMenuProxyWin::hideContextMenu):
+ * UIProcess/win/WebContextMenuProxyWin.h: Added.
+ Just stubbed-out this class.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createContextMenuProxy): Create a new
+ WebContextMenuProxyWin and return it. Returning 0 results in a crash.
+
+ * win/WebKit2.vcproj: Added WebContextMenuProxyWin.
+
+2010-11-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Andreas Kling..
+
+ [Qt] Build Webkit2 both in debug and release on Mac
+
+ On Mac OS X we build QtWebKit in both debug and release, so
+ we need to also build the webkit2 library in both configs.
+
+ * WebKit2.pro:
+
+2010-11-04 Adam Roben <aroben@apple.com>
+
+ Remove lame puts()s from WebPageProxy
+
+ Rubber-stamped by Anders Carlsson.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+
+2010-11-03 Alice Liu <alice.liu@apple.com>
+
+ Fix clang++ build
+
+ * PluginProcess/PluginProcess.h:
+ * UIProcess/Plugins/PluginProcessProxy.h:
+ * UIProcess/WebContextMenuProxy.h:
+ Change class to struct and vise versa where needed.
+
+2010-11-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement NP_SetProperty
+ https://bugs.webkit.org/show_bug.cgi?id=48956
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::setProperty):
+ Call the NPClass setProperty function.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add SetProperty message.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::setProperty):
+ Send a SetProperty message.
+
+ (WebKit::NPObjectProxy::NP_SetProperty):
+ Call NPObjectProxy::setProperty.
+
+2010-11-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Out of process plug-ins don't support the CA drawing model
+ https://bugs.webkit.org/show_bug.cgi?id=48950
+ <rdar://problem/8626019>
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::initialize):
+ Call platformInitialize().
+
+ (WebKit::PluginControllerProxy::destroy):
+ Call platformDestroy().
+
+ (WebKit::PluginControllerProxy::isAcceleratedCompositingEnabled):
+ Assume that accelerated compositing is available if we have a render server port.
+
+ (WebKit::PluginControllerProxy::geometryDidChange):
+ Call platformGeometryDidChange().
+
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ Pass back the remote layer client ID.
+
+ * PluginProcess/WebProcessConnection.messages.in:
+ Add a remoteLayerClientID out parameter to CreatePlugin.
+
+ * PluginProcess/mac/PluginControllerProxyMac.mm: Added.
+ (WebKit::PluginControllerProxy::platformInitialize):
+ If the plug-in has a layer, create a remote layer client and associate it with the layer.
+
+ (WebKit::PluginControllerProxy::platformDestroy):
+ Invalidate the remote layer client.
+
+ (WebKit::PluginControllerProxy::remoteLayerClientID):
+ Return the remote layer client ID if one exists.
+
+ (WebKit::PluginControllerProxy::platformGeometryDidChange):
+ Update the layer bounds.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: Added.
+ (WebKit::PluginProxy::pluginLayer):
+ Create a render layer if needed.
+
+ (WebKit::PluginProxy::needsBackingStore):
+ Return whether the plug-in needs a backing store. (It doesn't need a backing store if it's a CA plug-in).
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::PluginProxy):
+ Initialize m_remoteLayerClientID.
+
+ (WebKit::PluginProxy::initialize):
+ Set m_remoteLayerClientID.
+
+ (WebKit::PluginProxy::paint):
+ Bail if the plug-in doesn't need a backing store.
+
+ (WebKit::PluginProxy::geometryDidChange):
+ Don't create a backing store if the plug-in doesn't need one.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ Remove RetainPtr initialization.
+
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ Use nullptr instead of 0.
+
+2010-11-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Crash when layout in response to setSize changes the drawing area
+ https://bugs.webkit.org/show_bug.cgi?id=48947
+
+ This is tested by compositing/plugins/small-to-large-composited-plugin.html.
+
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::setSize):
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::setSize):
+
+2010-11-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Pass the accelerated compositing render server port to the plug-in process at startup
+ https://bugs.webkit.org/show_bug.cgi?id=48925
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::PluginProcess):
+ Initialize m_compositingRenderServerPort to MACH_PORT_NULL.
+
+ (WebKit::PluginProcess::initialize):
+ Get the plug-in path and render server port from the creation parameters.
+
+ * PluginProcess/PluginProcess.messages.in:
+ Change the Initialize message to take a PluginProcessCreationParameters struct.
+
+ * Shared/Plugins/PluginProcessCreationParameters.cpp: Added.
+ * Shared/Plugins/PluginProcessCreationParameters.h: Added.
+ Add new PluginProcessCreationParameters struct.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ Initialize now takes a PluginProcessCreationParameters struct.
+
+ * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: Added.
+ (WebKit::PluginProcessProxy::platformInitializePluginProcess):
+ Initialize the render server port.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-11-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add the webkit2 library to LIBS instead of QMAKE_LFLAGS
+
+ Otherwise the library order will get messed up and cause
+ missing symbols on Mac OS X.
+
+ * WebKit2.pri:
+ * WebKit2.pro:
+
+2010-11-02 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ For unnamed frames, window.name returns a generated name
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Part 1 of 2.
+
+ Substitute FrameTree::uniqueName() for FrameTree::name() in WebKit2.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::name):
+
+2010-11-02 Amruth Raj <amruthraj@motorola.com> and Ravi Kasibhatla <ravi.kasibhatla@motorola.com>
+
+ Reviewed by Martin Robinson.
+
+ Changes to enable building WebKit2 for Gtk port.
+ (https://bugs.webkit.org/show_bug.cgi?id=37369)
+
+ * Platform/gtk: Added.
+ * Platform/gtk/SharedMemoryGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+ (WebKit::SharedMemory::systemPageSize):
+ * Shared/gtk: Added.
+ * Shared/gtk/BackingStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::BackingStore::createGraphicsContext):
+ (WebKit::BackingStore::paint):
+ * Shared/gtk/PlatformCertificateInfo.h: Added. Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ * Shared/gtk/WebCoreArgumentCodersGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * UIProcess/Plugins/gtk: Added.
+ * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/gtk: Added.
+ * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::InjectedBundle::load):
+ (WebKit::InjectedBundle::activateMacFontAscentHack):
+ * WebProcess/Plugins/Netscape/gtk: Added.
+ * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+ (WebKit::NetscapePlugin::platformPaint):
+ (WebKit::toNP):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ * WebProcess/WebCoreSupport/gtk: Added.
+ * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h: Added. Added. Stubbed implementation for GTK port. Yet to implement.
+ (WebFrameNetworkingContext::create):
+ (WebFrameNetworkingContext::WebFrameNetworkingContext):
+
+2010-11-02 Jing Jin <jjin@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Key down calls are not being sent to the application.
+ https://bugs.webkit.org/show_bug.cgi?id=48867
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView keyDown:]): Call super when ignoring a key down.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Add Null and Int32 to NPVariantData
+ https://bugs.webkit.org/show_bug.cgi?id=48887
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::NPVariantData):
+ (WebKit::NPVariantData::makeNull):
+ (WebKit::NPVariantData::makeInt32):
+ (WebKit::NPVariantData::encode):
+ (WebKit::NPVariantData::decode):
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::int32Value):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add support for NP_HasMethod and NP_Invoke
+ https://bugs.webkit.org/show_bug.cgi?id=48882
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new overload.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::hasMethod):
+ Call hasMethod and return the result.
+
+ (WebKit::NPObjectMessageReceiver::invoke):
+ Convert the arguments, call invoke and return the result.
+
+ (WebKit::NPObjectMessageReceiver::getProperty):
+ Release the converted variant.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add HasMethod and Invoke messages.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::hasMethod):
+ Send the HasMethod message.
+
+ (WebKit::NPObjectProxy::invoke):
+ Send the Invoke message.
+
+ (WebKit::NPObjectProxy::NP_HasMethod):
+ Call hasMethod.
+
+ (WebKit::NPObjectProxy::NP_Invoke):
+ Call invoke.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NP_HasProperty for NPObjectProxy
+ https://bugs.webkit.org/show_bug.cgi?id=48876
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::hasProperty):
+ Call The hasProperty callback function.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add HasProperty message.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::hasProperty):
+ Send the HasProperty message.
+
+ (WebKit::NPObjectProxy::NP_HasProperty):
+ Call hasProperty.
+
+
+2010-11-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add a way to send startup messages on the context which can be posted when a process launches
+ <rdar://problem/8617928>
+ https://bugs.webkit.org/show_bug.cgi?id=48838
+
+ Adds WKContextSetInitializationUserDataForInjectedBundle which sets an
+ APIObject on WebContext to be sent to the InjectedBundle's WKBundleInitialize
+ function each time a process starts up. This can help in cases where
+ the WebProcess dies, and will be helpful in the world where there are
+ multiple WebProcess's per context.
+
+ * Scripts/webkit2/messages.py:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetInitializationUserDataForInjectedBundle):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::setInjectedBundleInitializationUserData):
+ (WebKit::WebContext::injectedBundleInitializationUserData):
+ * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::load):
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ (WebKit::InjectedBundle::load):
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+ (WebKit::InjectedBundle::load):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement PluginProxy::pluginScriptableNPObject
+ https://bugs.webkit.org/show_bug.cgi?id=48874
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::getPluginScriptableNPObject):
+ Ask the plug-in for its scriptable NPObject, register it with the map and return its object ID.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add GetPluginScriptableNPObject message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::pluginScriptableNPObject):
+ Send the GetPluginScriptableNPObject message.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add strings to NPVariantData
+ https://bugs.webkit.org/show_bug.cgi?id=48871
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::makeString):
+ (WebKit::NPVariantData::encode):
+ (WebKit::NPVariantData::decode):
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::stringValue):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add convenience functions for allocating NPAPI memory
+ https://bugs.webkit.org/show_bug.cgi?id=48870
+
+ Add npnMemAlloc, npnMemFree and createNPString functions and
+ npnMemNew, npnMemNewArray function templates.
+
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+ (WebKit::JSNPObject::getOwnPropertyNames):
+ Use npnMemFree.
+
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ Use npnMemNewArray.
+
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ Use createNPString.
+
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
+ (WebKit::npnMemAlloc):
+ Call malloc.
+
+ (WebKit::npnMemFree):
+ Call free.
+
+ (WebKit::createNPString):
+ Allocate the characters for a new NPString.
+
+ (WebKit::createNPObject):
+ Call npnMemNew.
+
+ (WebKit::deallocateNPObject):
+ Call npnMemFree.
+
+ (WebKit::releaseNPVariantValue):
+ Call npnMemFree.
+
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
+ (WebKit::npnMemNew):
+ (WebKit::npnMemNewArray):
+ Add new functions.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_MemAlloc):
+ Call npnMemAlloc.
+
+ (WebKit::NPN_MemFree):
+ Call npnMemFree.
+
+ (WebKit::NPN_UTF8FromIdentifier):
+ Call npnMemNewArray.
+
+ (WebKit::copyCString):
+ Call npnMemNewArray. Correctly initialize the "len" out parameter.
+
+2010-11-02 Jessie Berlin <jberlin@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ * win/WebKit2Generated.make:
+ Add WKInspector.h so that it is copied over to the WebKitBuild directory.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add some support for remote and local NPObjects to NPRemoteObjectMap
+ https://bugs.webkit.org/show_bug.cgi?id=48864
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ If the NPVariant contains an NPObject that isn't an NPObjectProxy, register it
+ and return its ID.
+
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ If the NPVariantData contains a remote object, create an NPObjectProxy and return it.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::NPVariantData):
+ Initialize m_localNPObjectIDValue and m_remoteNPObjectIDValue.
+
+ (WebKit::NPVariantData::makeLocalNPObjectID):
+ Create an NPVariantData that contains a local NPObject ID.
+
+ (WebKit::NPVariantData::encode):
+ Handle local and remote NPObject IDs.
+
+ (WebKit::NPVariantData::decode):
+ Decode local and remote NPObject IDs and "swap them" so an encoded remote NPObject ID is
+ decoded as a local NPObjectID (and vice versa).
+
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::localNPObjectIDValue):
+ (WebKit::NPVariantData::remoteNPObjectIDValue):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix a GCC release only warning.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::NPVariantData):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Invalidate the NPRemoteObjectMap
+ https://bugs.webkit.org/show_bug.cgi?id=48856
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ Remove FIXME. The NPRemoteObjectMap always outlives the NPObjectMessageReceiver.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::~NPObjectProxy):
+ Call npObjectProxyDestroyed here.
+
+ (WebKit::NPObjectProxy::invalidate):
+ Null out m_npRemoteObjectMap.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap):
+ Add assertions.
+
+ (WebKit::NPRemoteObjectMap::createNPObjectProxy):
+ Keep track of the NPObjectProxy by adding it to the m_npObjectProxies set.
+
+ (WebKit::NPRemoteObjectMap::npObjectProxyDestroyed):
+ Remove the NPObjectProxy from the m_npObjectProxies set.
+
+ (WebKit::NPRemoteObjectMap::invalidate):
+ Delete all NPObjectMessageReceivers. Iterate over all NPObjectProxy objects and invalidate them.
+
+2010-11-02 Mike Thole <mthole@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebProcessManager informed about crashes too late (pages may have already tried to load a new URL)
+ https://bugs.webkit.org/show_bug.cgi?id=48853
+
+ This also fixes: <rdar://problem/8610451> Webkit2: Crash in WebKit!WebKit::WebProcessProxy::sendMessage opening google.com page
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ Removed invalid assertion that is hit when the WebProcess dies unexpectedly.
+ (WebKit::WebProcessProxy::didClose):
+ Reordered so that the individual pages are informed that the processDidCrash() after the shared
+ WebProcessManager has been. This allows the pages to properly trigger a new process to be launched.
+
+2010-11-02 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ WebKit2: Repeated cmd-key presses lead to unusable UI state
+ https://bugs.webkit.org/show_bug.cgi?id=48811
+ <rdar://problem/8611924>
+
+ Given the asynchronous nature of every interaction with the WebProcess,
+ we could re-send a keyDown event to AppKit that maps to an
+ action that is currently disabled and therefore will not trigger an action
+ but a call to the keyDown method of the NSView. We need to detect this
+ situation to avoid an infinite loop.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView performKeyEquivalent:]): Delay the release of the last processed event
+ to the moment we receive another event.
+ (-[WKView keyDown:]): Added early return in case the event is one we have re-sent.
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Handle boolean values in NPVariant and NPVariantData
+ https://bugs.webkit.org/show_bug.cgi?id=48852
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::makeBool):
+ (WebKit::NPVariantData::encode):
+ (WebKit::NPVariantData::decode):
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::boolValue):
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Assertion hit in WebProcessProxy::~WebProcessProxy()
+ https://bugs.webkit.org/show_bug.cgi?id=48849
+ <rdar://problem/8617676>
+
+ It is perfectly valid for the page map to contain pages if the web process proxy
+ goes away, this can happen if the process crashes for example.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ Remove the assertion.
+
+2010-11-02 Christian Sejersen <christian.webkit@gmail.com>
+
+ Reviewed by Andreas Kling.
+
+ The previous patch only took into account arm targets. This one
+ now checks whether the build is done inside Scratchbox.
+ https://bugs.webkit.org/show_bug.cgi?id=47895
+
+ * DerivedSources.pro:
+
+2010-11-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ More NPRuntime work
+ https://bugs.webkit.org/show_bug.cgi?id=48847
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::~WebProcessConnection):
+ Add assertions.
+
+ (WebKit::WebProcessConnection::removePluginControllerProxy):
+ If we have no more plug-in controller proxies, invalidate the remote object map.
+
+ * Shared/Plugins/NPIdentifierData.cpp:
+ (WebKit::NPIdentifierData::createNPIdentifier):
+ Create an NPIdentifier from the given NPIdentifierData.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::create):
+ (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
+ This now takes the NPRemoteObjectMap as well as the npObjectID of the object.
+
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ Unregister the object.
+
+ (WebKit::NPObjectMessageReceiver::deallocate):
+ Delete the object.
+
+ (WebKit::NPObjectMessageReceiver::getProperty):
+ Ask the NPObject for the property and convert it back to an NPVariantData.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::~NPObjectProxy):
+ Send a Deallocate message to the corresponding message receiver on the other side.
+
+ (WebKit::NPObjectProxy::getProperty):
+ Convert the NPVariantData back to an NPVariant and return it.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::registerNPObject):
+ Pass the NPRemoteObjectMap and the npObjectID to NPObjectMessageReceiver::create.
+
+ (WebKit::NPRemoteObjectMap::unregisterNPObject):
+ Remove the given object from the map of registered objects.
+
+ (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
+ Given an NPVariant, create an NPVariantData. Only supports void and double types right now.
+
+ (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
+ Given an NPVariantData, create an NPVariant. Only supports void and double types right now.
+
+ (WebKit::NPRemoteObjectMap::invalidate):
+ Add stub.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ (WebKit::NPVariantData::NPVariantData):
+ Set the type to void by default.
+
+ (WebKit::NPVariantData::makeVoid):
+ Return a void NPVariantData.
+
+ (WebKit::NPVariantData::makeDouble):
+ Return an NPVariantData that contains a double value.
+
+ (WebKit::NPVariantData::encode):
+ Encode the NPVariantData.
+
+ (WebKit::NPVariantData::decode):
+ Decode the NPVariantData.
+
+ * Shared/Plugins/NPVariantData.h:
+ (WebKit::NPVariantData::type):
+ Return the type of the NPVariantData.
+
+ (WebKit::NPVariantData::doubleValue):
+ Return the double value of the NPVariantData.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didClose):
+ Use nullptr instead of 0.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::~PluginProcessConnection):
+ Assert that the connection and the remote object map are both null.
+
+ (WebKit::PluginProcessConnection::removePluginProxy):
+ If this was the last plug-in proxy, invalidate the remote object map.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::shutdown):
+ Use nullptr instead of 0.
+
+2010-11-02 Balazs Kelemen <kbalazs@webkit.org>
+
+ Unreviewed Qt buildfix.
+
+ * DerivedSources.pro: Add WebInspector to the list of
+ message recievers.
+
+2010-11-02 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] SharedMemory is broken
+ https://bugs.webkit.org/show_bug.cgi?id=48520
+
+ Implement SharedMemory with QSharedMemory to correctly handle
+ ownership and to avoid extra allocation for page size requests.
+ * Platform/SharedMemory.h:
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::isNull):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::createUniqueKey):
+ (WebKit::SharedMemory::create):
+ (WebKit::accessMode):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+
+2010-11-02 Timothy Hatcher <timothy@apple.com>
+
+ Add WKInspector public APIs.
+
+ https://webkit.org/b/48718
+
+ Reviewed by Pavel Feldman.
+
+ * DerivedSources.make: Added WebInspector to MESSAGE_RECEIVERS section.
+ * UIProcess/API/C/WKInspector.cpp:
+ (WKInspectorIsVisible): Added.
+ (WKInspectorShow): Added.
+ (WKInspectorClose): Added.
+ (WKInspectorShowConsole): Added.
+ (WKInspectorIsAttached): Added.
+ (WKInspectorAttach): Added.
+ (WKInspectorDetach): Added.
+ (WKInspectorIsDebuggingJavaScript): Added.
+ (WKInspectorToggleJavaScriptDebugging): Added.
+ (WKInspectorIsProfilingJavaScript): Added.
+ (WKInspectorToggleJavaScriptProfiling): Added.
+ (WKInspectorIsProfilingPage): Added.
+ (WKInspectorTogglePageProfiling): Added.
+ * UIProcess/API/C/WKInspector.h: Added new functions.
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize new booleans.
+ (WebKit::WebInspectorProxy::invalidate): Reset new booleans.
+ (WebKit::WebInspectorProxy::show): Added.
+ (WebKit::WebInspectorProxy::close): Added.
+ (WebKit::WebInspectorProxy::showConsole): Added.
+ (WebKit::WebInspectorProxy::attach): Added.
+ (WebKit::WebInspectorProxy::detach): Added.
+ (WebKit::WebInspectorProxy::toggleJavaScriptDebugging): Added.
+ (WebKit::WebInspectorProxy::toggleJavaScriptProfiling): Added.
+ (WebKit::WebInspectorProxy::togglePageProfiling): Added.
+ * UIProcess/WebInspectorProxy.h:
+ (WebKit::WebInspectorProxy::isVisible): Added.
+ (WebKit::WebInspectorProxy::isAttached): Added.
+ (WebKit::WebInspectorProxy::isDebuggingJavaScript): Added.
+ (WebKit::WebInspectorProxy::isProfilingJavaScript): Added.
+ (WebKit::WebInspectorProxy::isProfilingPage): Added.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Invalidate the WebInspectorProxy.
+ (WebKit::WebPageProxy::inspector): Return 0 if closed or invalid.
+ * WebKit2.pro: Added new files.
+ * WebKit2.xcodeproj/project.pbxproj: Added new Files.
+ * WebProcess/WebPage/WebInspector.cpp:
+ (WebKit::WebInspector::show): Added.
+ (WebKit::WebInspector::close): Added.
+ (WebKit::WebInspector::showConsole): Added.
+ (WebKit::WebInspector::startJavaScriptDebugging): Added.
+ (WebKit::WebInspector::stopJavaScriptDebugging): Added.
+ (WebKit::WebInspector::startJavaScriptProfiling): Added.
+ (WebKit::WebInspector::stopJavaScriptProfiling): Added.
+ (WebKit::WebInspector::startPageProfiling): Added.
+ (WebKit::WebInspector::stopPageProfiling): Added.
+ * WebProcess/WebPage/WebInspector.h:
+ (WebKit::WebInspector::page): Added.
+ * WebProcess/WebPage/WebInspector.messages.in: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close): Destroy the WebInspector.
+ (WebKit::WebPage::inspector): Return 0 if closed.
+ (WebKit::WebPage::didReceiveMessage): Send the message to the WebInspector
+ if the message class is MessageClassWebInspector.
+ * win/WebKit2.vcproj: Added new files.
+
+2010-11-02 Timothy Hatcher <timothy@apple.com>
+
+ Make WebInspectorFrontendClient inherit from InspectorFrontendClientLocal.
+
+ We can do this since the Web Inspector WebPage will share the same process
+ with the inspected WebPage.
+
+ https://webkit.org/b/48652
+
+ Reviewed by Pavel Feldman.
+
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
+ (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
+ Call the InspectorFrontendClientLocal constructor.
+ (WebKit::WebInspectorFrontendClient::attachWindow): Added.
+ (WebKit::WebInspectorFrontendClient::detachWindow): Added.
+ (WebKit::WebInspectorFrontendClient::setAttachedWindowHeight): Added.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
+
+2010-11-01 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Initial implementation of QWKHistoryItem.
+ https://bugs.webkit.org/show_bug.cgi?id=48620
+
+ The QWkHistoryItem represents one item in the history of QWKPage.
+
+ * UIProcess/API/qt/qwkhistory.cpp:
+ (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
+ (QWKHistoryItem::QWKHistoryItem):
+ (QWKHistoryItem::~QWKHistoryItem):
+ (QWKHistoryItem::title): The page title
+ (QWKHistoryItem::url): The URL of the page.
+ (QWKHistoryItem::originalUrl): The URL used to access the page.
+ * UIProcess/API/qt/qwkhistory.h:
+ * UIProcess/API/qt/qwkhistory_p.h:
+ * WebKit2.pro: Added WKBackForwardListItem.h and WKBackForwardListItem.cpp
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Make NPRemoteObjectMap a ref counted object
+ https://bugs.webkit.org/show_bug.cgi?id=48808
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::WebProcessConnection):
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ * PluginProcess/WebProcessConnection.h:
+ (WebKit::WebProcessConnection::npRemoteObjectMap):
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::create):
+ (WebKit::NPRemoteObjectMap::~NPRemoteObjectMap):
+ (WebKit::NPRemoteObjectMap::createNPObjectProxy):
+ * Shared/Plugins/NPRemoteObjectMap.h:
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::PluginProcessConnection):
+ (WebKit::PluginProcessConnection::didReceiveSyncMessage):
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ (WebKit::PluginProcessConnection::npRemoteObjectMap):
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getWindowScriptNPObject):
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Respond to NP_GetProperty by sending a GetProperty message
+ https://bugs.webkit.org/show_bug.cgi?id=48797
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new sync message overload.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
+
+ * Shared/Plugins/NPIdentifierData.cpp:
+ * Shared/Plugins/NPIdentifierData.h:
+ Add NPIdentifierData, a CoreIPC representation of an NPIdentifier.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::getProperty):
+ Add stub.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in:
+ Add GetProperty.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::create):
+ (WebKit::NPObjectProxy::NPObjectProxy):
+ (WebKit::NPObjectProxy::initialize):
+ NPObjectProxy now takes an NPRemoteObjectMap in its create function.
+
+ (WebKit::NPObjectProxy::getProperty):
+ Send a GetProperty message.
+
+ (WebKit::NPObjectProxy::NP_GetProperty):
+ Call getProperty.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::createNPObjectProxy):
+ Pass the NPRemoteObjectMap.
+
+ (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
+ Find the right message receiver and dispatch the message to it.
+
+ * Shared/Plugins/NPVariantData.cpp:
+ * Shared/Plugins/NPVariantData.h:
+ Add NPVariantData, which will be a CoreIPC representation of an NPVariant.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didReceiveSyncMessage):
+ If the message class is MessageClassNPObjectMessageReceiver, pass it to the NPRemoteObjectMap.
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add ArgumentCoder specialization for WTF::CString
+ https://bugs.webkit.org/show_bug.cgi?id=48796
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add NPObjectMessageReceiver.messages.in
+ https://bugs.webkit.org/show_bug.cgi?id=48782
+
+ * DerivedSources.make:
+ Add NPObjectMessageReceiver.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add MessageClassNPObjectMessageReceiver message class.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::deallocate):
+ Add stubbed out deallocate member function.
+
+ * Shared/Plugins/NPObjectMessageReceiver.messages.in: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add NPObjectMessageReceiver.messages.in.
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Start stubbing out NPClass functions in NPObjectProxy
+ https://bugs.webkit.org/show_bug.cgi?id=48778
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ getOrCreateNPObjectProxy is now createNPObjectProxy.
+
+ * Shared/Plugins/NPObjectProxy.cpp:
+ (WebKit::NPObjectProxy::create):
+ Allocate and initialize an NPObjectProxy object.
+
+ (WebKit::NPObjectProxy::NPObjectProxy):
+ Initialize m_npObjectID to 0.
+
+ (WebKit::NPObjectProxy::isNPObjectProxy):
+ Check the class.
+
+ (WebKit::NPObjectProxy::initialize):
+ Set m_npObjectID.
+
+ (WebKit::NPObjectProxy::npClass):
+ Return the NPClass with all functions filled in.
+
+ (WebKit::NPObjectProxy::NP_Allocate):
+ Create a new NPObjectProxy object.
+
+ (WebKit::NPObjectProxy::NP_Deallocate):
+ Deallocate the NPObjectProxy object.
+
+ (WebKit::NPObjectProxy::NP_HasMethod):
+ (WebKit::NPObjectProxy::NP_Invoke):
+ (WebKit::NPObjectProxy::NP_InvokeDefault):
+ (WebKit::NPObjectProxy::NP_HasProperty):
+ (WebKit::NPObjectProxy::NP_GetProperty):
+ (WebKit::NPObjectProxy::NP_SetProperty):
+ (WebKit::NPObjectProxy::NP_RemoveProperty):
+ (WebKit::NPObjectProxy::NP_Enumerate):
+ (WebKit::NPObjectProxy::NP_Construct):
+ Add stubs.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::createNPObjectProxy):
+ * Shared/Plugins/NPRemoteObjectMap.h:
+ Rename getOrCreateNPObjectProxy to createNPObjectProxy.
+
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ (WebKit::NPJSObject::NP_Allocate):
+ Remove unused parameter.
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Both the WebProcessConnection and PluginProcessConnection should have NPRemoteObjectMaps
+ https://bugs.webkit.org/show_bug.cgi?id=48775
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ Ask for an NPObjectProxy for the window script NPObject.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::WebProcessConnection):
+ Initialize m_npRemoteObjectMap.
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp:
+ (WebKit::NPObjectMessageReceiver::create):
+ Add a create member function that takes an NPObject.
+
+ (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
+ Retain the NPObject.
+
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ Release the NPObject.
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::generateNPObjectID):
+ Generate a unique 64-bit NPObject ID.
+
+ (WebKit::NPRemoteObjectMap::getOrCreateNPObjectProxy):
+ Add stub.
+
+ (WebKit::NPRemoteObjectMap::registerNPObject):
+ Create a NPObjectMessageReceiver and add it to the map.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Set the correct target for NPRuntime related files.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::PluginProcessConnection):
+ Initialize m_npRemoteObjectMap
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getWindowScriptNPObject):
+ Ask the real plug-in controller for the window script NPObject and register it.
+
+2010-11-01 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48774
+ minimFontSize preference needs to be exposed in WebKit2
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setMinimumFontSize):
+ New function, parallel to existing functions for other preferences.
+ (WebKit::WebPreferences::minimumFontSize):
+ Ditto.
+
+ * UIProcess/WebPreferences.h:
+ Declared new function.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetMinimumFontSize):
+ New UI process wrapper for new function.
+ (WKPreferencesGetMinimumFontSize):
+ Ditto.
+
+ * UIProcess/API/C/WKPreferences.h:
+ Declared new functions.
+
+2010-11-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Tear down the related WebProcessProxy when a WebContext is deallocated
+ https://bugs.webkit.org/show_bug.cgi?id=48769
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::~WebContext):
+ Call WebProcessManager::contextWasDestroyed.
+
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle):
+ It is valid for a frame to have a null page here, if the frame has outlived
+ its page.
+
+ * UIProcess/WebProcessManager.cpp:
+ (WebKit::WebProcessManager::contextWasDestroyed):
+ Remove the context from the map.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ It's OK for the connection to be non-null here if the process goes away because
+ the context has been deallocated.
+
+2010-11-01 Brady Eidson <beidson@apple.com>
+
+ Windows build fix.
+
+ * UIProcess/win/WebView.cpp:
+
+2010-11-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
+ Context menu support for WebKit 2.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Shared/WebContextMenuItem.cpp: Added.
+ (WebKit::WebContextMenuItem::WebContextMenuItem):
+ (WebKit::WebContextMenuItem::encode):
+ (WebKit::WebContextMenuItem::decode):
+ (WebKit::kitItems):
+ * Shared/WebContextMenuItem.h: Added.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createContextMenuProxy):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createContextMenuProxy): Stub to keep the build working.
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+
+ * UIProcess/WebContextMenuProxy.cpp: Added.
+ (WebKit::WebContextMenuProxy::~WebContextMenuProxy):
+ (WebKit::WebContextMenuProxy::WebContextMenuProxy):
+ * UIProcess/WebContextMenuProxy.h: Added.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showContextMenu): Shows the menu after receiving the message from the WebProcess.
+ (WebKit::WebPageProxy::contextMenuItemSelected): Sends info about the selected menu item to the WebProcess
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/mac/WebContextMenuProxyMac.h: Added.
+ (WebKit::WebContextMenuProxyMac::create):
+ * UIProcess/mac/WebContextMenuProxyMac.mm: Added.
+ (+[WebMenuTarget sharedMenuTarget]):
+ (-[WebMenuTarget WebKit::]):
+ (-[WebMenuTarget setMenuProxy:WebKit::]):
+ (-[WebMenuTarget forwardContextMenuAction:]):
+ (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
+ (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
+ (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
+ (WebKit::populateNSMenu):
+ (WebKit::nsMenuItemVector):
+ (WebKit::WebContextMenuProxyMac::populate):
+ (WebKit::WebContextMenuProxyMac::showContextMenu):
+ (WebKit::WebContextMenuProxyMac::hideContextMenu):
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createContextMenuProxy): Stub for now.
+ * UIProcess/win/WebView.h:
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::showContextMenu):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Return the WebCore-provided default
+ menu for now. Embedding app customization will come later (see bug 48720)
+
+ * WebProcess/WebPage/WebContextMenu.cpp: Added.
+ (WebKit::WebContextMenu::WebContextMenu):
+ (WebKit::WebContextMenu::~WebContextMenu):
+ (WebKit::WebContextMenu::show):
+ (WebKit::WebContextMenu::itemSelected):
+ * WebProcess/WebPage/WebContextMenu.h: Added.
+ (WebKit::WebContextMenu::create):
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::contextMenu):
+ (WebKit::handleMouseEvent): Pass right mouse presses along to WebCore as both a mouse event and context menu event,
+ the same way WebKit1 does.
+ (WebKit::WebPage::didSelectItemFromActiveContextMenu):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-11-01 Adam Roben <aroben@apple.com>
+
+ Cancel main resource loads after we hand them off to the media engine
+
+ This is the WebKit2 equivalent of r51104. Clearly this code should be
+ moved to a cross-platform location someday.
+
+ Fixes <http://webkit.org/b/48561> <rdar://problem/8606679> Assertion
+ failure in DocumentLoader::commitData when loading a media document in
+ WebKit2
+
+ Reviewed by Eric Carlson.
+
+ * WebProcess/WebCoreSupport/WebErrors.h: Added pluginWillHandleLoadError.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebFrameLoaderClient::committedLoad): Cancel the main resource load
+ after handing off the load to the media engine. This code originally
+ came from -[WebHTMLRepresentation receivedData:withDataSource:].
+ (WebKit::WebFrameLoaderClient::pluginWillHandleLoadError): Call through to WebErrors.
+ (WebKit::WebFrameLoaderClient::shouldFallBack): Implemented. We fall
+ back for all errors except when the load was cancelled or we handed it
+ off to the media engine or a plugin.
+
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ (WebKit::pluginWillHandleLoadError): Implemented.
+
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
+ (WebKit::pluginWillHandleLoadError): Stubbed out.
+
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::pluginWillHandleLoadError): Implemented.
+
+2010-11-01 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Cleanup viewportAttributesForSize API
+
+ Change QSize argument to a const QSize&.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportAttributesForSize):
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-10-31 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Visited links not populated correctly in new web processes after the first
+ https://bugs.webkit.org/show_bug.cgi?id=48735
+ rdar://problem/8442177
+
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::VisitedLinkProvider): Initialize
+ m_webProcessHasVisitedLinkState.
+ (WebKit::VisitedLinkProvider::processDidFinishLaunching): Renamed
+ from populateVisitedLinksIfNeeded. Set m_webProcessHasVisitedLinkState
+ to false, since this is a new process, and also start the timer
+ so the visited links messages will be sent.
+ (WebKit::VisitedLinkProvider::processDidClose): Renamed from
+ stopVisitedLinksTimer.
+ (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
+ Added logic so we send SetVisitedLinkTable and
+ AllVisitedLinkStateChanged once to each new process and to set
+ m_webProcessHasVisitedLinkState to true once that is done.
+
+ * UIProcess/VisitedLinkProvider.h: Updated for above changes.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidFinishLaunching): Called
+ VisitedLinkProvider function under its new name. Also used
+ ASSERT_UNUSED rather than ASSERT since the argument is used
+ only for the assertion.
+ (WebKit::WebContext::processDidClose): Ditto.
+
+2010-10-30 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Crash in drawUpdateChunkIntoBackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=48707
+
+ UpdateChunk images have to be created using the QImage constructor
+ that takes a bytesPerLine (stride) value, or the data length won't
+ match UpdateChunk::size().
+
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::createImage):
+
+2010-10-29 Daniel Bates <dbates@rim.com>
+
+ No review, rolling out 70971.
+ http://trac.webkit.org/changeset/70971
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
+ it caused layout test failures on all bots. In particular, the
+ child count in a generated frame name differs after this patch. We need
+ to look into this further.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::name):
+
+2010-10-29 Daniel Bates <dbates@rim.com>
+
+ Reviewed by Adam Barth.
+
+ For unnamed frames, window.name returns a generated name
+ https://bugs.webkit.org/show_bug.cgi?id=6751
+
+ Modified WebKit2 to use FrameTree::uniqueName().
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::name):
+
+2010-10-29 Sam Weinig <weinig@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Implement WebProcess::platformSetCacheModel for windows
+ <rdar://problem/8605796>
+ https://bugs.webkit.org/show_bug.cgi?id=48703
+
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::memorySize):
+ (WebKit::volumeFreeSize):
+ (WebKit::WebProcess::platformSetCacheModel):
+ Add implemenation based on the version in WebKit/win/WebView.cpp.
+
+2010-10-29 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WK2: Unbreak compilation of WebPlatformTouchPoint::decode()
+
+ * Shared/WebPlatformTouchPoint.cpp:
+ (WebKit::WebPlatformTouchPoint::decode):
+
+2010-10-29 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More back/forward refactoring
+
+ * WebKit2.pro: Removed WebBackForwardControllerClient.cpp and .h.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
+
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebBackForwardControllerClient.h: Removed.
+
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
+ (WebKit::InjectedBundleBackForwardList::itemAtIndex): Use backForward.
+ (WebKit::InjectedBundleBackForwardList::backListCount): Ditto.
+ (WebKit::InjectedBundleBackForwardList::forwardListCount): Ditto.
+ (WebKit::InjectedBundleBackForwardList::clear): Ditto.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Added newly-needed include.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Set up backForwardClient.
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Stop using encode/decodeBytes for WebEvent subclasses
+
+ The use of encode/decodeBytes was making these classes sensitive to
+ differences in padding on different architectures (e.g., 32-bit vs.
+ 64-bit). By encoding each data member explicitly we remove this
+ sensitivity, allowing these classes to be passed between processes
+ with different padding.
+
+ Fixes <http://webkit.org/b/48552> <rdar://problem/8606571> Mouse
+ events never reach Flash in WebKit2 on Mac (asserts in Debug builds)
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/Arguments.h:
+ (CoreIPC::Arguments8::Arguments8):
+ (CoreIPC::Arguments8::encode):
+ (CoreIPC::Arguments8::decode):
+ (CoreIPC::In):
+ (CoreIPC::Out):
+ Added Arguments8, the biggest Arguments yet.
+
+ * Shared/WebEvent.cpp:
+ (WebKit::WebEvent::encode):
+ (WebKit::WebEvent::decode):
+ * Shared/WebKeyboardEvent.cpp:
+ (WebKit::WebKeyboardEvent::encode):
+ (WebKit::WebKeyboardEvent::decode):
+ * Shared/WebMouseEvent.cpp:
+ (WebKit::WebMouseEvent::encode):
+ (WebKit::WebMouseEvent::decode):
+ * Shared/WebPlatformTouchPoint.cpp:
+ (WebKit::WebPlatformTouchPoint::encode):
+ (WebKit::WebPlatformTouchPoint::decode):
+ * Shared/WebTouchEvent.cpp:
+ (WebKit::WebTouchEvent::encode):
+ (WebKit::WebTouchEvent::decode):
+ * Shared/WebWheelEvent.cpp:
+ (WebKit::WebWheelEvent::encode):
+ (WebKit::WebWheelEvent::decode):
+ Changed all encode/decode function to use CoreIPC::In/Out to
+ encode/decode data members individually.
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Use only CoreIPC-sanctioned types in WebEvent subclasses
+
+ Fixes <http://webkit.org//48694> WebEvent subclasses should not use
+ architecture-dependent types
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::type):
+ (WebKit::WebMouseEvent::button):
+ (WebKit::WebMouseEvent::clickCount):
+ (WebKit::WebWheelEvent::granularity):
+ (WebKit::WebPlatformTouchPoint::id):
+ (WebKit::WebPlatformTouchPoint::state):
+ Replaced enums, ints, and unsigneds with uint32_ts, int32_ts, and
+ uint32_ts, respectively.
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Generate a DelayedReply struct for sync messages marked delayed
+ https://bugs.webkit.org/show_bug.cgi?id=48696
+
+ * Scripts/webkit2/messages.py:
+ If we encounter a sync message marked delayed, generate a DelayedReply struct with a send member funciton
+ that can be used for sending the reply.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update expected results.
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Use WebPage::send in a couple of more places.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setWindowRect):
+ (WebKit::WebChromeClient::takeFocus):
+ (WebKit::WebChromeClient::setToolbarsVisible):
+ (WebKit::WebChromeClient::setStatusbarVisible):
+ (WebKit::WebChromeClient::setMenubarVisible):
+ (WebKit::WebChromeClient::setResizable):
+ (WebKit::WebChromeClient::setStatusbarText):
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ (WebKit::WebChromeClient::setToolTip):
+ (WebKit::WebChromeClient::setCursor):
+ (WebKit::WebChromeClient::dispatchViewportDataDidChange):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::registerCommandForUndo):
+ (WebKit::WebEditorClient::clearUndoRedoOperations):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::detachedFromParent2):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
+ (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
+ (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
+ (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
+ (WebKit::WebFrameLoaderClient::didRunInsecureContent):
+ (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset):
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ (WebKit::FindController::hideFindIndicator):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::addItem):
+ (WebKit::WebBackForwardListProxy::goToItem):
+ (WebKit::WebBackForwardListProxy::clear):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::createMainFrame):
+ (WebKit::WebFrame::createSubframe):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::sendClose):
+ (WebKit::WebPage::pageDidScroll):
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::WebPage::keyEvent):
+ (WebKit::WebPage::validateMenuItem):
+ (WebKit::WebPage::touchEvent):
+ (WebKit::WebPage::show):
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+ (WebKit::WebPage::getRenderTreeExternalRepresentation):
+ (WebKit::WebPage::getSourceForFrame):
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a MessageSender class template
+ https://bugs.webkit.org/show_bug.cgi?id=48683
+
+ * Platform/CoreIPC/MessageSender.h: Added.
+ (CoreIPC::MessageSender::send):
+ Add send overloads for simple message sending.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add MessageSender.h
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::countStringMatches):
+ (WebKit::FindController::findString):
+ (WebKit::FindController::updateFindIndicator):
+ Call send on the web page.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::connection):
+ Add connection(), used by the MessageSender.
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::destinationID):
+ Add destinationID(), used by the MessageSender.
+
+ * win/WebKit2.vcproj:
+ Add MessageSender.h
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Remove redundant data members from WebTouchEvent
+
+ WebEvent already stores the Type and timestamp.
+
+ Fixes <http://webkit.org/b/48671> WebTouchEvent duplicates data from
+ WebEvent
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebEvent.h:
+ * Shared/WebTouchEvent.cpp:
+ (WebKit::WebTouchEvent::WebTouchEvent):
+ Removed m_type and m_timestamp (which was never even getting
+ initialized!).
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add the plug-in proxy to the map before sending the CreatePlugin message
+ https://bugs.webkit.org/show_bug.cgi?id=48678
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::initialize):
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add GetWindowScriptNPObject message
+ https://bugs.webkit.org/show_bug.cgi?id=48670
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ Send the GetWindowScriptNPObject message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::getWindowScriptNPObject):
+ Add stub.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add GetWindowScriptNPObject message.
+
+2010-10-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change the Connection::sendSync timeout parameter to have the NoTimeout argument as a default
+ argument and update all the call sites.
+
+ * Platform/CoreIPC/Connection.h:
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::proxiesForURL):
+ (WebKit::PluginControllerProxy::cookiesForURL):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postSynchronousMessage):
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::initialize):
+ (WebKit::PluginProxy::destroy):
+ (WebKit::PluginProxy::paint):
+ (WebKit::PluginProxy::handleMouseEvent):
+ (WebKit::PluginProxy::handleWheelEvent):
+ (WebKit::PluginProxy::handleMouseEnterEvent):
+ (WebKit::PluginProxy::handleMouseLeaveEvent):
+ (WebKit::PluginProxy::handleKeyboardEvent):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::windowRect):
+ (WebKit::WebChromeClient::createWindow):
+ (WebKit::WebChromeClient::toolbarsVisible):
+ (WebKit::WebChromeClient::statusbarVisible):
+ (WebKit::WebChromeClient::menubarVisible):
+ (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
+ (WebKit::WebChromeClient::runJavaScriptAlert):
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::populatePluginCache):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::itemAtIndex):
+ (WebKit::WebBackForwardListProxy::backListCount):
+ (WebKit::WebBackForwardListProxy::forwardListCount):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::interceptEditingKeyboardEvent):
+
+2010-10-29 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48666
+ WebKit2 should provide counterpart getter to WKBundleNodeHandleSetHTMLInputElementAutofilled
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetHTMLInputElementAutofilled):
+ New function, calls through to InjectedBundleNodeHandle.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ Declared new function.
+
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
+ New function, calls through to HTMLInputElement.
+
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ Declared new function.
+
+2010-10-29 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ ASSERTION FAILURE in WebProcessProxy::frameDestroyed when a Page is closed before it can send
+ the DidCreateMainFrame messsage to the UIProcess.
+ https://bugs.webkit.org/show_bug.cgi?id=48654
+
+ WebProcessProxy::frameDestroyed was asserting that the frameID it was called with was
+ registered in WebProcessProxy::frameCreated (which is called when the WebPageProxy is
+ created). However, in the case where we close the page before it's had the chance to send
+ the DidCreateMainFrame message back to the UI process, the UI Process will get the
+ DidDestroyFrame message because it's sent directly to the WebProcessProxy and doesn't go
+ through WebPageProxy.
+
+ Remove the assert because it is invalid in this case.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::frameDestroyed):
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Build fix when Carbon plugins are disabled
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Move NPRuntime-related files into WebProcess/Plugins/Netscape
+
+ Fixes <http://webkit.org/b/48645>.
+
+ Reviewed by Anders Carlsson.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Updated the files' paths.
+
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.cpp.
+ * WebProcess/Plugins/Netscape/JSNPMethod.h: Renamed from WebKit2/WebProcess/Plugins/JSNPMethod.h.
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.cpp.
+ * WebProcess/Plugins/Netscape/JSNPObject.h: Renamed from WebKit2/WebProcess/Plugins/JSNPObject.h.
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.cpp.
+ * WebProcess/Plugins/Netscape/NPJSObject.h: Renamed from WebKit2/WebProcess/Plugins/NPJSObject.h.
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.cpp.
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeObjectMap.h.
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.cpp.
+ * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h: Renamed from WebKit2/WebProcess/Plugins/NPRuntimeUtilities.h.
+
+2010-10-29 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48576
+ Let WebKit2 client know when a frame is a frameset
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::WebFrameProxy):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::setIsFrameSet):
+ (WebKit::WebFrameProxy::isFrameSet):
+ Remember whether the frame is currently a frameset.
+
+ * UIProcess/API/C/WKFrame.cpp: (WKFrameIsFrameSet):
+ * UIProcess/API/C/WKFrame.h:
+ Added client API.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ (WebKit::WebPageProxy::frameDidBecomeFrameSet):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidBecomeFrameset):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ Pass notification from web process to UI process.
+
+2010-10-28 Adam Roben <aroben@apple.com>
+
+ Use IntPoint/FloatSize in WebEvent subclasses
+
+ This is nicer than passing around pairs of ints/floats.
+
+ Fixes <http://webkit.org/b/48611>.
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebEvent.h:
+ * Shared/WebMouseEvent.cpp:
+ * Shared/WebPlatformTouchPoint.cpp:
+ * Shared/WebWheelEvent.cpp:
+ Changed all x/y pairs to either use IntPoint or FloatSize, as
+ appropriate.
+
+ * Shared/WebEventConversion.cpp:
+ * Shared/mac/WebEventFactory.mm:
+ * Shared/qt/WebEventFactoryQt.cpp:
+ * Shared/win/WebEventFactory.cpp:
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ Updated for WebEvent changes.
+
+2010-10-29 Adam Roben <aroben@apple.com>
+
+ Touch WebKit2Prefix.h to fix incremental builds on Windows
+
+ * WebKit2Prefix.h:
+
+2010-10-28 Adam Roben <aroben@apple.com>
+
+ Remove unnecessary #includes from WebEvent.h
+
+ Fixes <http://webkit.org/b/48609> WebEvent.h #includes things it
+ doesn't need
+
+ Reviewed by Sam Weinig.
+
+ * Scripts/webkit2/messages.py:
+ (MessageReceiver.iterparameters): Merged iterreplyparameters into this
+ function. All callers to iterparameters are really interested in the
+ reply parameters, too. This will cause us to, e.g., add
+ forward-declarations for types used in sync replies.
+ (headers_for_type): Added a special case for WebCore::KeypressCommand.
+
+ * Scripts/webkit2/messages_unittest.py: Added a test to cover the
+ failing case that inspired the above changes.
+
+ * Shared/WebEvent.h: Replaced #includes with forward-declarations.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ * Shared/NativeWebKeyboardEvent.h:
+ * Shared/WebEvent.cpp:
+ * Shared/WebKeyboardEvent.cpp:
+ * Shared/WebMouseEvent.cpp:
+ * Shared/WebPlatformTouchPoint.cpp:
+ * Shared/WebTouchEvent.cpp:
+ * Shared/WebWheelEvent.cpp:
+ * Shared/qt/WebEventFactoryQt.cpp:
+ * Shared/win/WebEventFactory.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.cpp:
+ * WebProcess/WebPage/FindController.cpp:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ Added now-needed #includes and declarations.
+
+2010-10-29 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Adam Roben and David Kilzer.
+
+ Fix and cleanup of build systems
+ https://bugs.webkit.org/show_bug.cgi?id=48342
+
+ * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX and add missing features.
+
+2010-10-28 Dan Bernstein <mitz@apple.com>
+
+ LLVM compiler build fix
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (-[WKDownloadAsDelegate download:didReceiveResponse:]): Removed a stray semicolon.
+
+2010-10-28 Adam Roben <aroben@apple.com>
+
+ Move some function definitions from WebEvent.h into new .cpp files
+
+ Someday maybe we'll split the classes into their own header files,
+ too.
+
+ Fixes <http://webkit.org/b/48604>.
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebEvent.h: Moved code from here...
+
+ * Shared/WebEvent.cpp: Added.
+ * Shared/WebKeyboardEvent.cpp: Added.
+ * Shared/WebMouseEvent.cpp: Added.
+ * Shared/WebPlatformTouchPoint.cpp: Added.
+ * Shared/WebTouchEvent.cpp: Added.
+ * Shared/WebWheelEvent.cpp: Added.
+ ...to here. Also changed WebTouchEvent::touchPoints not to copy the
+ Vector.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Added the new files.
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Connection::sendSyncMessage needs to dispatch incoming sync messages
+ https://bugs.webkit.org/show_bug.cgi?id=48606
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncMessage):
+ Protect the connection when waiting for a reply. Schedule for any remaining incoming sync messages
+ to be sent once the bottom-most waitForSyncReply calls returns.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Make sure to dispatch any incoming sync messages.
+
+ (CoreIPC::Connection::processIncomingMessage):
+ If the incoming message is a sync message and we're waiting for a sync reply, add the message to the
+ queue of "sync messages received while waiting for sync reply" and wake up the client thread.
+
+ * Platform/CoreIPC/Connection.h:
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move code to dispatch a sync message out into a separate function
+ https://bugs.webkit.org/show_bug.cgi?id=48605
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchSyncMessage):
+ Factor code out from dispatchMessage. Handle receiving a message with an invalid reply ID.
+
+ (CoreIPC::Connection::dispatchMessages):
+ Call dispatchSyncMessage.
+
+ * Platform/CoreIPC/Connection.h:
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add NPObjectMessageReceiver class.
+ https://bugs.webkit.org/show_bug.cgi?id=48599
+
+ * Shared/Plugins/NPObjectMessageReceiver.cpp: Added.
+ (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
+ (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
+ * Shared/Plugins/NPObjectMessageReceiver.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NPObjectProxy class
+ https://bugs.webkit.org/show_bug.cgi?id=48558
+
+ * Shared/Plugins/NPObjectProxy.cpp: Added.
+ (WebKit::NPObjectProxy::NPObjectProxy):
+ (WebKit::NPObjectProxy::~NPObjectProxy):
+ * Shared/Plugins/NPObjectProxy.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add NPRemoteObjectMap class
+ https://bugs.webkit.org/show_bug.cgi?id=48553
+
+ * Shared/Plugins/NPRemoteObjectMap.cpp: Added.
+ (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
+ * Shared/Plugins/NPRemoteObjectMap.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WKURLRefs should be allowed to be null
+ <rdar://problem/8575621>
+ https://bugs.webkit.org/show_bug.cgi?id=48535
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toURLRef):
+ (WebKit::toCopiedURLAPI):
+ Turn a null WTF::String into a null WKURLRef.
+
+2010-10-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebKit2 API for window feature getter/setters
+ <rdar://problem/8590373>
+ https://bugs.webkit.org/show_bug.cgi?id=48496
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setToolbarsAreVisible):
+ (WebKit::WebPageProxy::getToolbarsAreVisible):
+ (WebKit::WebPageProxy::setMenuBarIsVisible):
+ (WebKit::WebPageProxy::getMenuBarIsVisible):
+ (WebKit::WebPageProxy::setStatusBarIsVisible):
+ (WebKit::WebPageProxy::getStatusBarIsVisible):
+ (WebKit::WebPageProxy::setIsResizable):
+ (WebKit::WebPageProxy::getIsResizable):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::toolbarsAreVisible):
+ (WebKit::WebUIClient::setToolbarsAreVisible):
+ (WebKit::WebUIClient::menuBarIsVisible):
+ (WebKit::WebUIClient::setMenuBarIsVisible):
+ (WebKit::WebUIClient::statusBarIsVisible):
+ (WebKit::WebUIClient::setStatusBarIsVisible):
+ (WebKit::WebUIClient::isResizable):
+ (WebKit::WebUIClient::setIsResizable):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setToolbarsVisible):
+ (WebKit::WebChromeClient::toolbarsVisible):
+ (WebKit::WebChromeClient::setStatusbarVisible):
+ (WebKit::WebChromeClient::statusbarVisible):
+ (WebKit::WebChromeClient::setMenubarVisible):
+ (WebKit::WebChromeClient::menubarVisible):
+ (WebKit::WebChromeClient::setResizable):
+ Plumb through the calls.
+
+2010-10-28 Dan Bernstein <mitz@apple.com>
+
+ Build fix.
+
+ * win/WebKit2Common.vsprops:
+
+2010-10-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adam Roben.
+
+ No longer soft-link zlib
+ https://bugs.webkit.org/show_bug.cgi?id=48004
+
+ * win/WebKit2Common.vsprops: Added zlib.lib to AdditionalDependencies.
+
+2010-10-28 Adam Roben <aroben@apple.com>
+
+ Make PluginView retain its HTMLPlugInElement
+
+ This matches WebKit/mac's WebBaseNetscapePluginView. WebCore didn't do
+ this, but had a very different mechanism for implementing NPRuntime
+ that didn't require it.
+
+ Fixes <http://webkit.org/b/46672> <rdar://problem/8484208> Crash
+ (preceded by assertion) in Node::document when running
+ plugins/document-open.html in WebKit2 on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::create): Moved here from the header file so that
+ clients of the header file won't have to pull in HTMLPlugInElement.h.
+ Changed to take a PassRefPtr<HTMLPlugInElement>.
+ (WebKit::PluginView::PluginView): Changed to take a
+ PassRefPtr<HTMLPlugInElement> and to use m_pluginElement later (because
+ the parameter to the function will be nulled-out after assigning into
+ m_pluginElement).
+ (WebKit::PluginView::pluginElementNPObject): Updated for change to m_pluginElement.
+
+ * WebProcess/Plugins/PluginView.h: Made m_pluginElement a RefPtr.
+
+2010-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Make Qt viewportAttributesForSize not assert on (0, 0) size
+ https://bugs.webkit.org/show_bug.cgi?id=48524
+
+ We now return an invalid (isValid() == false) ViewportAttributes
+ instance when the supplied size is (0, 0).
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportAttributesForSize):
+
+2010-10-28 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] SharedMemory should be released by the receiving process
+ https://bugs.webkit.org/show_bug.cgi?id=48520
+
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+
+2010-10-28 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Web process cannot be debugged if it crashes in initialization
+ https://bugs.webkit.org/show_bug.cgi?id=47399
+
+ Wait 3 seconds for the debugger on debug mode if
+ WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set.
+
+ The debugging can be initiated for example in following way:
+ export WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH=1
+ ./MiniBrowser & while [ -z `pidof QtWebProcess` ]; do sleep 1; done; \
+ gdb --pid=`pidof QtWebProcess`
+
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::WebProcessMainQt):
+
+2010-10-28 Mark Rowe <mrowe@apple.com>
+
+ 32-bit build fix.
+
+ Qualify references to Rect to avoid ambiguity between WebCore::Rect and Carbon's Rect.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::windowFrameChanged):
+
+2010-10-28 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Remove unused experimental proxied panel interface.
+ <rdar://problem/7237059>
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+
+2010-10-27 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ * UIProcess/API/mac/PageClientImpl.mm: Reference the file using the correct case.
+
+2010-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Find indicators do not bounce
+ https://bugs.webkit.org/show_bug.cgi?id=48490
+ <rdar://problem/8564276>
+
+ * UIProcess/API/mac/FindIndicatorWindow.h:
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationDuration:animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]):
+ Add an animationDuration parameter.
+
+ (WebKit::FindIndicatorWindow::FindIndicatorWindow):
+ Initialize m_bounceAnimationContext.
+
+ (WebKit::FindIndicatorWindow::setFindIndicator):
+ Create a bounce animation and start it.
+
+ (WebKit::FindIndicatorWindow::closeWindow):
+ Stop the bounce animation and destroy the bounce animation context.
+
+ (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
+ pass the fade out duration.
+
+ (WebKit::FindIndicatorWindow::bounceAnimationCallback):
+ Set the bounce animation progress.
+
+ (WebKit::FindIndicatorWindow::bounceAnimationDidEnd):
+ Destroy the bounce animation context.
+
+2010-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ Remove the reference to the pageNamespace in the QWKPagePrivate.
+ Access it through the WebPageProxy instead which holds a strong
+ ref to it.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPage::preferences):
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-10-27 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Support Appkit key bindings and custom key bindings in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48271
+ <rdar://problem/7660723>
+
+ We need to support AppKit key bindings and custom key bindings in WebKit2.
+ Every keyboard event is first sent to the WebProcess and we inform AppKit that
+ we don't need further processing. When the event is processed by the WebProcess and no handler consumes it,
+ we send a synchronous message back to the UI process to let AppKit perform the key bindings.
+ This operation can result in one or more editing commands to execute or a noop.
+ The WebProcess then replies back to the UI process to inform whether further processing is required, in
+ which case the event is sent back to the application to be mapped.
+ There is a potential for a race condition: in case the WebProcess is very slow to process the key events, the UI
+ process could be in a completely different state when the event is being resent (for example it might not have the
+ keyboard focus anymore) and the command could be lost. We should look out for user experience impact.
+
+ * Scripts/webkit2/messages.py: Added header file in the generated file.
+ * Shared/WebCoreArgumentCoders.h: Added encoder/decoder for KeypressCommand.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::interceptKeyEvent): Pass-through call to WKView.
+ (WebKit::PageClientImpl::didNotHandleKeyEvent): Added logic to resend the event to the application.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]): Changed the default return value to YES, otherwise no menu shortcut is performed.
+ (-[WKView doCommandBySelector:]): Added.
+ (-[WKView insertText:]): Added.
+ (-[WKView _handleStyleKeyEquivalent:]): Added to handle command-B and command-I.
+ (-[WKView performKeyEquivalent:]): Added to intercept key binding sequences.
+ (-[WKView _setEventBeingResent:]):
+ (-[WKView _interceptKeyEvent:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::interpretKeyEvent):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::handleKeyboardEvent):
+ (WebKit::WebEditorClient::handleInputMethodKeydown):
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm: Moved handleKeyboardEvent and handleInputMethodKeydown
+ to the Mac specific implementation.
+ (WebKit::WebPage::interceptEditingKeyboardEvent): Added.
+
+2010-10-27 Brian Weinstein <bweinstein@apple.com>
+
+ More Windows build fixage. Copy another new header into WebKitOutputDir.
+
+ * win/WebKit2Generated.make:
+
+2010-10-27 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Copy a new header into WebKitOutputDir.
+
+ * win/WebKit2Generated.make:
+
+2010-10-26 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
+ https://bugs.webkit.org/show_bug.cgi?id=42322
+ rdar://problem/8193631
+
+ WebKitTestRunner needs to support layoutTestController.clearBackForwardList
+ https://bugs.webkit.org/show_bug.cgi?id=42333
+ rdar://problem/8193643
+
+ * Shared/API/c/WKBase.h: Added WKBundleBackForwardListRef and
+ WKBundleBackForwardListItemRef.
+
+ * Shared/API/c/WKURL.cpp:
+ (WKURLCopyString): Added.
+ * Shared/API/c/WKURL.h: Added WKURLCopyString.
+
+ * Shared/API/c/cf/WKURLCF.h: Fixed incorrect argument name.
+
+ * Shared/APIObject.h: Added TypeBundleBackForwardList and
+ TypeBundleBackForwardListItem.
+
+ * Shared/ImmutableArray.h: Marked destructor virtual explicitly.
+ * Shared/ImmutableDictionary.h: Ditto.
+ * UIProcess/WebBackForwardListItem.h: Ditto.
+ * UIProcess/WebContext.h: Ditto.
+ * UIProcess/WebFrameProxy.h: Ditto.
+ * UIProcess/WebNavigationData.h: Ditto.
+ * UIProcess/WebPageNamespace.h: Ditto.
+ * UIProcess/WebPreferences.h: Ditto.
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Ditto.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Ditto.
+
+ * UIProcess/WebBackForwardList.cpp: Removed unneeded backListWithLimit
+ and forwardListWithLimit functions.
+ (WebKit::WebBackForwardList::clear): Added.
+ * UIProcess/WebBackForwardList.h: Marked destructor virtual explicitly.
+ Added clear, removed backListWithLimit and forwardListWithLimit functions.
+
+ * UIProcess/WebPageProxy.cpp: Removed unneeded backForwardBackItem,
+ backForwardCurrentItem, and backForwardForwardItem functions.
+ (WebKit::WebPageProxy::backForwardClear): Added.
+ * UIProcess/WebPageProxy.h: Ditto.
+ * UIProcess/WebPageProxy.messages.in: Ditto.
+
+ * WebKit2.pro: Added new files.
+ * WebKit2.xcodeproj/project.pbxproj: Ditto.
+ * win/WebKit2.vcproj: Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h: Added
+ WKBundleBackForwardListRef and WKBundleBackForwardListItemRef.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
+ Started with a copy of from WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h:
+ Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardList.h.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
+ Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
+ * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
+ Started with a copy of WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetBackForwardList): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Ditto.
+
+
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
+ Started with a copy of WebKit2/UIProcess/WebBackForwardList.cpp.
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
+ Started with a copy of WebKit2/UIProcess/WebBackForwardList.h.
+
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
+ Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.cpp.
+ * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
+ Started with a copy of WebKit2/UIProcess/WebBackForwardListItem.h.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed
+ many unneeded functions.
+ (WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
+ Removed unneeded initialization of m_closed.
+ (WebKit::WebBackForwardListProxy::addItem): Added a check for
+ the case of a capacity of 0.
+ (WebKit::WebBackForwardListProxy::goToItem): Added a check for
+ when the proxy outlives its page.
+ (WebKit::WebBackForwardListProxy::itemAtIndex): Ditto.
+ (WebKit::WebBackForwardListProxy::backListCount): Ditto.
+ (WebKit::WebBackForwardListProxy::forwardListCount): Ditto.
+ (WebKit::WebBackForwardListProxy::close): Removed unneeded code
+ setting m_closed.
+ (WebKit::WebBackForwardListProxy::isActive): Added.
+ (WebKit::WebBackForwardListProxy::clear): Added.
+
+ * WebProcess/WebPage/WebBackForwardListProxy.h: Added clear,
+ isActive, and detach functions. Removed many other unneeded
+ function and data members.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::~WebPage): Added call to detach on the
+ back/forward list.
+ (WebKit::WebPage::backForwardList): Added.
+ * WebProcess/WebPage/WebPage.h: Added backForwardList function
+ and m_backForwardList data member.
+
+2010-10-27 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit
+ SPI to scale a WebView
+ -and corresponding-
+ <rdar://problem/8107667>
+
+ This patch adds SPI to Mac WebKit that scales the page by the given
+ scale factor.
+
+ Implement scaleWebView(), which tells WebCore::Frame to scale, and
+ viewScaleFactor() which returns the current scale factor.
+ * Shared/API/c/WKSharedAPICast.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageScaleWebView):
+ (WKPageGetViewScaleFactor):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::scaleWebView):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::viewScaleFactor):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::scaleWebView):
+ (WebKit::WebPage::viewScaleFactor):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-10-27 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix the WebKit2 API tests.
+ https://bugs.webkit.org/show_bug.cgi?id=48461
+
+ The API tests were failing because the tests expect to be able to send messages before the
+ WebProcess finishes launching.
+
+ Instead of dispatching the pending messages in processDidFinishLaunching, dispatch them in
+ ensureWebProcess but do not make messages pending if the process is launching.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidFinishLaunching):
+ Move dispatching the pending messages back from here ...
+ (WebKit::WebContext::ensureWebProcess):
+ ... to here.
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ Check whether the process can send messages in order to determine if a message needs to be
+ sent later.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::canSendMessage):
+ The WebProcessProxy can send a message if it is valid or if it is launching.
+
+2010-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More work on downloads
+ https://bugs.webkit.org/show_bug.cgi?id=48480
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::~Download):
+ Call platformInvalidate().
+
+ (WebKit::Download::didBegin):
+ (WebKit::Download::didReceiveData):
+ (WebKit::Download::didFinish):
+ Add empty stubs.
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::startDownload):
+ Create a Download object and insert it into the m_downloads map.
+
+ * WebProcess/Downloads/cf/DownloadCFNet.cpp:
+ (WebKit::Download::platformInvalidate):
+ Add empty stub.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+ (WebKit::Download::platformInvalidate):
+ Tell the WKDownloadAsDelegate object that we're being invalidated.
+
+ (-[WKDownloadAsDelegate downloadDidBegin:]):
+ Call Download::didBegin.
+
+ (-[WKDownloadAsDelegate download:didReceiveDataOfLength:]):
+ Call Download::didReceiveData.
+
+ (-[WKDownloadAsDelegate downloadDidFinish:]):
+ Call Download::didFinish.
+
+ * WebProcess/Downloads/qt/DownloadQt.cpp:
+ (WebKit::Download::platformInvalidate):
+ Add empty stub.
+
+2010-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebPageProxy::isValid should return false if the page has been explicitly closed
+ https://bugs.webkit.org/show_bug.cgi?id=48458
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::isValid):
+ (WebKit::WebPageProxy::relaunch):
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isClosed):
+
+2010-10-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Begin stubbing out the Download class
+ https://bugs.webkit.org/show_bug.cgi?id=48447
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebKit2Prefix.h:
+ Include WebCore/EmptyProtocolDefinitions.h
+
+ * WebProcess/Downloads/Download.cpp: Added.
+ * WebProcess/Downloads/Download.h: Added.
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::startDownload):
+ Create a Download object and start it.
+
+ * WebProcess/Downloads/mac/DownloadMac.mm: Added.
+ (WebKit::Download::start):
+ Create an NSURLDownload.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::startDownload):
+ Ask the download manager to start downloading.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ Add new files.
+
+2010-10-27 Adam Roben <aroben@apple.com>
+
+ Don't allow setting NetscapePlugin::m_isWindowed after NPP_New has
+ completed
+
+ In Firefox, Chrome, and WebKit1 trying to set this value after NPP_New
+ does not actually affect whether the plugin is windowed.
+
+ Fixes <http://webkit.org/b/46673> <rdar://problem/8484211> Assertion
+ failure in NetscapePlugin::platformDestroy when running
+ plugins/mouse-events.html in WebKit2 on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::setIsWindowed): Moved here from the header.
+ Bail out if m_isStarted is true, indicating that NPP_New has already
+ finished.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Removed the
+ implementation of setIsWindowed.
+
+2010-10-27 Timothy Hatcher <timothy@apple.com>
+
+ Add API for enabling the developer extras (Web Inspector).
+
+ http://webkit.org/b/48439
+
+ Reviewed by John Sullivan.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetDeveloperExtrasEnabled):
+ (WKPreferencesGetDeveloperExtrasEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setDeveloperExtrasEnabled):
+ (WebKit::WebPreferences::developerExtrasEnabled):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2010-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move contentsSizeChange from the UIClient into the PageClient and
+ and make it a private Qt-only API in the process.
+
+ Make WKPageContentsSizeChangedCallback be a private API
+ https://bugs.webkit.org/show_bug.cgi?id=48409
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::didChangeContentsSize):
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didChangeContentsSize):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+
+2010-10-26 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 shouldn't try to send an empty user agent
+ https://bugs.webkit.org/show_bug.cgi?id=48397
+
+ Change the check of the custom user agent to an empty check instead of a null check. When the client application
+ sets a custom user agent and then resets it, the custom user agent is set to an empty string. If all we do
+ is check for a null string, then we will think we have a custom user agent (which is empty) and send an empty
+ user agent.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::userAgent):
+
+2010-10-27 Adam Roben <aroben@apple.com>
+
+ Don't call NPP_GetValue if the plugin didn't provide an implementation
+
+ Fixes <http://webkit.org/b/48433> Crash in
+ NetscapePlugin::shouldLoadSrcURL when using Shockwave Director 10.3 in
+ WebKit2 on Windows
+
+ Reviewed by Eric Carlson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_GetValue): Null-check the getvalue pointer
+ before using it to call NPP_GetValue.
+
+2010-10-27 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Assert due to multiple initialization of WebPlatformStrategies
+ https://bugs.webkit.org/show_bug.cgi?id=48327
+
+ We are using the LocalizationStrategy in the UI process
+ so the previous attempt to fix this (http://trac.webkit.org/changeset/70620)
+ was wrong.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (initializePlatformStrategiesIfNeeded):
+ Call WebPlatformStrategies::initialize exactly once.
+ (QWKPagePrivate::QWKPagePrivate):
+
+2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] WebKit2 UI process crashes if web process crashes
+ https://bugs.webkit.org/show_bug.cgi?id=48400
+
+ Check the success of socket write operations.
+ Avoids crashing the UI process if web process has crashed.
+ Qt socket code segfaults when write is called for a socket
+ that has had an error.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::platformInvalidate):
+ Reset m_socket after deletion.
+
+ (CoreIPC::Connection::sendOutgoingMessage):
+ Check error status of write operations and
+ invalidate socket if writes fail.
+
+2010-10-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Type mismatch while serializing/deserializing message id size
+ https://bugs.webkit.org/show_bug.cgi?id=48401
+
+ Use correct types when reading data from connection buffer.
+
+ The message id is written as uint32_t, thus the buffer size should be
+ calculated based on sizeof(uint32_t) and not sizeof(MessageID).
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+
+2010-10-27 Zalan Bujtas <zbujtas@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Multiple WebPlatformStrategy initialization triggers assert in WebCore/PlatformStrategies.
+ Remove the code for now, as it is not used at all.
+ https://bugs.webkit.org/show_bug.cgi?id=48327
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+
+2010-10-26 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fix.
+
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::cancelledError): Conditionalize use of CFNetwork calls
+ and includes.
+
+2010-10-26 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Modified original file, not its framework
+ copy this time.
+
+2010-10-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add DownloadManager class
+ https://bugs.webkit.org/show_bug.cgi?id=48388
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Downloads/DownloadManager.cpp: Added.
+ (WebKit::DownloadManager::shared):
+ (WebKit::DownloadManager::DownloadManager):
+ * WebProcess/Downloads/DownloadManager.h: Added.
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+ Add new files.
+
+2010-10-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pass a downloadID to the web process whenever a download is requested
+ https://bugs.webkit.org/show_bug.cgi?id=48380
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::generateDownloadID):
+ Generate a unique download ID.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ Pass along a download ID if needed.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::startDownload):
+ Call the web frame member function.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::WebFrame):
+ Initialize m_policyDownloadID.
+
+ (WebKit::WebFrame::invalidatePolicyListener):
+ Reset m_policyDownloadID.
+
+ (WebKit::WebFrame::didReceivePolicyDecision):
+ Set m_policyDownloadID.
+
+ (WebKit::WebFrame::startDownload):
+ Assert that m_policyDownloadID is not zero.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceivePolicyDecision):
+ Pass along the download ID.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add the download ID.
+
+2010-10-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48375
+ <rdar://problem/8392724> Need delegate calls in PageLoaderClient to indicate if we have
+ loaded insecure content
+
+ Added the delegate. Just like the bundle version, it misses WebOrigin parameter that Mac
+ delegate call used to have. It doesn't seem necessary for clients.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
+ (WebKit::WebPageProxy::didRunInsecureContentForFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
+ (WebKit::WebFrameLoaderClient::didRunInsecureContent):
+
+2010-10-26 Jenn Braithwaite <jennb@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Resource tracking failure when trying to move a frame between documents
+ https://bugs.webkit.org/show_bug.cgi?id=44713
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
+ Empty method.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-10-26 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Post any pending messages to the Injected Bundle in WebContext::processDidFinishLaunching
+ instead of in WebContext::ensureWebProcess.
+ https://bugs.webkit.org/show_bug.cgi?id=48367
+
+ Send pending injected bundle messages after the process finished launching instead of of
+ directly after creating it.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Move the logic to dispatch pending injected bundle messages from here ...
+ (WebKit::WebContext::processDidFinishLaunching):
+ ... to here.
+ Also use a reference instead of a pointer when sending the pending messages.
+
+2010-10-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ pageDidScroll callback should be on the UI process client rather than (or in addition to) the web process client
+ https://bugs.webkit.org/show_bug.cgi?id=48366
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ Add zero initializer.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::pageDidScroll):
+ Call the pageDidScroll client function.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add PageDidScroll message.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::pageDidScroll):
+ Send the PageDidScroll message.
+
+2010-10-26 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Need a way to retrieve custom user agent from a WKPage
+ https://bugs.webkit.org/show_bug.cgi?id=48360
+ <rdar://problem/8466537>
+
+ Add an exported function on WKPage to get the page's custom user agent.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopyCustomUserAgent): Exported function that returns the custom user
+ agent.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close): Clear the custom user agent string.
+ (WebKit::WebPageProxy::processDidCrash): Ditto.
+ (WebKit::WebPageProxy::setCustomUserAgent): Add a new early return if we're setting
+ the custom user agent to what it was before, and set the custom user agent member
+ variable.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::customUserAgent): Returns the custom user agent.
+
+2010-10-26 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Support layoutTestController.layerTreeAsText in WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=42145
+
+ Expose layerTreeAsText() as private API so that
+ WebKitTestRunner can use it.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyLayerTreeAsText):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::numberOfActiveAnimations):
+ (WebKit::WebFrame::layerTreeAsText):
+ (WebKit::WebFrame::pendingUnloadCount):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-10-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Enable the plug-in process on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=48350
+
+ * WebKit2Prefix.h:
+ Flip the switch and enable the plug-in process on Mac.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformDestroy):
+ Fix a bogus assert.
+
+2010-10-26 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement SharedMemory for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=47345
+
+ Implement unimplemented functions in SharedMemoryQt.cpp.
+ Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from
+ Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro.
+ Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary
+ methods of MappedMemoryPool.
+
+ * Platform/SharedMemory.h: Add a handle member for Qt.
+ * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp.
+ (WebKit::MappedMemoryPool::searchForMappedMemory):
+ (WebKit::MappedMemoryPool::mapMemory):
+ (WebKit::MappedMemoryPool::mapFile):
+ * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h.
+ (WebKit::MappedMemoryPool::MappedMemory::mapSize):
+ (WebKit::MappedMemoryPool::MappedMemory::markUsed):
+ (WebKit::MappedMemoryPool::MappedMemory::markFree):
+ (WebKit::MappedMemoryPool::MappedMemory::isFree):
+ (WebKit::MappedMemoryPool::MappedMemory::data):
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ Move MappedMemory implementation into MappedMemoryPool.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle): Implement.
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::isNull): Implement.
+ (WebKit::SharedMemory::Handle::encode): Implement.
+ (WebKit::SharedMemory::Handle::decode): Implement.
+ (WebKit::SharedMemory::create): Implement.
+ (WebKit::mapProtection): Added.
+ (WebKit::SharedMemory::~SharedMemory): Implement.
+ (WebKit::SharedMemory::createHandle): Implement.
+ (WebKit::SharedMemory::systemPageSize): Implement.
+ * Shared/qt/MappedMemory.h: Removed.
+ * Shared/qt/MappedMemoryPool.cpp: Removed.
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::decode):
+ Modify to use MappedMemoryPool.
+ * Shared/qt/UpdateChunk.h:
+ * WebKit2.pro:
+ Modify affected lines.
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2 callbacks for findString() and countMatchesForString() should report whether the match count was exceeded
+ https://bugs.webkit.org/show_bug.cgi?id=48285
+ <rdar://problem/8576318>
+
+ * UIProcess/API/C/WKPage.h:
+ Add a kWKMoreThanMaximumMatchCount constant.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ If we get back more matches than allowed, send kWKMoreThanMaximumMatchCount as the match constant.
+
+2010-10-25 Dan Bernstein <mitz@apple.com>
+
+ Non-Carbon build fix.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowFrameChanged):
+
+2010-10-25 Timothy Hatcher <timothy@apple.com>
+
+ Stub out WebInspector objects and WKInspectorRef API.
+
+ https://webkit.org/b/48265
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/MessageID.h: Added MessageClassWebInspector and MessageClassWebInspectorProxy.
+ * Shared/API/c/WKBase.h: Added WKInspectorRef.
+ * Shared/APIObject.h: Added TypeInspector.
+ * UIProcess/API/C/WKAPICast.h: Added WKInspectorRef to WebInspectorProxy mapping.
+ * UIProcess/API/C/WKInspector.cpp: Added.
+ (WKInspectorGetTypeID):
+ (WKInspectorGetPage):
+ * UIProcess/API/C/WKInspector.h: Added.
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetInspector): Added.
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebInspectorProxy.cpp: Added.
+ (WebKit::WebInspectorProxy::WebInspectorProxy):
+ (WebKit::WebInspectorProxy::~WebInspectorProxy):
+ (WebKit::WebInspectorProxy::invalidate):
+ * UIProcess/WebInspectorProxy.h:
+ (WebKit::WebInspectorProxy::create):
+ (WebKit::WebInspectorProxy::page):
+ (WebKit::WebInspectorProxy::type):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::inspector): Lazily create the WebInspectorProxy.
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.pro: Added new files.
+ * WebKit2.xcodeproj/project.pbxproj: Added new files.
+ * WebProcess/WebPage/WebInspector.cpp: Added.
+ (WebKit::WebInspector::WebInspector):
+ * WebProcess/WebPage/WebInspector.h: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::inspector): Lazily create the WebInspector.
+ * WebProcess/WebPage/WebPage.h:
+ * win/WebKit2.vcproj: Added new files.
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Update the fake Carbon window when the window frame changes
+ https://bugs.webkit.org/show_bug.cgi?id=48273
+
+ * UIProcess/API/mac/WKView.mm:
+ (screenForWindow):
+ (-[WKView _updateWindowFrame]):
+ Pass the window frame in Carbon coordinates.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowFrameChanged):
+ Update the window bounds.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setWindowFrame):
+ Call the plug-in.
+
+ (WebKit::PluginView::platformLayer):
+ Fix a crash when WebCore asked for the layer before it was initialized.
+
+2010-10-25 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove exec and globalData arguments from jsNumber
+ https://bugs.webkit.org/show_bug.cgi?id=48270
+
+ Mechanical removal of exec parameter to jsNumber
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Replace matchCountDidChange with didFindString/didFailToFindString
+ https://bugs.webkit.org/show_bug.cgi?id=48262
+ <rdar://problem/8568928>
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebFindClient.cpp:
+ (WebKit::WebFindClient::didFindString):
+ (WebKit::WebFindClient::didFailToFindString):
+ * UIProcess/WebFindClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didFindString):
+ (WebKit::WebPageProxy::didFailToFindString):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a pageDidScroll BundleUIClient callback
+ https://bugs.webkit.org/show_bug.cgi?id=48260
+ <rdar://problem/8531159>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::pageDidScroll):
+ Call the pageDidScroll callback.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
+ (WebKit::WebChromeClient::scroll):
+ Call pageDidScroll.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::pageDidScroll):
+ Hide the find banner UI and call the BundleUIClient pageDidScroll callback.
+
+2010-10-25 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Control + Mousewheel shouldn't be handled in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=48253
+
+ Don't handle a wheel event if Control is pressed, pass the message back to DefWindowProc.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onWheelEvent):
+
+2010-10-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ cancelledError for WebKit2 on windows should use kCFErrorDomainCFNetwork instead of webKitErrorDomain
+ https://bugs.webkit.org/show_bug.cgi?id=48254
+
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::cancelledError): Use kCFErrorDomainCFNetwork instead of webKitErrorDomain and switch over
+ to using kCFURLErrorCancelled instead of a hard coded constant.
+
+2010-10-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Need WebKit2 API to figure out if a frame can provide source
+ <rdar://problem/8424632>
+ https://bugs.webkit.org/show_bug.cgi?id=48252
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCanProvideSource):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::canProvideSource):
+ * UIProcess/WebFrameProxy.h:
+ Add API to figure out if a frame can provide source based on its
+ MIME type.
+
+2010-10-25 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Java applets don't display on the page
+ https://bugs.webkit.org/show_bug.cgi?id=48251
+ <rdar://problem/8483759>
+
+ Add WKPreferencesSetJavaEnabled and initialize it to true by default, matching old WebKit.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ Initialize javaEnabled.
+
+ (WebKit::WebPreferencesStore::encode):
+ Encode javaEnabled.
+
+ (WebKit::WebPreferencesStore::decode):
+ Decode javaEnabled.
+
+ * Shared/WebPreferencesStore.h:
+ Add javaEnabled.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPReferencesSetJavaEnabled):
+ (WKPReferencesGetJavaEnabled):
+ Call the WebPreferences functions.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
+ Just call createPlugin.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Call Settings::setJavaEnabled.
+
+2010-10-25 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Replace _countof with WTF_ARRAY_LENGTH
+ https://bugs.webkit.org/show_bug.cgi?id=48229
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::safariPluginsDirectory):
+ (WebKit::addMozillaPluginDirectories):
+ (WebKit::addWindowsMediaPlayerPluginDirectory):
+ (WebKit::addAdobeAcrobatPluginDirectory):
+ (WebKit::addMacromediaPluginDirectories):
+ (WebKit::addPluginPathsFromRegistry):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::interpretKeyEvent):
+
+2010-10-25 Adam Roben <aroben@apple.com>
+
+ Stop copying .messages.in files into WebKit2's framework bundle
+
+ Fixes <http://webkit.org/b/48232> Several .messages.in files end up in
+ WebKit2's framework bundle
+
+ Reviewed by Dan Bernstein.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-25 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Fix the WebKit2 build after sheriffbot messed up the rollout patch.
+ https://bugs.webkit.org/show_bug.cgi?id=48238
+
+ * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h.
+ (WebKit::MappedMemory::mapSize):
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::MappedMemory::data):
+
+2010-10-25 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r70450.
+ http://trac.webkit.org/changeset/70450
+ https://bugs.webkit.org/show_bug.cgi?id=48238
+
+ Causes WTR to crash on tests which use SharedMemory.
+ (Requested by bbandix on #webkit).
+
+ * Platform/SharedMemory.h:
+ * Platform/qt/MappedMemoryPool.cpp: Removed.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+ (WebKit::SharedMemory::systemPageSize):
+ * Shared/qt/MappedMemory.h: Renamed from WebKit2/Platform/qt/MappedMemoryPool.h.
+ (WebKit::MappedMemory::mapSize):
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::MappedMemory::data):
+ * Shared/qt/MappedMemoryPool.cpp: Added.
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ (WebKit::MappedMemoryPool::instance):
+ (WebKit::MappedMemoryPool::size):
+ (WebKit::MappedMemoryPool::at):
+ (WebKit::MappedMemoryPool::append):
+ (WebKit::MappedMemoryPool::cleanUp):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::decode):
+ * Shared/qt/UpdateChunk.h:
+ * WebKit2.pro:
+
+2010-10-25 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement SharedMemory for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=47345
+
+ Implement unimplemented functions in SharedMemoryQt.cpp.
+ Rename MappedMemory.h to MappedMemoryPool.h, move MappedMemoryPool.{h|cpp} from
+ Shared/qt to Platform/qt. Modify affected lines of WebKit2.pro.
+ Move MappedMemory implementation into MappedMemoryPool. Remove unnecessary
+ methods of MappedMemoryPool.
+
+ * Platform/SharedMemory.h: Add a handle member for Qt.
+ * Platform/qt/MappedMemoryPool.cpp: Copied from WebKit2/Shared/qt/MappedMemoryPool.cpp.
+ (WebKit::MappedMemoryPool::searchForMappedMemory):
+ (WebKit::MappedMemoryPool::mapMemory):
+ (WebKit::MappedMemoryPool::mapFile):
+ * Platform/qt/MappedMemoryPool.h: Copied from WebKit2/Shared/qt/MappedMemory.h.
+ (WebKit::MappedMemoryPool::MappedMemory::mapSize):
+ (WebKit::MappedMemoryPool::MappedMemory::markUsed):
+ (WebKit::MappedMemoryPool::MappedMemory::markFree):
+ (WebKit::MappedMemoryPool::MappedMemory::isFree):
+ (WebKit::MappedMemoryPool::MappedMemory::data):
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ Move MappedMemory implementation into MappedMemoryPool.
+ * Platform/qt/SharedMemoryQt.cpp:
+ (WebKit::SharedMemory::Handle::Handle): Implement.
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::isNull): Implement.
+ (WebKit::SharedMemory::Handle::encode): Implement.
+ (WebKit::SharedMemory::Handle::decode): Implement.
+ (WebKit::SharedMemory::create): Implement.
+ (WebKit::mapProtection): Added.
+ (WebKit::SharedMemory::~SharedMemory): Implement.
+ (WebKit::SharedMemory::createHandle): Implement.
+ (WebKit::SharedMemory::systemPageSize): Implement.
+ * Shared/qt/MappedMemory.h: Removed.
+ * Shared/qt/MappedMemoryPool.cpp: Removed.
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::UpdateChunk):
+ (WebKit::UpdateChunk::decode):
+ Modify to use MappedMemoryPool.
+ * Shared/qt/UpdateChunk.h:
+ * WebKit2.pro:
+ Modify affected lines.
+
+2010-10-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Need a way to determine the screen rect for a form control in WebKit2
+ <rdar://problem/8530670>
+ https://bugs.webkit.org/show_bug.cgi?id=48216
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ Add conversion from IntRect to WKRect.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetElementBounds):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::elementBounds):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ Add SPI to get the rect in window space. The client can then convert this to screen
+ space if they wish to.
+
+2010-10-23 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Sam Weinig.
+
+ Unify globalData APIs
+ https://bugs.webkit.org/show_bug.cgi?id=47969
+
+ Adapt code to JSGlobalObject::globalData returning a reference
+ instead of a pointer.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
+ (WebKit::NPRuntimeObjectMap::evaluate):
+
+2010-10-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48083
+ <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
+ Initialize the new method.
+
+2010-10-21 Timothy Hatcher <timothy@apple.com>
+
+ Stub out WebInspectorFrontendClient.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48091
+
+ Reviewed by Adam Roben.
+
+ * WebKit2.pro: Added WebInspectorFrontendClient.{cpp,h}.
+ * WebKit2.xcodeproj/project.pbxproj: Added WebInspectorFrontendClient.{cpp,h}.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: Added.
+ (WebKit::WebInspectorFrontendClient::windowObjectCleared): Added.
+ (WebKit::WebInspectorFrontendClient::frontendLoaded): Added.
+ (WebKit::WebInspectorFrontendClient::moveWindowBy): Added.
+ (WebKit::WebInspectorFrontendClient::localizedStringsURL): Added.
+ (WebKit::WebInspectorFrontendClient::hiddenPanels): Added.
+ (WebKit::WebInspectorFrontendClient::bringToFront): Added.
+ (WebKit::WebInspectorFrontendClient::closeWindow): Added.
+ (WebKit::WebInspectorFrontendClient::disconnectFromBackend): Added.
+ (WebKit::WebInspectorFrontendClient::requestAttachWindow): Added.
+ (WebKit::WebInspectorFrontendClient::requestDetachWindow): Added.
+ (WebKit::WebInspectorFrontendClient::changeAttachedWindowHeight): Added.
+ (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Added.
+ (WebKit::WebInspectorFrontendClient::sendMessageToBackend): Added.
+ * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Added.
+ (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient): Added.
+ * win/WebKit2.vcproj: Added WebInspectorFrontendClient.{cpp,h}.
+
+2010-10-21 Timothy Hatcher <timothy@apple.com>
+
+ Remove stale stubs that are not longer part of InspectorClient.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48090
+
+ Reviewed by Adam Roben.
+
+ * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+
+2010-10-22 Andy Estes <aestes@apple.com>
+
+ Reviewed by Adam Roben and Sam Weinig.
+
+ WebKit shouldn't load a plug-in based on file extension if a MIME type
+ is specified.
+ https://bugs.webkit.org/show_bug.cgi?id=48046
+
+ The fix landed in r70332 only covered the Mac port. Implement this fix
+ for WebKit2 as well.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::findPlugin):
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ * Scripts/webkit2/messages.py:
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::didRelaunchProcess):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::didRelaunchProcess):
+ * UIProcess/win/WebView.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebContext::ensureWebProcess shouldn't send multiple InitializeWebProcess messages.
+ https://bugs.webkit.org/show_bug.cgi?id=48158
+ <rdar://problem/8512572>
+
+ If the web process was launching when another call to ensureWebProcess is sent, we
+ would end up sending another InitializeWebProcess message to it which would result
+ in assertions firing. Fix this by only checking for m_process, and not requiring a process
+ to be valid (which it won't be until it's finished launching).
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename revive to relaunch everywhere.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didRelaunchProcess):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _didRelaunchProcess]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::relaunchProcessIfNecessary):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageNamespace.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::relaunch):
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+ * UIProcess/WebPageProxy.h:
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix assert when a NetscapePluginModule loses its last NetscapePlugin.
+ https://bugs.webkit.org/show_bug.cgi?id=48155
+
+ (The assert in question is ASSERT(pluginModuleIndex != notFound) in
+ NetscapePluginModule::shutdown()).
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::pluginCreated):
+ If we didn't have any live plug-ins, load the plug-in module.
+
+ (WebKit::NetscapePluginModule::pluginDestroyed):
+ If this was the last plug-in, unload the plug-in module.
+
+ (WebKit::NetscapePluginModule::shutdown):
+ Set m_isInitialized to false.
+
+ (WebKit::NetscapePluginModule::load):
+ Don't do anything if the plug-in module has already been initialized.
+
+ (WebKit::NetscapePluginModule::unload):
+ Assert that we're not initialized.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ Assert that we successfully created the window.
+
+2010-10-22 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Crash in Connection::isValid when called in response to
+ VisitedLinksProvider::pendingVisitedLinksTimerFired after WebProcessProxy::didClose was
+ already called.
+ https://bugs.webkit.org/show_bug.cgi?id=48153
+
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::stopVisitedLinksTimer):
+ * UIProcess/VisitedLinkProvider.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidClose):
+ Stop the pendingVisitedLinksTimer and null out the process.
+ * UIProcess/WebContext.h:
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didClose):
+ Tell the WebContext that the WebProcess did close.
+
+2010-10-22 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * UIProcess/API/qt/ClientImpl.h:
+
+2010-10-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 needs to pass the current event modifier flags when requesting a new window
+ https://bugs.webkit.org/show_bug.cgi?id=48140
+
+ In addition to passing modifier flags from the now passed NavigationAction, also pass
+ the WindowFeatures to the UIProcess.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::modifiers):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::createNewPage):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::createNewPage):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createWindow):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchCreatePage):
+ (WebKit::modifiersForNavigationAction):
+ (WebKit::mouseButtonForNavigationAction):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-10-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename processDidExit to processDidCrash
+ https://bugs.webkit.org/show_bug.cgi?id=48146
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::processDidCrash):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _processDidCrash]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::processDidCrash):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
+ (WebKit::WebLoaderClient::processDidBecomeResponsive):
+ (WebKit::WebLoaderClient::processDidCrash):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::processDidBecomeUnresponsive):
+ (WebKit::WebPageProxy::processDidBecomeResponsive):
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didClose):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::processDidCrash):
+ * UIProcess/win/WebView.h:
+
+2010-10-22 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Corrected target dependencies.
+
+ * WebKit2.xcodeproj/project.pbxproj: Made WebKit2 depend on DerivedSources and removed
+ the explicit dependency of All on DerivedSources and WebKit2, since WebProcess depends on
+ them.
+
+2010-10-20 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/8423766> Cursor does not become "busy" when a page is
+ loading with WebKit2
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/C/win/WKViewPrivate.cpp: Added.
+ (WKViewSetOverrideCursor):
+ Call the WebView's setOverrideCursor().
+
+ * UIProcess/API/C/win/WKViewPrivate.h: Added.
+ Declare WKViewSetOVerrideCursor().
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ Initialize new member vars to 0.
+ (WebKit::WebView::updateNativeCursor):
+ If there is an override cursor, and the last cursor set from the web
+ process was the arrow cursor, use the override cursor. Otherwise, use
+ the cursor from the web process.
+ (WebKit::WebView::setCursor):
+ Record the web process's cursor, and call updateNativeCursor().
+ (WebKit::WebView::setOverrideCursor):
+ Record the override cursor, and call updateNativeCursor().
+
+ * UIProcess/win/WebView.h:
+ Declare setOverrideCursor() and updateNativeCursor(). Add members to
+ hold the last cursor set from the web process and the override cursor.
+
+ * win/WebKit2.vcproj:
+ Add new files to project.
+
+ * win/WebKit2Generated.make:
+ Copy WKViewPrivate.h with other headers.
+
+2010-10-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Crash evaluating JavaScript string that throws an exception
+ https://bugs.webkit.org/show_bug.cgi?id=48092
+ <rdar://problem/8487657>
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::sendMessage):
+ m_connection can be null here; just return false if that is the case.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+ If the JSValue returned is null we just send along a null string.
+
+2010-10-21 Adam Roben <aroben@apple.com>
+
+ Invalidate the plugin's HWND when NPN_InvalidateRect is called
+
+ Fixes <http://webkit.org/b/48086> <rdar://problem/8482944> Silverlight
+ doesn't repaint in WebKit2
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::invalidate): Call platformInvalidate before
+ invalidating via the PluginController.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added platformInvalidate.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformInvalidate):
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::NetscapePlugin::platformInvalidate):
+ Stubbed out.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformInvalidate): If the plugin is
+ windowed, invalidate its HWND via ::InvalidateRect.
+
+2010-10-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Find indicator does not draw found text in WebKit2 when page is not scrolled to top
+ <rdar://problem/8562647>
+ https://bugs.webkit.org/show_bug.cgi?id=48089
+
+ We always want the selection rectangle in "WebCore window coordinates" which is the same
+ as WKView coordinates in WebKit2.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::updateFindIndicator):
+
+2010-10-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Always clear the selection when the find string isn't found
+ https://bugs.webkit.org/show_bug.cgi?id=48087
+ <rdar://problem/8564640>
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+
+2010-10-21 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by John Sullivan.
+
+ https://bugs.webkit.org/show_bug.cgi?id=48083
+ <rdar://problem/8489082> Need WebKit2 API for private browsing
+
+ This just adds glue code for passing the preference from embedder to WebCore. The aspects of
+ private browsing that WebCore is responsible for do work, but cookies are not handled yet.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetPrivateBrowsingEnabled):
+ (WKPreferencesGetPrivateBrowsingEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setPrivateBrowsingEnabled):
+ (WebKit::WebPreferences::privateBrowsingEnabled):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+ Do what it takes to pass a single boolean from WebKit2 to WebCore. And we aren't even syncing
+ the preference to user defaults yet.
+
+2010-10-20 Adam Roben <aroben@apple.com>
+
+ Ask the UI client to close the page when the WKView receives a WM_CLOSE
+ message
+
+ Fixes <http://webkit.org/b/48044> <rdar://problem/8488446> Pressing
+ Ctrl+W when viewing a full-page PDF destroys the WKView but doesn't
+ close its parent window
+
+ Reviewed by Jon Honeycutt.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Call through to WebPageProxy::tryClose when
+ we receive a WM_CLOSE message, rather than passing the message along to
+ ::DefWindowProcW. tryClose will end up asking the UI client to close
+ the page, while ::DefWindowProcW would destroy us synchronously without
+ notifying the UI client at all. One case where we'll get sent a
+ WM_CLOSE message is when the user presses Ctrl+W when using the Adobe
+ Reader plugin to view a PDF.
+
+2010-10-20 Adam Roben <aroben@apple.com>
+
+ Remove confusing and redundant "host window" terminology from WKView on
+ Windows
+
+ WKView's "host window" is really just its HWND's parent window. The
+ terminology has been updated to reflect this. The unnecessary
+ WKViewGetHostWindow function has been removed, as it was a synonym for
+ ::GetParent(WKViewGetWindow(view)).
+
+ Fixes <http://webkit.org/b/48039> WKView's "host window" API is
+ confusing
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/C/win/WKView.cpp:
+ (WKViewCreate):
+ (WKViewSetParentWindow):
+ * UIProcess/API/C/win/WKView.h:
+ Replaced "host window" with "parent window". Removed
+ WKViewGetHostWindow.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::setParentWindow):
+ (WebKit::WebView::windowAncestryDidChange):
+ (WebKit::WebView::close):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::create):
+ Replaced "host window" with "parent window". Removed m_hostWindow and
+ hostWindow().
+
+2010-10-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Null frame passed when running alert from UserScript run at document start
+ <rdar://problem/8573809>
+ https://bugs.webkit.org/show_bug.cgi?id=48036
+
+ Don't initialize a Frame until after we have notified the UIProcess of its creation.
+ This is necessary since arbitrary actions can happen during the call to Frame::init()
+ such as the running of UserScripts.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createFrame):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::createMainFrame):
+ (WebKit::WebFrame::createSubframe):
+ (WebKit::WebFrame::create):
+ (WebKit::WebFrame::WebFrame):
+ (WebKit::WebFrame::init):
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2010-10-21 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] PluginInfoStore does not set up mime types for plugins
+ https://bugs.webkit.org/show_bug.cgi?id=48063
+
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::getPluginInfo): Store the mime types
+ that are supported by the plugin into the plugin argument.
+
+2010-10-21 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ This is initial implementation of QWKHistory. The QWKHistory class represents the history of a QWKPage.
+ https://bugs.webkit.org/show_bug.cgi?id=47716
+
+ Each QWKPage instance contains a history of a visited pages that can be accessed by QWKHistory::history().
+ The QWKPagePrivate class creates QWKHistory in constructor.
+
+ * UIProcess/API/qt/qwkhistory.cpp: Added.
+ (QWKHistoryPrivate::QWKHistoryPrivate):
+ (QWKHistoryPrivate::createHistory): Creates history object.
+ (QWKHistoryPrivate::~QWKHistoryPrivate):
+ (QWKHistory::QWKHistory):
+ (QWKHistory::~QWKHistory):
+ (QWKHistory::backListCount): Gets items count in back.
+ (QWKHistory::forwardListCount): Gets items count in forward.
+ (QWKHistory::count): Gets items count.
+ * UIProcess/API/qt/qwkhistory.h: Added.
+ * UIProcess/API/qt/qwkhistory_p.h: Added.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::~QWKPagePrivate):
+ (QWKPage::history): Returns history object.
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h: Added history member variable.
+ * WebKit2.pro: Added WKBackForwardList.h, WKBackForwardList.cpp and new files.
+
+2010-10-14 Adam Roben <aroben@apple.com>
+
+ Don't require the plugin to always use the same NPP struct we gave it
+ in NPP_New
+
+ Neither WebCore, nor WebKit/mac, nor Firefox requires this, and
+ Shockwave (at least) seems to use a different NPP struct that contains
+ the same ndata member. So we shouldn't enforce it, either.
+
+ Fixes <http://webkit.org/b/47690> <rdar://problem/8553020> Assertion
+ failure in NetscapePlugin::fromNPP when using Shockwave in WebKit2
+
+ Reviewed by John Sullivan.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::fromNPP): Removed the bogus assertion.
+
+2010-10-20 Anders Carlsson <andersca@apple.com>
+
+ Fix clang++ build.
+
+ * UIProcess/API/C/WKNativeEvent.h:
+
+2010-10-20 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Crash closing page with <video> element
+ https://bugs.webkit.org/show_bug.cgi?id=47960
+ <rdar://problem/8573297>
+
+ I couldn't think of a good way to make a layout test for this because the
+ crash isn't triggered by closing an iframe.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::scheduleCompositingLayerSync): NULL check drawingArea().
+
+2010-10-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Out of process plug-ins are never asked to initially paint
+ https://bugs.webkit.org/show_bug.cgi?id=47993
+ <rdar://problem/8570342>
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ Add new callMemberFunction overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::paintEntirePlugin):
+ Set the dirty rect to be the entire plug-in rect and then paint the plug-in.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add PaintEntirePlugin message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::PluginProxy):
+ Initialize m_pluginBackingStoreContainsValidData to false.
+
+ (WebKit::PluginProxy::paint):
+ If m_pluginBackingStoreContainsValidData is false, synchronously ask the plug-in to paint,
+ then blit the plug-in backing store into our own backing store.
+
+ (WebKit::PluginProxy::geometryDidChange):
+ Set m_pluginBackingStoreContainsValidData to false.
+
+ (WebKit::PluginProxy::update):
+ Set m_pluginBackingStoreContainsValidData to true if the plug-in has painted its entire area.
+
+2010-10-19 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ ASSERTION FAILURE: !m_adoptionIsRequired for the WebFrame under the
+ InjectedBundlePageLoaderClient::didClearWindowObjectForFrame callback.
+ https://bugs.webkit.org/show_bug.cgi?id=47960
+
+ Do not try to initialize the coreFrame (which results in the
+ InjectedBundlePageLoaderClient::didClearWindowObjectForFrame being called) until after the
+ WebFrame constructor has returned and the WebFrame has been adopted.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::create):
+ Moved the call to init the coreFrame here ...
+ (WebKit::WebFrame::WebFrame):
+ ... from here.
+
+2010-10-20 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Merge ColorSpace and ImageColorSpace enums
+ https://bugs.webkit.org/show_bug.cgi?id=47922
+
+ Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
+ to follow webkit style rules.
+
+ * UIProcess/FindIndicator.cpp:
+ (WebKit::FindIndicator::draw):
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::drawRect):
+
+2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com>
+
+ Not reviewed.
+
+ Fix Qt/WebKit2 build, also needs a svg/properties include.
+
+ * WebKit2.pro:
+
+2010-10-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix MiniBrowser crashes during startup and shutdown
+ https://bugs.webkit.org/show_bug.cgi?id=47954
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedProcessContext):
+ Initialize the main thread.
+
+ (WebKit::WebContext::create):
+ Ditto.
+
+ (WebKit::WebContext::WebContext):
+ Add the language observer here so we know that it will always be set up.
+
+ (WebKit::WebContext::ensureWebProcess):
+ Remove code.
+
+ * UIProcess/WebContext.h:
+
+2010-10-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Coalesce plug-in drawing
+ https://bugs.webkit.org/show_bug.cgi?id=47939
+
+ Coalesce plug-in drawing in the same manner as we do it in the chunked update drawing area.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Initialize m_waitingForDidUpdate to false.
+
+ (WebKit::PluginControllerProxy::startPaintTimer):
+ Move code from invalidate out to here. Don't start the paint timer if m_waitingForDidUpdate is true.
+
+ (WebKit::PluginControllerProxy::invalidate):
+ Call startPaintTimer.
+
+ (WebKit::PluginControllerProxy::didUpdate):
+ Set m_waitingForDidUpdate to false and start the paint timer.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add DidUpdate message.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::PluginProxy):
+ Initialize m_waitingForPaintInResponseToUpdate to false.
+
+ (WebKit::PluginProxy::paint):
+ If m_waitingForPaintInResponseToUpdate is true, send a DidUpdate message.
+
+ (WebKit::PluginProxy::update):
+ Set m_waitingForPaintInResponseToUpdate to true.
+
+2010-10-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add alternateHTMLString and unreachableURL API to WebKit2
+ <rdar://problem/8557864>
+ https://bugs.webkit.org/show_bug.cgi?id=47938
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCopyUnreachableURL):
+ * UIProcess/API/C/WKFrame.h:
+ Add accessor for the unreachableURL if one is set. It will only be
+ set during a loadAlternateHTMLString and will be unset on the next normal
+ didStartProvisionalLoadForFrame call.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadHTMLString): Remove whitespace.
+ (WKPageLoadAlternateHTMLString):
+ * UIProcess/API/C/WKPage.h:
+ Add function to load a string as "alternate", meant for use as error pages.
+
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::setUnreachableURL):
+ (WebKit::WebFrameProxy::unreachableURL):
+ Add setter/getter for the unreachableURL.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadAlternateHTMLString):
+ Plumb through the call to loadAlternateHTMLString to the WebProcess
+ and set the main frame's unreachableURL. This does nothing if no pages
+ have ever been loaded in this page.
+
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ If this is not a provisional load of substitute data for an unreachableURL
+ (e.g. someone who called WKPageLoadAlternateHTMLString), reset the
+ frame's unreachableURL.
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ Update function signatures.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ Pass whether or not this is a load of SubstituteData for an unreachableURL
+ to the UIProcess.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadData):
+ (WebKit::WebPage::loadAlternateHTMLString):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Plumb through the loading of the alternate HTML string.
+
+2010-10-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=47933
+ <rdar://problem/8494337> navigator.language doesn't work in WebKit2
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Pass language code when creating a web process.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::~WebContext): Don't send language change notifications to the destroyed
+ process.
+ (WebKit::languageChanged): Make web process know about the change.
+ (WebKit::WebContext::ensureWebProcess): Fill WebProcessCreationParameters, and register for
+ change notifications.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
+ Initialize wkCopyCFLocalizationPreferredName.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess): Use passed in language as an override. Web process
+ doesn't know about per-application settings, so it depends on UI process for those.
+ (WebKit::WebProcess::languageChanged): Update the language override when messaged.
+
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ Added LanguageChanged message.
+
+2010-10-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Stop waiting for sync replies if the connection is closed
+ https://bugs.webkit.org/show_bug.cgi?id=47930
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+ Initialize m_shouldWaitForSyncReplies to true.
+
+ (CoreIPC::Connection::sendSyncMessage):
+ Don't attempt to send a message if m_shouldWaitForSyncReplies is false.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Return if m_shouldWaitForSyncReplies was set to false.
+
+ (CoreIPC::Connection::connectionDidClose):
+ Set m_shouldWaitForSyncReplies to true and signal the semaphore.
+
+ * Platform/CoreIPC/Connection.h:
+
+2010-10-19 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::interruptForPolicyChangeError): Add a missing comma.
+
+2010-10-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Part 2 of:
+ Need to include WKErrorRef in the WKPageDidFail... functions
+ <rdar://problem/8564110>
+ https://bugs.webkit.org/show_bug.cgi?id=47871
+
+ * Shared/API/c/WKError.cpp:
+ (WKErrorCopyWKErrorDomain):
+ * Shared/API/c/WKError.h:
+ * Shared/WebError.cpp: Added.
+ (WebKit::WebError::webKitErrorDomain):
+ * Shared/WebError.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ (+[NSError _webKitErrorWithCode:failingURL:]):
+ (registerErrors):
+ (WebKit::blockedError):
+ (WebKit::cannotShowURLError):
+ (WebKit::interruptForPolicyChangeError):
+ (WebKit::cannotShowMIMETypeError):
+ * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
+ (WebKit::cancelledError):
+ (WebKit::blockedError):
+ (WebKit::cannotShowURLError):
+ (WebKit::interruptForPolicyChangeError):
+ * win/WebKit2.vcproj:
+
+2010-10-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Need to include WKErrorRef in the WKPageDidFail... functions
+ <rdar://problem/8564110>
+ https://bugs.webkit.org/show_bug.cgi?id=47871
+
+ Give WebError a WebCore::ResourceError backing and start passing it over the wire
+ for failure cases. Also, fill out the WKError API to include domain, errorCode,
+ failingURL and localizedDescription.
+
+ * Shared/API/c/WKError.cpp:
+ (WKErrorCopyDomain):
+ (WKErrorGetErrorCode):
+ (WKErrorCopyFailingURL):
+ (WKErrorCopyLocalizedDescription):
+ * Shared/API/c/WKError.h:
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toAPI):
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebError.h:
+ (WebKit::WebError::create):
+ (WebKit::WebError::domain):
+ (WebKit::WebError::errorCode):
+ (WebKit::WebError::failingURL):
+ (WebKit::WebError::localizedDescription):
+ (WebKit::WebError::platformError):
+ (WebKit::WebError::WebError):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didFailProvisionalLoadWithErrorForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+ * UIProcess/API/qt/ClientImpl.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+
+2010-10-19 Christian Sejersen <christian.webkit@gmail.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Scratchbox has an old version of python as the default one, so
+ force it to use version 2.6.
+ https://bugs.webkit.org/show_bug.cgi?id=47895
+
+ * DerivedSources.pro:
+
+2010-10-19 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] WebKit2 MacOS build fix
+ https://bugs.webkit.org/show_bug.cgi?id=47897
+
+ Qt WebKit2 MacOS build fix.
+
+ * UIProcess/WebPageProxy.cpp:
+ * WebKit2.pri:
+ * WebKit2.pro:
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Initialize the API client.
+
+ * Shared/APIClient.h:
+ (WebKit::APIClient::APIClient):
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ WebKit2 should handle dismissing the Find overlay on mouse-down
+ https://bugs.webkit.org/show_bug.cgi?id=47854
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::mouseEvent):
+ Dismiss the find UI on MouseDown.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::mouseEvent):
+ If there's a page overlay, let it have a go at the event.
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Fix clang build.
+
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ (-[WebFindIndicatorWindowAnimation _initWithFindIndicatorWindow:WebKit::animationProgressCallback:WebKit::FindIndicatorWindow::animationDidEndCallback:WebKit::FindIndicatorWindow::]):
+ (WebKit::FindIndicatorWindow::setFindIndicator):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPopupMenuProxy.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+
+2010-10-18 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * WebKit2.pro:
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Don't try to change accelerated compositing mode if the web page is closed
+ https://bugs.webkit.org/show_bug.cgi?id=47852
+
+ changeAcceleratedCompositingMode ends up sending a sync message to the UI process which is unnecessary if
+ the UI process is being torn down.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ (WebKit::WebPage::close):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8036034>
+ WebKit2's WebProcess dies immediately on Mac due to DYLD_FRAMEWORK_PATH problem
+
+ Pass the path to the WebKit2 framework along to the web process and don't rely on DYLD_FRAMEWORK_PATH being set.
+
+ * Shared/mac/CommandLineMac.cpp:
+ (WebKit::CommandLine::parse):
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ * mac/MainMac.cpp:
+ (main):
+
+2010-10-18 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Need a WebKit2 equivalent of the WebKit1 WebUserContentURLPattern.
+ https://bugs.webkit.org/show_bug.cgi?id=47783
+
+ * Shared/API/c/WKBase.h:
+
+ * Shared/API/c/WKSharedAPICast.h:
+
+ * Shared/API/c/WKUserContentURLPattern.cpp: Added.
+ (WKUserContentURLPatternGetTypeID):
+ (WKUserContentURLPatternCreate):
+ (WKUserContentURLPatternMatchesURL):
+ * Shared/API/c/WKUserContentURLPattern.h: Added.
+
+ * Shared/APIObject.h:
+
+ * Shared/UserMessageCoders.h:
+ Use the original pattern string to encode and decode a UserContentURLPattern.
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+ * Shared/WebUserContentURLPattern.h: Added.
+ (WebKit::WebUserContentURLPattern::create):
+ (WebKit::WebUserContentURLPattern::matchesURL):
+ Use WebCore::UserContentURLPattern::matches.
+ (WebKit::WebUserContentURLPattern::patternString):
+ Expose the pattern string used to create the UserContentURLPattern for the purpose of
+ encoding and decoding.
+ (WebKit::WebUserContentURLPattern::WebUserContentURLPattern):
+ (WebKit::WebUserContentURLPattern::type):
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add WKUserContentURLPattern.h/.cpp and WebUserContentURLPattern.h
+
+ * win/WebKit2Generated.make:
+ Copy over WKUsercontentURLPattern into the output directory.
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add matchCountDidChange callback
+ https://bugs.webkit.org/show_bug.cgi?id=47840
+
+ * UIProcess/API/C/WKPage.h:
+ Add matchCountDidChange WKPageFindClient callback.
+
+ * UIProcess/WebFindClient.cpp:
+ (WebKit::WebFindClient::matchCountDidChange):
+ Call the WKPageFindClient callback.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add MatchCountDidChange message.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::countStringMatches):
+ Move code here from WebPage.
+
+ (WebKit::FindController::findString):
+ Send the MatchCountDidChange message.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::countStringMatches):
+ Move this code over to FindController.
+
+2010-10-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Use nullptr instead of 0.
+
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ (WebKit::FindIndicatorWindow::closeWindow):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView renewGState]):
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::removePluginProxy):
+
+2010-10-15 Sam Weinig <sam@webkit.org>
+
+ Fix Qt build.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::createPopupMenuProxy):
+
+2010-10-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Popup widget support (<select>)
+ <rdar://problem/8147746>
+ https://bugs.webkit.org/show_bug.cgi?id=47740
+
+ Add initial support for popup menus. Only works on the mac at this time.
+
+ * Shared/WebPopupItem.cpp: Added.
+ (WebKit::WebPopupItem::WebPopupItem):
+ (WebKit::WebPopupItem::encode):
+ (WebKit::WebPopupItem::decode):
+ * Shared/WebPopupItem.h: Added.
+ Serializable representation of a menu item.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createPopupMenuProxy):
+ Create a WebPopupMenuProxyMac.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (WebView::createPopupMenuProxy):
+ * UIProcess/API/qt/qwkpage_p.h:
+ Create a WebPopupMenuProxyQt (which is just a stub right now).
+
+ (WebKit::WebPopupMenuProxyWin::create):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createPopupMenuProxy):
+ * UIProcess/win/WebView.h:
+ Create a WebPopupMenuProxyWin (which is just a stub right now).
+
+ * UIProcess/PageClient.h:
+ Add new client function to get a platform specific WebPopupMenuProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::showPopupMenu):
+ (WebKit::WebPageProxy::hidePopupMenu):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ Pipe through calls to set up the menu.
+
+ * UIProcess/mac/WebPopupMenuProxyMac.h: Added.
+ (WebKit::WebPopupMenuProxyMac::create):
+ * UIProcess/mac/WebPopupMenuProxyMac.mm: Added.
+ (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
+ (WebKit::WebPopupMenuProxyMac::~WebPopupMenuProxyMac):
+ (WebKit::WebPopupMenuProxyMac::populate):
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu):
+ (WebKit::WebPopupMenuProxyMac::hidePopupMenu):
+ Add UI process side implementation. Currently this does not support
+ custom fonts as the old implementation did.
+
+ * UIProcess/qt/WebPopupMenuProxyQt.cpp: Added.
+ (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
+ (WebKit::WebPopupMenuProxyQt::~WebPopupMenuProxyQt):
+ (WebKit::WebPopupMenuProxyQt::showPopupMenu):
+ (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
+ * UIProcess/qt/WebPopupMenuProxyQt.h: Added.
+ (WebKit::WebPopupMenuProxyQt::create):
+ * UIProcess/win/WebPopupMenuProxyWin.cpp: Added.
+ (WebKit::WebPopupMenuProxyWin::WebPopupMenuProxyWin):
+ (WebKit::WebPopupMenuProxyWin::~WebPopupMenuProxyWin):
+ (WebKit::WebPopupMenuProxyWin::showPopupMenu):
+ (WebKit::WebPopupMenuProxyWin::hidePopupMenu):
+ * UIProcess/win/WebPopupMenuProxyWin.h: Added.
+ Add stubbed out implementations for Qt and windows.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ Pass the page in the create function.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::create):
+ (WebKit::WebPopupMenu::WebPopupMenu):
+ (WebKit::WebPopupMenu::didChangeSelectedIndex):
+ (WebKit::WebPopupMenu::populateItems):
+ (WebKit::WebPopupMenu::show):
+ (WebKit::WebPopupMenu::hide):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ (WebKit::WebPopupMenu::disconnectFromPage):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ (WebKit::WebSearchPopupMenu::create):
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ (WebKit::WebSearchPopupMenu::popupMenu):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::close):
+ (WebKit::WebPage::setActivePopupMenu):
+ (WebKit::WebPage::didChangeSelectedIndexForActivePopupMenu):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Pipe through calls to set up the menu.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ (-[WebFindIndicatorWindowAnimation setCurrentProgress:]):
+
+2010-10-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add 'didDraw' callback for framerate tracking
+ https://bugs.webkit.org/show_bug.cgi?id=47478
+
+ Hook up the 'didDraw' callback for WebKit2 on Mac.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView drawRect:]):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didDraw):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::didDraw):
+ * UIProcess/WebUIClient.h:
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make the find indicator window fade out when requested
+ https://bugs.webkit.org/show_bug.cgi?id=47747
+
+ * UIProcess/API/mac/FindIndicatorWindow.h:
+ * UIProcess/API/mac/FindIndicatorWindow.mm:
+ Add WebFindIndicatorWindowAnimation - an NSAnimation subclass that takes two
+ C++ member function pointers and invokes them the animation progress changes and
+ when the animation stops.
+
+ (-[WebFindIndicatorWindowAnimation setCurrentProgress:]):
+ Call the _animationProgressCallback.
+
+ (-[WebFindIndicatorWindowAnimation animationDidEnd:]):
+ Call the _animationDidEndCallback.
+
+ (WebKit::FindIndicatorWindow::FindIndicatorWindow):
+ Initialize the fade out start timer.
+
+ (WebKit::FindIndicatorWindow::setFindIndicator):
+ When asked to fade out, we start the fade out timer.
+
+ (WebKit::FindIndicatorWindow::closeWindow):
+ Stop the fade out timer and the fade out animation.
+
+ (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
+ Create a fade out animation.
+
+ (WebKit::FindIndicatorWindow::fadeOutAnimationCallback):
+ Update the window alpha.
+
+ (WebKit::FindIndicatorWindow::fadeOutAnimationDidEnd):
+ Close the window.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move find indicator window logic to WKView
+ https://bugs.webkit.org/show_bug.cgi?id=47739
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setFindIndicator):
+ Call -[WKView _setFindIndicator:fadeOut:].
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView renewGState]):
+ Hide the find indicator.
+
+ (-[WKView _setFindIndicator:fadeOut:]):
+ Move the find indicator logic here.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Hide the find indicator/overlay when necessary
+ https://bugs.webkit.org/show_bug.cgi?id=47737
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
+ Hide the find indicator.
+
+ (WebKit::WebChromeClient::scroll):
+ Ditto.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ Hide the find indicator and the find overlay.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ Always hide all previous find matches. Only clear the selection if the string
+ not found wasn't empty.
+
+ (WebKit::FindController::hideFindUI):
+ Uninstall the page overlay and hide the find indicator.
+
+ (WebKit::FindController::hideFindIndicator):
+ Rename resetFindIndicator to hideFindIndicator.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::uninstallPageOverlay):
+ Invalidate the entire page.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add FindIndicatorWindow class
+ https://bugs.webkit.org/show_bug.cgi?id=47731
+
+ * UIProcess/API/mac/FindIndicatorWindow.h: Added.
+ * UIProcess/API/mac/FindIndicatorWindow.mm: Added.
+ (-[WebFindIndicatorView _initWithFindIndicator:WebKit::]):
+ Initialize the find indicator view.
+
+ (-[WebFindIndicatorView drawRect:]):
+ Ask the find indicator to draw.
+
+ (-[WebFindIndicatorView isFlipped]):
+ Return YES.
+
+ (WebKit::FindIndicatorWindow::~FindIndicatorWindow):
+ Make sure to close the window.
+
+ (WebKit::FindIndicatorWindow::setFindIndicator):
+ Update the find indicator window.
+
+ (WebKit::FindIndicatorWindow::closeWindow):
+ Close and release the window.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setFindIndicator):
+ Create a find indicator window.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/win/WebView.cpp:
+
+2010-10-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a FindIndicator class
+ https://bugs.webkit.org/show_bug.cgi?id=47635
+
+ * Shared/BackingStore.h:
+ (WebKit::BackingStore::bounds):
+ New function that returns the bounds of the backing store.
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setFindIndicator):
+ Add stub.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::setFindIndicator):
+ Add stub.
+
+ * UIProcess/FindIndicator.cpp: Added.
+ * UIProcess/FindIndicator.h:
+
+ * UIProcess/PageClient.h:
+ Add setFindIndicator client member function.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setFindIndicator):
+ Call PageClient::setFindIndicator.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add a fadeOut boolean to the message.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setFindIndicator):
+ Add stub.
+
+ * UIProcess/win/WebView.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ (WebKit::FindController::updateFindIndicator):
+ (WebKit::FindController::resetFindIndicator):
+ * WebProcess/WebPage/FindController.h:
+ * win/WebKit2.vcproj:
+
+2010-10-14 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Plumb accelerated compositing prefs through WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=46860
+ <rdar://problem/8495312>
+
+ Wire up the prefs to enable accelerated compositing, and
+ show debug borders and repaint counters.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferencesPrivate.cpp:
+ (WKPreferencesSetAcceleratedCompositingEnabled):
+ (WKPreferencesGetAcceleratedCompositingEnabled):
+ (WKPreferencesSetCompositingBordersVisible):
+ (WKPreferencesGetCompositingBordersVisible):
+ (WKPreferencesSetCompositingRepaintCountersVisible):
+ (WKPreferencesGetCompositingRepaintCountersVisible):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setAcceleratedCompositingEnabled):
+ (WebKit::WebPreferences::acceleratedCompositingEnabled):
+ (WebKit::WebPreferences::setCompositingBordersVisible):
+ (WebKit::WebPreferences::compositingBordersVisible):
+ (WebKit::WebPreferences::setCompositingRepaintCountersVisible):
+ (WebKit::WebPreferences::compositingRepaintCountersVisible):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::preferencesDidChange):
+ (WebKit::WebPage::updatePreferences):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-10-14 Ada Chan <adachan@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2: Store the certificate chain in PlatformCertificateInfo.
+ https://bugs.webkit.org/show_bug.cgi?id=47603
+
+ * Shared/API/c/win/WKCertificateInfoWin.cpp:
+ (WKCertificateInfoGetCertificateChainLength):
+ (WKCertificateInfoGetCertificateContextAtIndex):
+ * Shared/API/c/win/WKCertificateInfoWin.h:
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Get the chain context from the response and duplicate the certificate contexts
+ in the chain to store in m_certificateChain.
+ (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo): Free all the certificate contexts in the chain.
+ (WebKit::PlatformCertificateInfo::operator=): Duplicate the certificate contexts from the other PlatformCertificateInfo's certificate chain
+ to store in m_certificateChain.
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ (WebKit::PlatformCertificateInfo::clearCertificateChain): Free all the certificate contexts in the chain and clear the vector.
+ * Shared/win/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::certificateChain):
+
+2010-10-14 Adam Roben <aroben@apple.com>
+
+ Make sure WebKit2 only loads each plugin once
+
+ Fixes <http://webkit.org/b/47677> <rdar://problem/8552178> WebKit2 can
+ load the same plugin multiple times
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::addFromVector): Helper function that adds all the elements
+ from a Vector to a HashSet.
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary): Put all the plugin
+ paths into a HashSet, then load the plugins specified in the HashSet.
+ On Windows, the HashSet is case-insensitive, just like the file
+ system.
+
+ * UIProcess/Plugins/PluginInfoStore.h: Removed loadPluginsInDirectory,
+ which is no longer used.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::addPluginPathsFromRegistry):
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ Changed to store the paths in a Vector instead of a HashSet now that
+ loadPluginsIfNecessary will handle duplicates for us.
+
+2010-10-14 Adam Roben <aroben@apple.com>
+
+ Load plugins that are specified in the MozillaPlugins registry key
+
+ Fixes <http://webkit.org/b/44271> <rdar://problem/8329750> WebKit2
+ should load plugins specified in the MozillaPlugins registry key (like
+ old WebKit does)
+
+ I couldn't think of a good way to test this.
+
+ Reviewed by Steve Falkenburg.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary): Also load plugins
+ specified by individualPluginPaths.
+
+ * UIProcess/Plugins/PluginInfoStore.h: Added individualPluginPaths and
+ some comments.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ Stubbed out.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::addPluginPathsFromRegistry):
+ (WebKit::PluginInfoStore::individualPluginPaths):
+ Ported this code from WebCore's PluginDatabaseWin.cpp. I slightly
+ cleaned it up and changed it to use a case-insensitive hash, since
+ paths on Windows are case-insensitive.
+
+2010-10-14 Adam Roben <aroben@apple.com>
+
+ Call ::DefWindowProcW for unhandled key events
+
+ ::DefWindowProcW does important things for at least some key events
+ (e.g., it generates a WM_SYSCOMMAND message when the Alt key is
+ released), so we need to make sure to call it when we don't handle key
+ events.
+
+ Fixes <http://webkit.org/b/47671> <rdar://problem/8435594> Pressing
+ the Alt key when MiniBrowser's WKView is focused doesn't send focus to
+ the menu bar
+
+ Reviewed by Steve Falkenburg.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::didNotHandleKeyEvent):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::didNotHandleKeyEvent):
+ * UIProcess/API/qt/qwkpage_p.h:
+ Stubbed out didNotHandleKeyEvent.
+
+ * UIProcess/PageClient.h: Added didNotHandleKeyEvent.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Tell the PageClient about the
+ unhandled event.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onKeyEvent): Added a comment.
+ (WebKit::WebView::didNotHandleKeyEvent): Pass the event to
+ ::DefWindowProcW.
+
+ * UIProcess/win/WebView.h: Added didNotHandleKeyEvent.
+
+2010-10-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Memory smasher in WebKit2 InjectedBundleHitTestResult::absoluteLinkURL
+ https://bugs.webkit.org/show_bug.cgi?id=47648
+
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::absoluteLinkURL):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Return a String instead of
+ a const String&.
+
+2010-10-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ PlatformMouseEvents need to contain modifier flags
+ https://bugs.webkit.org/show_bug.cgi?id=47651
+
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
+ Fill in m_modifierFlags.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Draw the find overlay holes
+ https://bugs.webkit.org/show_bug.cgi?id=47631
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::drawRect):
+ Draw the white frames and the holes.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Use WKSI to get wheel event deltas
+ https://bugs.webkit.org/show_bug.cgi?id=47617
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebWheelEvent):
+ Call WKGetWheelEventDeltas.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ Call InitWebCoreSystemInterface.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+ Use dispatch_once.
+
+2010-10-13 Adam Roben <aroben@apple.com>
+
+ Fix the Cairo build
+
+ * Shared/cairo/BackingStoreCairo.cpp: Added.
+ (WebKit::BackingStore::createGraphicsContext):
+ (WebKit::BackingStore::paint):
+ Stubbed out.
+
+ * win/WebKit2.vcproj: Build BackingStoreCG.cpp in CG builds and
+ BackingStoreCairo.cpp in Cairo builds.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * Shared/cg/BackingStoreCG.cpp:
+
+2010-10-13 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43987
+ Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
+ to construct their internal result string. Remove ScriptString (this is now
+ redundant).
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send over find indicator information to the UI process
+ https://bugs.webkit.org/show_bug.cgi?id=47612
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setFindIndicator):
+ Add stub.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add SetFindIndicator.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::FindController):
+ Initialize m_isShowingFindIndicator.
+
+ (WebKit::FindController::findString):
+ Update the find indicator if needed.
+
+ (WebKit::FindController::updateFindIndicator):
+ Compute find indicator information, paint the find indicator text into a
+ backing store and send it over.
+
+ (WebKit::FindController::resetFindIndicator):
+ Send a SetFindIndicator message with a null backing store.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add BackingStoreQt.cpp file with stubbed out BackingStore member functions
+ https://bugs.webkit.org/show_bug.cgi?id=47614
+
+ * Shared/BackingStore.h:
+ Remove unused include.
+
+ * Shared/qt/BackingStoreQt.cpp: Added.
+ (WebKit::BackingStore::createGraphicsContext):
+ (WebKit::BackingStore::paint):
+
+ * WebKit2.pro:
+ Add BackingStore.cpp, BackingStore.h and BackingStoreQt.cpp
+
+2010-10-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fixes after r69538.
+
+ * UIProcess/WebBackForwardList.h: Add missing include directive
+ for CoreFoundation.
+ * UIProcess/cf/WebBackForwardListCF.cpp: Add missing include
+ directives for RetainPtr.h and CoreFoundation.
+ * UIProcess/cf/WebPageProxyCF.cpp: Add missing include directive
+ for RetainPtr.h.
+
+2010-10-13 Adam Roben <aroben@apple.com>
+
+ Start compiling BackingStore on Windows
+
+ Rubber-stamped by Anders Carlsson.
+
+ * win/WebKit2.vcproj: Added BackingStore.
+
+2010-10-13 Adam Roben <aroben@apple.com>
+
+ Rename BackingStoreMac.mm to BackingStoreCG.cpp
+
+ There's nothing Mac-specific about this file.
+
+ Rubber-stamped by Anders Carlsson.
+
+ * Shared/cg/BackingStoreCG.cpp: Renamed from WebKit2/Shared/mac/BackingStoreMac.mm.
+
+ * WebKit2.xcodeproj/project.pbxproj: Updated for rename.
+
+2010-10-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allow all signals to be delivered to the web process
+ https://bugs.webkit.org/show_bug.cgi?id=47602
+ <rdar://problem/8546399>
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+
+2010-10-12 Adam Roben <aroben@apple.com>
+
+ Let WebCore handle scrolling when the spacebar is pressed on Windows
+
+ WebCore already has code to do this, and WebKit2 was doing it on
+ keydown instead of keypress, which caused problems with text fields.
+
+ WebCore's spacebar-handling code is currently compiled out on Mac and
+ Qt, so we continue to handle spacebar in WebKit2 on those platforms.
+
+ Fixes <http://webkit.org/b/47544> <rdar://problem/8540645> REGRESSION:
+ Pressing spacebar in a text field in WebKit2 does not insert a space,
+ scrolls the page instead
+
+ Test: WebKit2/SpacebarScrolling
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ Removed handling for spacebar presses. WebCore already does this for
+ us, and does it better.
+
+2010-10-12 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Add ability for WK2 to set domain relaxation forbidden for a URL scheme.
+ https://bugs.webkit.org/show_bug.cgi?id=47562
+
+ Add the schemes for which domain relaxation is forbidden to the
+ WebProcessCreationParameters.
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetDomainRelaxationForbiddenForURLScheme):
+ * UIProcess/API/C/WKContextPrivate.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Copy over the schemes for which domain relaxation is forbidden to
+ WebProcessCreationParameters.
+ (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme):
+ Only send a message to the WebProcess if it is valid.
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Set domain relaxation forbidden for the schemes in
+ WebProcesCreationParameters.urlSchemesForWhichDomainRelaxationIsForbidden.
+ (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
+ * WebProcess/WebProcess.h:
+
+ * WebProcess/WebProcess.messages.in:
+ Add the SetDomainRelaxationFobiddenForURLScheme message.
+
+2010-10-13 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Simplify code generation in WebKit2/DerivedSources.pro
+ https://bugs.webkit.org/show_bug.cgi?id=47543
+
+ * DerivedSources.pro: General generator rules added instead of copy/paste code to converge Makefile.DerivedSources.
+ * WebKit2.pro: PluginProcess' headers and sources added.
+
+2010-10-13 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Use flag instead of magic word to mark memory map free/used
+
+ Original patch by Antti Koivisto.
+
+ * Shared/qt/MappedMemory.h:
+ (WebKit::MappedMemory::mapSize):
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ (WebKit::MappedMemory::data):
+ * Shared/qt/MappedMemoryPool.cpp:
+ (WebKit::MappedMemoryPool::cleanUp):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+ (WebKit::UpdateChunk::data):
+ (WebKit::UpdateChunk::decode):
+
+2010-10-12 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Build fix. Unreviewed.
+
+ * win/WebKit2Generated.make:
+ Copy over WKBundleHitTestResult.h.
+
+2010-10-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin "Sometimes" Barraclough.
+
+ Add API to get the target frame from a HitTestResult.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ (WKBundleHitTestResultGetFrame):
+ (WKBundleHitTestResultGetTargetFrame):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+ (WebKit::InjectedBundleHitTestResult::frame): Rename from webFrame.
+ (WebKit::InjectedBundleHitTestResult::targetFrame):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+
+2010-10-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Paint the find overlay background
+ https://bugs.webkit.org/show_bug.cgi?id=47565
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ Don't show the overlay if we have too many matches.
+
+ * WebProcess/WebPage/FindPageOverlay.cpp:
+ (WebKit::FindPageOverlay::rectsForTextMatches):
+ Get the rects for all text matches.
+
+ (WebKit::FindPageOverlay::drawRect):
+ Assert that we're only being called if there are any text matches.
+ Paint the background.
+
+2010-10-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ When a provisional load fails, the provisional URL returned
+ from WKFrameCopyProvisionalURL should be empty
+ <rdar://problem/8540878>
+ https://bugs.webkit.org/show_bug.cgi?id=47546
+
+ API Tests: FailedLoad (updated).
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didFailProvisionalLoad): Empty out the provisional URL.
+
+2010-10-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start fleshing out find page overlays
+ https://bugs.webkit.org/show_bug.cgi?id=47559
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toFindOptions):
+ Handle the kWKFindOptionsShowFindIndicator flag.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::FindController):
+ Initialize the find page overlay.
+
+ (WebKit::FindController::findString):
+ Hide or show the find page overlay.
+
+ (WebKit::FindController::findPageOverlayDestroyed):
+ Null out the find page overlay.
+
+ * WebProcess/WebPage/FindPageOverlay.cpp: Added.
+ * WebProcess/WebPage/FindPageOverlay.h: Added.
+ Add stubbed out FindPageOverlay class.
+
+ * WebProcess/WebPage/PageOverlay.cpp: Added.
+ (WebKit::PageOverlay::setPage):
+ Set the parent web page.
+
+ (WebKit::PageOverlay::setNeedsDisplay):
+ Invalidate the parent web page.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRect):
+ If there's a page overlay, ask it to draw on top of the page contents.
+
+ (WebKit::WebPage::installPageOverlay):
+ Set the page overlay.
+
+ (WebKit::WebPage::uninstallPageOverlay):
+ Clear the page overlay.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-12 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Add ability for WK2 to register a scheme as secure.
+ https://bugs.webkit.org/show_bug.cgi?id=47557
+
+ Add the schemes that need to be registered as secure to the WebProcessCreationParameters.
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextRegisterURLSchemeAsSecure):
+ * UIProcess/API/C/WKContextPrivate.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Copy over the schemes that are to be registered as secure to the
+ WebProcessCreationParameters.
+ (WebKit::WebContext::registerURLSchemeAsSecure):
+ Only send a message to the WebProcess if it is valid.
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Register the schemes that need to be registered as secure from the
+ WebProcessCreationParameters.
+ (WebKit::WebProcess::registerURLSchemeAsSecure):
+ * WebProcess/WebProcess.h:
+
+ * WebProcess/WebProcess.messages.in:
+ Add the RegisterURLSchemeAsSecure message.
+
+2010-10-12 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=47556
+ WKBundleNodeHandlePrivate.h should be marked private, not project
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Marked WKBundleNodeHandlePrivate.h as private.
+
+2010-10-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add FindController class
+ https://bugs.webkit.org/show_bug.cgi?id=47555
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/FindController.cpp: Added.
+ (WebKit::FindController::FindController):
+ (WebKit::FindController::findString):
+ Ask WebCore to find the given string for us.
+
+ (WebKit::FindController::hideFindUI):
+ Add stub.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Initialize the find controller.
+
+ (WebKit::WebPage::findString):
+ (WebKit::WebPage::hideFindUI):
+ Call the find controller.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Need WebKit2 API to get the cell above a table cell
+ <rdar://problem/8537111>
+ https://bugs.webkit.org/show_bug.cgi?id=47532
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::copyHTMLTableCellElementCellAbove):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+
+2010-10-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add BinarySemaphore class to CoreIPC and use it in Connection::waitForSyncReply
+ https://bugs.webkit.org/show_bug.cgi?id=47526
+
+ * Platform/CoreIPC/BinarySemaphore.cpp: Added.
+ * Platform/CoreIPC/BinarySemaphore.h: Added.
+ Add BinarySemaphore class.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncMessage):
+ (CoreIPC::Connection::waitForSyncReply):
+ (CoreIPC::Connection::processIncomingMessage):
+ Use the binary semaphore and the newly added m_pendingSyncRepliesMutex.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-12 Adam Roben <aroben@apple.com>
+
+ Bring WebKit2 .vcproj files up-to-date with reality
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.vcproj:
+ Added missing files, removed non-existent files.
+
+2010-10-12 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit WebKit2 build.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Change currentIndex to be of
+ type CFIndex and specify kCFNumberCFIndexType when calling CFNumberGetValue. This avoids a warning
+ when comparing currentIndex with another variable of type CFIndex later in the function.
+
+2010-10-12 Mark Rowe <mrowe@apple.com>
+
+ Fix class vs struct forward declaration issues in WebKit2 observed when using clang.
+
+ * Scripts/webkit2/messages.py: Add WebCore::ViewportArguments to the set of structs.
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.h:
+
+2010-10-12 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Adding Qt WebKit2 API for zooming.
+ https://bugs.webkit.org/show_bug.cgi?id=47539
+
+ Adding zoom methods to QWKPage.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::textZoomFactor): Added
+ (QWKPage::setTextZoomFactor): Added
+ (QWKPage::pageZoomFactor): Added
+ (QWKPage::setPageZoomFactor): Added
+ (QWKPage::setPageAndTextZoomFactors): Added
+ * UIProcess/API/qt/qwkpage.h:
+
+2010-10-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler of the past.
+
+ Address some of Darin's review feedback in https://bugs.webkit.org/show_bug.cgi?id=47354
+ that wasn't left till after my original commit.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopySessionState): Nuke the temporary variable.
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebPageProxy.h: Fix up function declarations.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::sessionStateData): Use sizeof(UInt32) instead of 4.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
+
+2010-10-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by BUILD FIX.
+
+ Build fix for Windows in https://bugs.webkit.org/show_bug.cgi?id=47354
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::WebPageProxy::sessionStateData): Change to use CF APIs that exist on Windows.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
+
+2010-10-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebKit2 equivalents for setValueForUser and setAutofilled
+ <rdar://problem/8475934>
+ https://bugs.webkit.org/show_bug.cgi?id=47524
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleSetHTMLInputElementValueForUser):
+ (WKBundleNodeHandleSetHTMLInputElementAutofilled):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
+ (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+
+2010-10-11 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Add a needed include.
+
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2010-10-11 Brian Weinstein <bweinstein@apple.com>
+
+ Windows build fix. Wrap calls to CFSTR in parentheses.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+
+2010-10-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef
+ https://bugs.webkit.org/show_bug.cgi?id=47509
+
+ Add SPI to convert a JSObjectRef to a WKBundleNodeHandleRef.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleCreate):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Added.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-10-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler and Sam Weinig.
+
+ <rdar://problem/8262202> and https://bugs.webkit.org/show_bug.cgi?id=47354
+ Need WKPage API for serializing and restoring a page's state
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * WebKit2Prefix.h: Add DEFINE_STATIC_GETTER convenience.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetSessionHistoryURLValueType):
+ (WKPageCopySessionState): Change to use a filter function to allow the API client to decide what
+ types of things get serialized as session state. For now it only filters based on URL in
+ session history entries.
+ (WKPageRestoreFromSessionState):
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebBackForwardList.h:
+ (WebKit::WebBackForwardList::restoredCurrentURL):
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::sessionStateData): Leave stubs for non-CF platform builds.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Ditto.
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/cf: Added.
+ * UIProcess/cf/WebBackForwardListCF.cpp: Added.
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Store back/forward list info CF property list style.
+ (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Restore from that data - but for now we don't
+ actually put the back/forward list back into place and instead only remember the current URL.
+
+ * UIProcess/cf/WebPageProxyCF.cpp: Added.
+ (WebKit::WebPageProxy::sessionStateData): Create the sessions state date CF property list style, plus a version header.
+ (WebKit::WebPageProxy::restoreFromSessionStateData): Restore from that property list style session state data.
+
+2010-10-11 Adam Roben <aroben@apple.com>
+
+ Implement SharedMemory on Windows
+
+ This makes visited links be colored correctly.
+
+ Fixes <http://webkit.org/b/47499> <rdar://problem/8422725>.
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/SharedMemory.h: Add Windows-specific members to
+ SharedMemory and SharedMemory::Handle.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::SharedMemory::Handle::Handle): Initialize our members.
+ (WebKit::SharedMemory::Handle::~Handle): Close our HANDLE if we have
+ one.
+ (WebKit::SharedMemory::Handle::encode): Encode our size, HANDLE, and
+ PID. Null out our HANDLE member, as it is now the receiving process's
+ responsibility to close the HANDLE.
+ (WebKit::SharedMemory::Handle::decode): Copy the handle from the
+ sending process into the receiving process and close the HANDLE the
+ sending process gave us.
+ (WebKit::SharedMemory::create): Map some memory and store it in a new
+ SharedMemory object.
+ (WebKit::accessRights): Helper function to convert a
+ SharedMemory::Protection to a file-mapping access right.
+ (WebKit::SharedMemory::create): Map the memory represented by the
+ Handle, and adopt the HANDLE from it.
+ (WebKit::SharedMemory::~SharedMemory): Clean up our memory mapping.
+ (WebKit::SharedMemory::createHandle): Give the Handle a copy of our
+ HANDLE with the specified protection.
+
+2010-10-11 Adam Roben <aroben@apple.com>
+
+ Make it possible to restart a RunLoop::Timer on Windows
+
+ Fixes <http://webkit.org/b/47505> RunLoop::Timer only ever fires once
+ on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::timerFired): Remove non-repeating timers from the
+ set of active timers when they fire, just like we do when stopping
+ them manually.
+
+2010-10-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal
+ representation of a WebKit1 WebSerializedJSValue.
+ https://bugs.webkit.org/show_bug.cgi?id=47439
+
+ * Shared/API/c/WKSerializedScriptValue.cpp:
+ (WKSerializedScriptValueCreateWithInternalRepresentation):
+ Use the existing WebSerializedScriptValue constructor that takes a pointer to the internal
+ representation (a WebCore::SerializedScriptValue).
+ * Shared/API/c/WKSerializedScriptValuePrivate.h:
+
+2010-10-11 Mike Thole <mthole@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Rename WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain()
+ https://bugs.webkit.org/show_bug.cgi?id=47495
+
+ * Shared/API/c/mac/WKCertificateInfoMac.h:
+ Renamed WKCertificateInfoGetPeerCertificates() to WKCertificateInfoGetCertificateChain()
+ * Shared/API/c/mac/WKCertificateInfoMac.mm:
+ (WKCertificateInfoGetCertificateChain): Updated for name change.
+ * Shared/mac/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::certificateChain): Renamed from peerCertificates()
+ * Shared/mac/PlatformCertificateInfo.mm:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Updated for name change.
+ (WebKit::PlatformCertificateInfo::encode): Ditto.
+ (WebKit::PlatformCertificateInfo::decode): Ditto.
+ (WebKit::PlatformCertificateInfo::dump): Ditto.
+
+2010-10-11 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Issue a warning when an InjectedBundle can't be loaded.
+ https://bugs.webkit.org/show_bug.cgi?id=47497
+
+ The original author of the patch is Jocelyn Turcotte <jocelyn.turcotte@nokia.com>.
+
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ (WebKit::InjectedBundle::load):
+
+2010-10-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Rename transformToDeviceSpace to convertToDeviceSpace and
+ transformToUserSpace to convertToUserSpace at Simon's request.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::convertToDeviceSpace):
+ (WebKit::PageClientImpl::convertToUserSpace):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _convertToDeviceSpace:]):
+ (-[WKView _convertToUserSpace:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::convertToDeviceSpace):
+ (QWKPagePrivate::convertToUserSpace):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowFrame):
+ (WebKit::WebPageProxy::getWindowFrame):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::convertToDeviceSpace):
+ (WebKit::WebView::convertToUserSpace):
+ * UIProcess/win/WebView.h:
+
+2010-10-11 Sam Weinig <sam@webkit.org>
+
+ Try to fix the Mac release build.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _transformToDeviceSpace:]):
+ (-[WKView _transformToUserSpace:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+
+2010-10-11 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebProcess ASSERTs with a null application cache dir creation parameter
+ https://bugs.webkit.org/show_bug.cgi?id=47489
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+
+2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ Unlink the files used for I/O mapped memory as soon as they are
+ created.
+
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+
+2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Rubberstamped by Andreas Kling.
+
+ Build fix when using MeeGo Touch
+
+ * WebProcess/qt/WebProcessMainQt.cpp:
+
+2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ Use raster for the QtWebProcess.
+
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::WebProcessMainQt):
+
+2010-10-11 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Unreviewed win build fix.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+
+2010-10-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Adding Qt WebKit2 API for dealing with viewport meta info
+ https://bugs.webkit.org/show_bug.cgi?id=47202
+
+ Add new API for setting scale and layout viewport given the data
+ provided by the viewport meta tag.
+
+ Any Qt view components who wants to support this, will need to
+ compute the viewport attributes before first load using
+ viewportAttributesForSize(..), and then again everytime
+ the viewport attributes gets invalidates (loading a new page,
+ navigating page cache) or every time on of the browser
+ attributes change, such as when the device is rotates (which
+ changes the actual visible viewport). A signal
+ viewportChangeRequested() is provided for the former.
+
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setViewportArguments):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::setViewportArguments):
+ (QWKPage::ViewportAttributes::ViewportAttributes):
+ (QWKPage::ViewportAttributes::~ViewportAttributes):
+ (QWKPage::ViewportAttributes::operator=):
+ (QWKPage::viewportAttributesForSize):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QtViewportAttributesPrivate::QtViewportAttributesPrivate):
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didChangeViewportData):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setViewportArguments):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::dispatchViewportDataDidChange):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-10-11 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] WebKit2 build scripts are buggy
+ https://bugs.webkit.org/show_bug.cgi?id=47377
+
+ Generated sources must depends on WebKit2/Scripts/webkit2/messages.py too.
+
+ * DerivedSources.pro: Missing dependencies added.
+
+2010-10-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ WKFrameGetFrameLoadState() returns kWKFrameLoadStateCommitted after the load has been stopped
+ <rdar://problem/8173667>
+ https://bugs.webkit.org/show_bug.cgi?id=47461
+
+ API Test: WebKit2/FailedLoad
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didFailProvisionalLoad):
+ (WebKit::WebFrameProxy::didFailLoad):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ Set the frame load state to LoadStateFinished for both didFailProvisionalLoadForFrame
+ and didFailLoadForFrame.
+
+2010-10-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add WebKit2 version of runBeforeUnloadConfirmPanelWithMessage
+ <rdar://problem/8447690>
+ https://bugs.webkit.org/show_bug.cgi?id=47459
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowFrame):
+ (WebKit::WebPageProxy::getWindowFrame):
+ (WebKit::WebPageProxy::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebUIClient::runBeforeUnloadConfirmPanel):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
+ (WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
+ Pipe calls through to the UIProcess.
+
+2010-10-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Need implementation of ChromeClient windowRect related functions.
+ <rdar://problem/8469476>
+ https://bugs.webkit.org/show_bug.cgi?id=47386
+
+ * Shared/API/c/WKGeometry.h: Added.
+ Adds WKPoint, WKSize and WKRect structs.
+
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toImpl):
+ (WebKit::toAPI):
+ Add conversion functions for WKRect.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add encoding for FloatPoint, FloatSize and FloatRect.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::transformToDeviceSpace):
+ (WebKit::PageClientImpl::transformToUserSpace):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _transformToDeviceSpace:]):
+ (-[WKView _transformToUserSpace:]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::transformToDeviceSpace):
+ (QWKPagePrivate::transformToUserSpace):
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowFrame):
+ (WebKit::WebPageProxy::getWindowFrame):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::setWindowFrame):
+ (WebKit::WebUIClient::windowFrame):
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setEditCommandState):
+ (WebKit::WebView::transformToDeviceSpace):
+ (WebKit::WebView::transformToUserSpace):
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setWindowFrame):
+ (WebKit::WebChromeClient::windowFrame):
+ Pipe calls through to the UIProcess, and give ports a chance to transform
+ the rect (via the PageClient) before it is passed on.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-10-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add Private API for creating a WebKit1 WebSerializedJSValue from the internal
+ representation of a WebKit2 WebSerializedScriptValue.
+ https://bugs.webkit.org/show_bug.cgi?id=47390
+
+ * Shared/API/c/WKSerializedScriptValue.cpp:
+ (WKSerializedScriptValueGetInternalRepresentation):
+ * Shared/API/c/WKSerializedScriptValuePrivate.h: Added.
+
+ * Shared/WebSerializedScriptValue.h:
+ (WebKit::WebSerializedScriptValue::internalRepresentation):
+ Return the WebCore::SerializedScriptValue as a void* so that it can be passed through the
+ API.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add WKSerializedScriptValuePrivate.h.
+ * win/WebKit2.vcproj:
+ Ditto, also some sorting.
+
+ * win/WebKit2Generated.make:
+ Copy over WKSerializedScriptValuePrivate.h.
+
+2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Fix WKStringQt.h and WKURLQt.h API problems.
+ https://bugs.webkit.org/show_bug.cgi?id=47412
+
+ * UIProcess/API/cpp/qt/WKStringQt.h:
+ Remove the extern "C"
+ * UIProcess/API/cpp/qt/WKURLQt.h:
+ Remove the extern "C"
+ * UIProcess/API/qt/qgraphicswkview.h:
+ Fix the forwarded declaration
+
+2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so
+ https://bugs.webkit.org/show_bug.cgi?id=47347
+
+ * WebKit2.pri:
+
+2010-10-08 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ Notify WebPage when QGraphicsWKView gains focus. Set both
+ active flag and focused flag, similar to QWebPage behavior.
+
+ [Qt] WebKit2 should support focusing
+ https://bugs.webkit.org/show_bug.cgi?id=47168
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::focusInEvent): Added.
+ (QGraphicsWKView::focusOutEvent): Added.
+ * UIProcess/API/qt/qgraphicswkview.h: Added declarations.
+
+2010-10-07 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/8349882> Many WebProcess sandbox violations during basic browsing operations.
+
+ * WebProcess/com.apple.WebProcess.sb:
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2010-10-07 Brady Eidson <beidson@apple.com>
+
+ Build fix.
+
+ GCC continued to mask the fact that I still hadn't declared the correct symbol.
+
+ * Platform/Logging.cpp:
+ (initializeLogChannel):
+ * Platform/Logging.h:
+
+2010-10-07 Brian Weinstein <bweinstein@apple.com>
+
+ Build Fix. Fix the vcproj to make it valid and openable by Visual Studio.
+
+ * win/WebKit2.vcproj:
+
+2010-10-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a WKPageFindClient, hook up WKPageCountStringMatches
+ https://bugs.webkit.org/show_bug.cgi?id=47373
+
+ * Shared/APIClient.h: Added.
+ Add an APIClient class template which can be used to reduce duplicated
+ code in the client wrappers.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageFindClient):
+ Initialize the page find client.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebFindClient.cpp: Added.
+ (WebKit::WebFindClient::didCountStringMatches):
+ Call the WKPageFindClient function.
+
+ * UIProcess/WebFindClient.h: Added.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeFindClient):
+ Initialize the WebFindClient.
+
+ (WebKit::WebPageProxy::findString):
+ Send a FindString message.
+
+ (WebKit::WebPageProxy::hideFindUI):
+ Send a HideFindUI message.
+
+ (WebKit::WebPageProxy::countStringMatches):
+ Send a CountStringMatches message.
+
+ (WebKit::WebPageProxy::didCountStringMatches):
+ Call the find client.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add new message.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::findString):
+ (WebKit::WebPage::hideFindUI):
+ Add stubs.
+
+ (WebKit::WebPage::countStringMatches):
+ Figure out the number of matches and send them back in the DidCountStringMatches msessage.
+
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Add new messages.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-10-07 Sam Weinig <sam@webkit.org>
+
+ Update unit tests results.
+
+ * Scripts/webkit2/messages_unittest.py:
+
+2010-10-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by BUILD FIX for non-gcc builds.
+
+ * Platform/Logging.cpp:
+ (initializeLogChannel): GCC optimized out the only caller of this function. Windows doesn't, and is breaking.
+
+2010-10-07 Darin Adler <darin@apple.com>
+
+ Fix include mistake that makes build fail with non-Objective-C.
+
+ * Shared/API/c/mac/WKCertificateInfoMac.h: Include CoreFoundation.h,
+ not Foundation.h.
+
+2010-10-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Generate the messages sent to the WebPageProxy
+ https://bugs.webkit.org/show_bug.cgi?id=47239
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ * Scripts/webkit2/messages.py:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
+ * Shared/StringPairVector.h: Added.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::registerEditCommand):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::registerEditCommand):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebEditCommandProxy.cpp:
+ (WebKit::WebEditCommandProxy::unapply):
+ (WebKit::WebEditCommandProxy::reapply):
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Added.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::registerEditCommand):
+ * UIProcess/win/WebView.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::registerCommandForUndo):
+ (WebKit::WebEditorClient::clearUndoRedoOperations):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * win/WebKit2.vcproj:
+
+2010-10-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by BUILD FIX.
+
+ Forgot this to keep the build working.
+
+ * WebKit2Prefix.h:
+
+2010-10-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Start stubbing out the find API
+ https://bugs.webkit.org/show_bug.cgi?id=47366
+ <rdar://problem/8524998>
+
+ * Shared/FindOptions.h: Added.
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toFindDirection):
+ (WebKit::toFindOptions):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageFindString):
+ (WKPageHideFindUI):
+ (WKPageCountStringMatches):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::findString):
+ (WebKit::WebPageProxy::hideFindUI):
+ (WebKit::WebPageProxy::countStringMatches):
+ * UIProcess/WebPageProxy.h:
+
+2010-10-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Andras Becsi <abecsi@webkit.org>, Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add WTR's InjectedBundle build files.
+ https://bugs.webkit.org/show_bug.cgi?id=47333
+
+ * WebKit2.pro:
+
+2010-10-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Part of https://bugs.webkit.org/show_bug.cgi?id=47354 - Add WebCore/WebKit1 style logging channel mechanism0 to WebKit2,
+ including the first channel to be used for SessionState work.
+
+ * Platform/Logging.cpp: Added.
+ (initializeLogChannelsIfNecessary):
+ * Platform/Logging.h: Added.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-10-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r69315.
+ http://trac.webkit.org/changeset/69315
+ https://bugs.webkit.org/show_bug.cgi?id=47363
+
+ Forgot to add the new files (Requested by kbalazs on #webkit).
+
+ * WebKit2.pro:
+
+2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fixing viewport meta tag user-scalable handling
+ https://bugs.webkit.org/show_bug.cgi?id=47330
+
+ user-scalable attribute was not considered in viewport meta tag handling.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportConfigurationForSize):
+
+2010-10-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Andras Becsi <abecsi@webkit.org>, Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add WTR's InjectedBundle build files.
+ https://bugs.webkit.org/show_bug.cgi?id=47333
+
+ * WebKit2.pro:
+
+2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Some viewport meta tag api refactoring
+ https://bugs.webkit.org/show_bug.cgi?id=47334
+
+ WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
+ WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportConfigurationForSize):
+
+2010-10-06 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Bundle should expose a reportException method.
+ https://bugs.webkit.org/show_bug.cgi?id=46769
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleReportException):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::reportException):
+ Mimic the behavior of WebView::reportException.
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Adam Roben.
+
+ [Qt] Webkit2 MacOS build fix
+ https://bugs.webkit.org/show_bug.cgi?id=47167
+
+ There were two problems when building Qt WebKit2 in Mac. The first was that
+ ld does not support flag -whole-archive and it needed to be replaced by flag -all_load.
+ The second problem was that __APPLE__ is been used to identify safari builds and, when
+ building Qt in MacOS, Qt was ending up using the wrong typedef. The solution was to use
+ a Qt specific WKNativeEvent.h that only has the proper Qt typedef instead of the original one.
+
+ * UIProcess/API/C/qt/WKNativeEvent.h: Added.
+ * WebKit2.pri:
+ * WebKit2.pro:
+
+2010-10-07 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebKitTestRunner should be portable
+ https://bugs.webkit.org/show_bug.cgi?id=45393
+
+ Introducing additional URL API.
+ * Shared/API/c/WKURL.cpp:
+ (WKURLCreateWithUTF8CString):
+ (WKURLIsEqual):
+ * Shared/API/c/WKURL.h:
+
+2010-10-06 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add WebKitTestRunner's build files
+ https://bugs.webkit.org/show_bug.cgi?id=44155
+
+ * DerivedSources.pro: Changes according the new location
+ of generate-forwarding-headers.pl.
+ * UIProcess/API/C/WebKit2.h: Do not check the value of the
+ __APPLE__ define if it is not defined.
+ * WebKit2.pro: Changes according the new location
+ of generate-forwarding-headers.pl. Added missing files
+ to the build that provides API that is used by WTR.
+ * generate-forwarding-headers.pl: Moved to WebKitTools/Scripts
+ since from now this is not only used by WebKit2.
+
+2010-10-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Separate actually calling the member function from decoding/encoding arguments
+ and remove any ambiguities when calling the function.
+
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ (CoreIPC::handleMessage):
+
+2010-10-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ More Arguments.h cleanup.
+
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/HandleMessage.h:
+ Remove unnecessary typedefs, simplify.
+
+ * Scripts/webkit2/messages.py:
+ * UIProcess/WebContext.h:
+ Fix clang++ build.
+
+2010-10-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start cleaning up Arguments.h
+ https://bugs.webkit.org/show_bug.cgi?id=47304
+
+ This is a first step towards simplifying all the handleMessage overloads we have.
+
+ * Platform/CoreIPC/Arguments.h:
+ (CoreIPC::Arguments1):
+ Make Arguments1 a struct and get rid of the FirstArgumentType typedef. Instead, add a
+ ValueType typedef which is defined to an Arguments1 type whose type parameter is not
+ a reference type.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Update for the Arguments1 change. Rename "arguments" to "argumentDecoder" and "reply" to
+ "replyEncoder".
+
+2010-10-06 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix the build after API changes introduced in r69214.
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ (WKStringCreateWithQString):
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ (WKURLCreateWithQUrl):
+
+2010-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r69210.
+ http://trac.webkit.org/changeset/69210
+ https://bugs.webkit.org/show_bug.cgi?id=47297
+
+ This patch broke Windows (Requested by andersca on #webkit).
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added.
+ * Shared/StringPairVector.h: Removed.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::registerEditCommand):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::registerEditCommand):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebEditCommandProxy.cpp:
+ (WebKit::WebEditCommandProxy::unapply):
+ (WebKit::WebEditCommandProxy::reapply):
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
+ (WebKit::WebPageProxy::didFinishLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::didFirstLayoutForFrame):
+ (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
+ (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForMIMEType):
+ (WebKit::WebPageProxy::willSubmitForm):
+ (WebKit::WebPageProxy::createNewPage):
+ (WebKit::WebPageProxy::runJavaScriptAlert):
+ (WebKit::WebPageProxy::runJavaScriptConfirm):
+ (WebKit::WebPageProxy::runJavaScriptPrompt):
+ (WebKit::WebPageProxy::mouseDidMoveOverElement):
+ (WebKit::WebPageProxy::contentsSizeChanged):
+ (WebKit::WebPageProxy::addItemToBackForwardList):
+ (WebKit::WebPageProxy::goToItemInBackForwardList):
+ (WebKit::WebPageProxy::registerEditCommandForUndo):
+ (WebKit::WebPageProxy::registerEditCommandForRedo):
+ (WebKit::WebPageProxy::didReceiveEvent):
+ (WebKit::WebPageProxy::didChangeAcceleratedCompositing):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Removed.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::registerEditCommand):
+ * UIProcess/win/WebView.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setWindowRect):
+ (WebKit::WebChromeClient::takeFocus):
+ (WebKit::WebChromeClient::createWindow):
+ (WebKit::WebChromeClient::runJavaScriptAlert):
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+ (WebKit::WebChromeClient::setStatusbarText):
+ (WebKit::WebChromeClient::contentsSizeChanged):
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ (WebKit::WebChromeClient::setToolTip):
+ (WebKit::WebChromeClient::setCursor):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::registerCommandForUndo):
+ (WebKit::WebEditorClient::clearUndoRedoOperations):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::detachedFromParent2):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
+ (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
+ (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
+ (WebKit::WebFrameLoaderClient::createFrame):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::addItem):
+ (WebKit::WebBackForwardListProxy::goToItem):
+ (WebKit::WebBackForwardListProxy::backItem):
+ (WebKit::WebBackForwardListProxy::currentItem):
+ (WebKit::WebBackForwardListProxy::forwardItem):
+ (WebKit::WebBackForwardListProxy::itemAtIndex):
+ (WebKit::WebBackForwardListProxy::backListCount):
+ (WebKit::WebBackForwardListProxy::forwardListCount):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ (WebKit::WebPage::enterAcceleratedCompositingMode):
+ (WebKit::WebPage::sendClose):
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::WebPage::keyEvent):
+ (WebKit::WebPage::validateMenuItem):
+ (WebKit::WebPage::touchEvent):
+ (WebKit::WebPage::show):
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+ (WebKit::WebPage::getRenderTreeExternalRepresentation):
+ (WebKit::WebPage::getSourceForFrame):
+ * win/WebKit2.vcproj:
+
+2010-10-06 Jessie Berlin <jberlin@apple.com>
+
+ Rubber-stamped by Dan Bernstein.
+
+ WKSerializedScriptValue.h needs to be copied over into the WEBKITOUTPUTDIR on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=47287
+
+ * win/WebKit2Generated.make:
+ Copy WKSerializedScriptValue.h into $(WEBKITOUTPUTDIR)\include\WebKit2.
+
+2010-10-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Rename toRef/toWK to toAPI/toImpl
+ https://bugs.webkit.org/show_bug.cgi?id=47281
+
+ * Shared/API/c/WKArray.cpp:
+ * Shared/API/c/WKCertificateInfo.cpp:
+ * Shared/API/c/WKData.cpp:
+ * Shared/API/c/WKDictionary.cpp:
+ * Shared/API/c/WKError.cpp:
+ * Shared/API/c/WKMutableArray.cpp:
+ * Shared/API/c/WKMutableDictionary.cpp:
+ * Shared/API/c/WKNumber.cpp:
+ * Shared/API/c/WKSerializedScriptValue.cpp:
+ * Shared/API/c/WKSharedAPICast.h:
+ * Shared/API/c/WKString.cpp:
+ * Shared/API/c/WKType.cpp:
+ * Shared/API/c/WKURL.cpp:
+ * Shared/API/c/WKURLRequest.cpp:
+ * Shared/API/c/WKURLResponse.cpp:
+ * Shared/API/c/cf/WKStringCF.cpp:
+ * Shared/API/c/cf/WKURLCF.cpp:
+ * Shared/API/c/cf/WKURLRequestCF.cpp:
+ * Shared/API/c/cf/WKURLResponseCF.cpp:
+ * Shared/API/c/mac/WKCertificateInfoMac.mm:
+ * Shared/API/c/mac/WKURLRequestNS.mm:
+ * Shared/API/c/mac/WKURLResponseNS.mm:
+ * Shared/API/c/win/WKCertificateInfoWin.cpp:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKFormSubmissionListener.cpp:
+ * UIProcess/API/C/WKFrame.cpp:
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ * UIProcess/API/C/WKPreferences.cpp:
+ * UIProcess/API/C/WKPreferencesPrivate.cpp:
+ * UIProcess/API/C/win/WKContextWin.cpp:
+ * UIProcess/API/C/win/WKView.cpp:
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/mac/WKView.mm:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/GenericCallback.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ * UIProcess/WebFormClient.cpp:
+ * UIProcess/WebHistoryClient.cpp:
+ * UIProcess/WebLoaderClient.cpp:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm:
+ * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
+ * UIProcess/qt/ChunkedUpdateDrawingAreaProxyQt.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+
+2010-10-06 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
+ https://bugs.webkit.org/show_bug.cgi?id=47268
+
+ Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::viewportConfigurationForSize):
+
+2010-10-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Generate the messages sent to the WebPageProxy
+ https://bugs.webkit.org/show_bug.cgi?id=47239
+
+ * Platform/CoreIPC/Arguments.h:
+ Add additional typedefs.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add more handleMessage implementations.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+ Add headers for reply argument types.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Removed.
+
+ * Shared/StringPairVector.h: Added.
+ This file is a hack to work around a deficiency in the generator
+ which can't deal with class templates with more than one argument.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebEditCommandProxy.cpp:
+ * UIProcess/WebFormClient.cpp:
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ Migrate to generated calls.
+
+ * UIProcess/WebPageProxy.messages.in: Added.
+ New messages definitions file.
+
+ * DerivedSources.make:
+ * DerivedSources.pro:
+ * win/WebKit2.vcproj:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-10-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send null events and mouse events
+ https://bugs.webkit.org/show_bug.cgi?id=47223
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add "-Wno-deprecated-declarations" to the COMPILER_FLAGS for NetscapePluginMac.mm since
+ we call Button() which is deprecated.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize the null event timer.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ Start the null event timer.
+
+ (WebKit::NetscapePlugin::platformDestroy):
+ Stop the null event timer.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ Initialize the event record and call NPP_HandleEvent.
+
+ (WebKit::NetscapePlugin::nullEventTimerFired):
+ Send a null event with the current mouse position.
+
+2010-10-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Start sending Carbon plug-in events in th Carbon event model
+ https://bugs.webkit.org/show_bug.cgi?id=47209
+ <rdar://problem/8515677>
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize the NP_CGContext struct.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ Create a fake Carbon window.
+
+ (WebKit::NetscapePlugin::platformDestroy):
+ Destroy the Carbon window.
+
+ (WebKit::modifiersForEvent):
+ Given a WebEvent, return the EventRecord modifiers.
+
+ (WebKit::NetscapePlugin::platformPaint):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+ (WebKit::NetscapePlugin::windowFocusChanged):
+ Create Carbon EventRecords and call NPP_HandleEvent.
+
+2010-10-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Add MIMEType accessor to WKFrame
+ <rdar://problem/8347683>
+ https://bugs.webkit.org/show_bug.cgi?id=47138
+
+ Tests: WebKit2/FrameMIMETypePNG
+ WebKit2/FrameMIMETypeHTML
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameCopyMIMEType):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::setMIMEType):
+ (WebKit::WebFrameProxy::mimeType):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+
+2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Implement API call for setting custom user agent
+ (QWKPage::setCustomUserAgent)
+
+ [Qt] Ability to set custom userAgent for WebKit2/WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=44265
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::setCustomUserAgent): Added.
+ * UIProcess/API/qt/qwkpage.h: Add setCustomUserAgent.
+
+2010-10-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r69103.
+ http://trac.webkit.org/changeset/69103
+ https://bugs.webkit.org/show_bug.cgi?id=47177
+
+ Breaking Windows and Mac build. (Requested by lca on #webkit).
+
+ * UIProcess/API/C/WKNativeEvent.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage.h:
+ * WebKit2.pri:
+
+2010-10-05 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Webkit2 MacOS build fix
+ https://bugs.webkit.org/show_bug.cgi?id=47167
+
+ Qt WebKit2 MacOS build fix.
+
+ * UIProcess/API/C/WKNativeEvent.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage.h:
+ * WebKit2.pri:
+
+2010-10-04 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix the build when sandboxing is enabled.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebProcessProxy.cpp:
+
+2010-10-04 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed Csaba Osztrogonác.
+
+ [Qt] Build fix after r69037.
+ Also remove dummy setUpAcceleratedCompositing() from the source file,
+ since it has been removed from the header.
+
+ * UIProcess/WebProcessProxy.cpp:
+
+2010-10-04 Andras Becsi <abecsi@webkit.org>
+
+ Rubber-stamped by Csaba Osztrogonác.
+
+ [Qt] Fix the WebKit2 build after r69029.
+
+ * DerivedSources.pro:
+
+2010-10-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Change WebProcess initialization to be done with an
+ auxiliary struct.
+
+ * Platform/CoreIPC/mac/MachPort.h:
+ * Shared/WebProcessCreationParameters.cpp: Added.
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h: Added.
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * UIProcess/mac/WebProcessProxyMac.mm: Removed.
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::applicationCacheDirectory):
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+ * win/WebKit2.vcproj:
+
+2010-10-04 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed build fixes after r68260 and r68686.
+
+ * Platform/CoreIPC/DataReference.h: Add include directive for
+ <inttypes.h>, needed for WinCairo build.
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ Conditionalize logic specific to WebKitSystemInterface and
+ add a stub implementation for WinCairo.
+
+2010-10-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Generate messages sent to the WebProcess class.
+ https://bugs.webkit.org/show_bug.cgi?id=47097
+
+ * DerivedSources.make:
+ Add new file to generate and new directory to search.
+
+ * Scripts/webkit2/messages.py:
+ (forward_declarations_and_headers): Special case class templates.
+ (headers_for_type): Special case Vector.
+ * Scripts/webkit2/messages_unittest.py:
+ Make this script work for passing a templated type.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h: Removed.
+
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeHistoryClient):
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ (WebKit::WebContext::setCacheModel):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy): Always pass both
+ the bundle path and a key, even if the key is null, which it will be for
+ all non-mac builds for now.
+ * UIProcess/mac/WebProcessProxyMac.mm:
+ (WebKit::WebProcessProxy::setUpAcceleratedCompositing):
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::setShouldPaintNativeControls):
+ (WebKit::WebContext::platformSetUpWebProcess):
+ Use the new syntax for sending the messages.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::setShouldTrackVisitedLinks):
+ (WebKit::WebProcess::setCacheModel):
+ (WebKit::WebProcess::setupAcceleratedCompositingPort):
+ (WebKit::WebProcess::setShouldPaintNativeControls):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ Convert to using generated didReceiveWebProcessMessage.
+
+ * WebProcess/WebProcess.messages.in: Added.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Update projects.
+
+2010-10-04 Sam Weinig <sam@webkit.org>
+
+ Fix the Mac build.
+
+ * WebProcess/mac/WebProcessMac.mm:
+
+2010-10-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to set the CacheModel in Webkit2
+ https://bugs.webkit.org/show_bug.cgi?id=47066
+
+ Add WKContext function to set the cache model for the context.
+
+ * Shared/CacheModel.h: Added.
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toCacheModel):
+ (WebKit::toRef):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetCacheModel):
+ (WKContextGetCacheModel):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::setCacheModel):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::cacheModel):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::setCacheModel):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ * WebProcess/mac/WebProcessMac.mm: Added.
+ (WebKit::memorySize):
+ (WebKit::volumeFreeSize):
+ (WebKit::WebProcess::platformSetCacheModel):
+ * WebProcess/qt/WebProcessQt.cpp: Added.
+ (WebKit::WebProcess::platformSetCacheModel):
+ * WebProcess/win/WebProcessWin.cpp: Added.
+ (WebKit::WebProcess::platformSetCacheModel):
+ * win/WebKit2.vcproj:
+
+2010-10-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement newly added Plugin/PluginController member functions for out of process plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=47065
+ <rdar://problem/8507194>
+
+ * Platform/CoreIPC/Arguments.h:
+ Add typedefs.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add new handleMessage overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::create):
+ Add an isPrivateBrowsingEnabled boolean.
+
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Add an isPrivateBrowsingEnabled boolean.
+
+ (WebKit::PluginControllerProxy::proxiesForURL):
+ (WebKit::PluginControllerProxy::cookiesForURL):
+ (WebKit::PluginControllerProxy::setCookiesForURL):
+ Send messages to the web process.
+
+ (WebKit::PluginControllerProxy::isPrivateBrowsingEnabled):
+ Return whether private browsing is enabled or not.
+
+ (WebKit::PluginControllerProxy::handleKeyboardEvent):
+ Call Plugin::handleKeyboardEvent.
+
+ (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
+ Call Plugin::privateBrowsingStateChanged.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add new messages.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ Pass the isPrivateBrowsingEnabled flag.
+
+ * PluginProcess/WebProcessConnection.h:
+ * PluginProcess/WebProcessConnection.messages.in:
+ Update CreatePlugin message parameters.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didReceiveMessage):
+ (WebKit::PluginProcessConnection::didReceiveSyncMessage):
+ It's OK for a plug-in to not get a sync message.
+
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::handleKeyboardEvent):
+ (WebKit::PluginProxy::privateBrowsingStateChanged):
+ Send messages.
+
+ (WebKit::PluginProxy::proxiesForURL):
+ (WebKit::PluginProxy::cookiesForURL):
+ (WebKit::PluginProxy::setCookiesForURL):
+ Call the plug-in controller.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add new messages.
+
+2010-10-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Send keyboard events to plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=47064
+ <rdar://problem/8507148>
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::handleKeyboardEvent):
+ Call platformHandleKeyboardEvent.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::modifierFlags):
+ Return the modifier flags given a WebKeyboardEvent.
+
+ (WebKit::initializeKeyboardEvent):
+ Initialize an NPCocoaEvent from a WebKeyboardEvent.
+
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ Initialize the event and dispatch it using NPP_HandleEvent.
+
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ Add stub.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+ Add stub.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add handleKeyboardEvent.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ Call Plugin::handleKeyboardEvent if we see a keydown or keyup event.
+
+2010-10-01 Mark Rowe <mrowe@apple.com>
+
+ Build fix.
+
+ Clear the executable bit from a number of source files.
+
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
+
+2010-10-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Plug-ins should have access to the private browsing state.
+ https://bugs.webkit.org/show_bug.cgi?id=47031
+ <rdar://problem/8505405>
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Handle NPNVprivateModeBool.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
+ Call PluginController::isPrivateBrowsingEnabled.
+
+ (WebKit::NetscapePlugin::NPP_SetValue):
+ Add NPP_SetValue wrapper.
+
+ (WebKit::NetscapePlugin::privateBrowsingStateChanged):
+ Call NPP_SetValue with the updated state.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add privateBrowsingStateChanged pure virtual member function.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add isPrivateBrowsingEnabled pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::privateBrowsingStateChanged):
+ Call Plugin::privateBrowsingStateChanged.
+
+2010-10-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add SPI to convert a WKStringRef to a JSStringRef and vice-versa.
+
+ API Test: WebKit2/WKStringJSString
+
+ * Shared/API/c/WKString.cpp:
+ (WKStringCreateWithJSString):
+ (WKStringCopyJSString):
+ * Shared/API/c/WKStringPrivate.h: Added.
+ * Shared/WebString.h:
+ (WebKit::WebString::create):
+ (WebKit::WebString::createJSString):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-10-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement proxiesForURL, cookiesForURL and setCookiesForURL
+ https://bugs.webkit.org/show_bug.cgi?id=47029
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::proxiesForURL):
+ (WebKit::PluginView::cookiesForURL):
+ (WebKit::PluginView::setCookiesForURL):
+
+2010-10-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add additional WKString API
+ https://bugs.webkit.org/show_bug.cgi?id=46958
+
+ API Test: WebKit2/WKString
+
+ * Shared/API/c/WKString.cpp:
+ (WKStringCreateWithUTF8CString):
+ (WKStringGetMaximumUTF8CStringSize):
+ (WKStringGetUTF8CString):
+ (WKStringIsEqual):
+ (WKStringIsEqualToUTF8CString):
+ * Shared/API/c/WKString.h:
+ * Shared/WebString.h:
+ (WebKit::WebString::createFromUTF8String):
+ (WebKit::WebString::maximumUTF8CStringSize):
+ (WebKit::WebString::getUTF8CString):
+ (WebKit::WebString::equal):
+ (WebKit::WebString::equalToUTF8String):
+
+2010-10-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Implement NPN_GetValueForURL/NPN_SetValueForURL and stub out PluginController functions
+ https://bugs.webkit.org/show_bug.cgi?id=46992
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::copyCString):
+ Helper function for allocating a string using NPN_MemAlloc.
+
+ (WebKit::NPN_GetValueForURL):
+ Ask the plug-in for either the proxy or the cookies given an URL.
+
+ (WebKit::NPN_SetValueForURL):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ Tell the plug-in to set the cookies for the given URL.
+
+ (WebKit::NetscapePlugin::proxiesForURL):
+ (WebKit::NetscapePlugin::cookiesForURL):
+ (WebKit::NetscapePlugin::setCookiesForURL):
+ Call the corresponding PluginController functions.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add new pure virtual member functions.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::proxiesForURL):
+ (WebKit::PluginView::cookiesForURL):
+ (WebKit::PluginView::setCookiesForURL):
+ Add stubbed out implementations of the new PluginController functions.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-10-01 Adam Roben <aroben@apple.com>
+
+ Implement NPN_GetValue(NPNVnetscapeWindow)
+
+ Fixes <http://webkit.org/b/46726> <rdar://problem/8486319>
+ Right-clicking on windowless Flash plugin in WebKit2 makes a context
+ menu appear in the bottom-right corner of the screen
+
+ Test: platform/win/plugins/get-value-netscape-window.html
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue): Added case for NPNVnetscapeWindow that calls
+ through to NetscapePlugin::containingWindow.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added containingWindow
+ on Windows.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::containingWindow): Added. Calls through to
+ the PluginController.
+ (WebKit::NetscapePlugin::platformPostInitialize): Changed to use
+ containingWindow.
+
+2010-09-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Background doesn't draw when entering accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=45848
+
+ LayerBackedDrawingArea::setSize() is normally called in response
+ to a message from the UI process, so this can come some time after
+ LayerBackedDrawingArea creation. Depending on the timing, we could
+ end up being at size 0x0 for the first invalidate and paint, resulting
+ in missing content.
+
+ The fix is to size the backing layer on creation, using the WebView's size.
+
+ Also changed various calls to syncCompositingStateForThisLayerOnly()
+ to do lazy updates via scheduleCompositingLayerSync().
+
+ Also add the fix for https://bugs.webkit.org/show_bug.cgi?id=46226 (r68028)
+ to the WebKit2 code, in scheduleUpdateLayoutRunLoopObserver().
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::setNeedsDisplay):
+ (WebKit::LayerBackedDrawingArea::setSize):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformInit):
+ (WebKit::LayerBackedDrawingArea::attachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::detachCompositingContext):
+ (WebKit::LayerBackedDrawingArea::setRootCompositingLayer):
+ (WebKit::LayerBackedDrawingArea::syncCompositingLayers):
+ (WebKit::LayerBackedDrawingArea::scheduleUpdateLayoutRunLoopObserver):
+
+2010-09-29 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKit2 on Windows should use Windows fonts for the various standard
+ font families
+ https://bugs.webkit.org/show_bug.cgi?id=43499
+ <rdar://problem/8272758>
+
+ Reviewed by Adam Roben.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ Use Windows fonts on Windows.
+
+2010-09-30 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46774 - Add WKStringIsEqual API
+
+ * Shared/API/c/WKString.cpp:
+ (WKStringIsEqual):
+ * Shared/API/c/WKString.h:
+
+2010-09-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Forward declare structs with 'struct' in the message headers
+ https://bugs.webkit.org/show_bug.cgi?id=46925
+ <rdar://problem/8497940>
+
+ * Scripts/webkit2/messages.py:
+ (struct_or_class): New function which given a type and a namespace returns the correct
+ forward declaration syntax (struct or class).
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update expected results.
+
+2010-09-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ Original patch by Zalan Bujtas.
+
+ The m_readBuffer might be smaller than the incoming message size and
+ thus result in memory corruption. Do a similar fix as the win port,
+ resizing the m_readBuffer to have room for the message.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Calling Connection::send/sendSync from Connection::Client::didClose should always fail
+ https://bugs.webkit.org/show_bug.cgi?id=46859
+ <rdar://problem/8212583>
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchConnectionDidClose):
+
+2010-09-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Assertion then crash closing WebKit2 window with accelerated compositing in
+ https://bugs.webkit.org/show_bug.cgi?id=46857
+
+ Fix two issues when closing a WebKit2 window using accelerated
+ compositing.
+
+ The first is that the response to the sync DidChangeAcceleratedCompositing message
+ sent by changeAcceleratedCompositingMode() may be empty, because the corresponding
+ page may have been destroyed already in the UI process. In that case newDrawingAreaInfo
+ is not filled in, so we get a DrawingArea::Type of None. Don't attempt to make a new
+ drawing area in that case.
+
+ We then have to null-check the drawing area in WebPage::didReceiveMessage(),
+ in the case where the UI process is calling back with a SuspendPainting message,
+ before our page has gone away.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ (WebKit::WebPage::didReceiveMessage):
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement more of PluginProxy and PLuginControllerProxy.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::decodeBytes):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ Add new overload that takes a DataReference. Wrap the debug function in #ifndef NDEBUG.
+
+ * Platform/CoreIPC/ArgumentEncoder.cpp:
+ * Platform/CoreIPC/ArgumentEncoder.h:
+ Wrap the debug function in #ifndef NDEBUG.
+
+ * Platform/CoreIPC/Arguments.h:
+ Add new typedefs.
+
+ * Platform/CoreIPC/DataReference.cpp:
+ * Platform/CoreIPC/DataReference.h:
+ Add a DataReference class.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add new overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::didEvaluateJavaScript):
+ (WebKit::PluginControllerProxy::streamDidReceiveResponse):
+ (WebKit::PluginControllerProxy::streamDidReceiveData):
+ (WebKit::PluginControllerProxy::streamDidFinishLoading):
+ (WebKit::PluginControllerProxy::streamDidFail):
+ call Plugin member functions.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add new messages.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add DataReference.cpp and DataReference.h
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::didEvaluateJavaScript):
+ (WebKit::PluginProxy::streamDidReceiveResponse):
+ (WebKit::PluginProxy::streamDidReceiveData):
+ (WebKit::PluginProxy::streamDidFinishLoading):
+ (WebKit::PluginProxy::streamDidFail):
+ Send messages.
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Update expected results.
+
+ * Scripts/webkit2/messages_unittest.py:
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement LoadURL
+ https://bugs.webkit.org/show_bug.cgi?id=46826
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ Move String argument coder here from WebCoreArgumentCoders.h. Add
+ argument coder for AtomicString.
+
+ * Platform/CoreIPC/Arguments.h:
+ Add typedefs for Arguments7.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add handleMessage overload that takes 7 parameters.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::loadURL):
+ Send the LoadURL message.
+
+ * Scripts/webkit2/messages.py:
+ (parse_parameter_string): Use rsplit in case the type name contains spaces.
+ (argument_coder_headers_for_type): Special case Vector.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update results.
+
+ * Shared/WebCoreArgumentCoders.h:
+ Add argument coder for HTTPHeaderMap.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::loadURL):
+ Ask the plug-in controller to load the URL.
+
+ * WebProcess/Plugins/PluginProxy.messages.in:
+ Add LoadURL message.
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle getting the user agent in the plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=46819
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add new handleMessage overload.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::create):
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Pass the user agent to the plug-in controller proxy.
+
+ (WebKit::PluginControllerProxy::userAgent):
+ Return the user agent.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ Pass the user agent when creating the plug-in controller proxy.
+
+ * PluginProcess/WebProcessConnection.messages.in:
+ Add userAgent.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::userAgent):
+ * WebProcess/Plugins/PluginController.h:
+ Remove the URL parameter to userAgent.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::initialize):
+ Pass the user agent to WebProcessConnection::CreatePlugin.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::userAgent):
+ Remove url parameter.
+
+2010-09-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement more PluginProxy member functions
+ https://bugs.webkit.org/show_bug.cgi?id=46815
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::handleMouseEvent):
+ (WebKit::PluginControllerProxy::handleWheelEvent):
+ (WebKit::PluginControllerProxy::handleMouseEnterEvent):
+ (WebKit::PluginControllerProxy::handleMouseLeaveEvent):
+ (WebKit::PluginControllerProxy::setFocus):
+ (WebKit::PluginControllerProxy::windowFocusChanged):
+ (WebKit::PluginControllerProxy::windowFrameChanged):
+ (WebKit::PluginControllerProxy::windowVisibilityChanged):
+ Call the appropriate Plugin member functions.
+
+ * PluginProcess/PluginControllerProxy.messages.in:
+ Add new messages.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveMessage):
+ It's OK to get a message for a plug-in controller proxy that has gone away.
+
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ Forward the message to the PluginControllerProxy handler.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::handleMouseEvent):
+ (WebKit::PluginProxy::handleWheelEvent):
+ (WebKit::PluginProxy::handleMouseEnterEvent):
+ (WebKit::PluginProxy::handleMouseLeaveEvent):
+ (WebKit::PluginProxy::setFocus):
+ (WebKit::PluginProxy::windowFocusChanged):
+ (WebKit::PluginProxy::windowFrameChanged):
+ (WebKit::PluginProxy::windowVisibilityChanged):
+ Send messages to the plug-in process.
+
+ (WebKit::PluginProxy::controller):
+ Return the plug-in controller.
+
+2010-09-29 Adam Roben <aroben@apple.com>
+
+ Look for WebKit.dll (not WebKit_debug.dll) when launching the web
+ process in Debug builds
+
+ Fixes <http://webkit.org/b/46809> <rdar://problem/8491809> REGRESSION
+ (r67979): All tests crashing on Windows WebKit2 test bot
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp: WebKit_debug.dll is
+ only used in Debug_All builds (but WebKit2WebProcess_debug.exe is used
+ in all non-Debug_Internal debug-style builds).
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Paint the plug-in backing store into the WebProcess backing store
+ https://bugs.webkit.org/show_bug.cgi?id=46768
+
+ * DerivedSources.make:
+ Add PluginProxy.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add PluginProxy message class.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::paint):
+ Let the web process know that we've painted.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didReceiveMessage):
+ Pass the message on to a plug-in proxy.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::paint):
+ Paint our backing store into the graphics context.
+
+ (WebKit::PluginProxy::controller):
+ Add notImplemented().
+
+ (WebKit::PluginProxy::update):
+ Blit the plug-in backing store into the local backing store and tell the plug-in
+ controller that we want to repaint.
+
+ * WebProcess/Plugins/PluginProxy.messages.in: Added.
+
+2010-09-28 Jenn Braithwaite <jennb@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
+ https://bugs.webkit.org/show_bug.cgi?id=46663
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Begin hooking up painting in the plug-in process
+ https://bugs.webkit.org/show_bug.cgi?id=46766
+
+ * DerivedSources.make:
+ Add PluginControllerProxy.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add a MessageClassPluginControllerProxy message class.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ Initialize the paint timer.
+
+ (WebKit::PluginControllerProxy::paint):
+ Create a graphics context referencing our backing store and paint into it.
+
+ (WebKit::PluginControllerProxy::invalidate):
+ Update the dirty rect and start the paint timer if necessary.
+
+ (WebKit::PluginControllerProxy::geometryDidChange):
+ If we're passed a new backing store handle, reinitialize the backing store.
+
+ * PluginProcess/PluginControllerProxy.messages.in: Added.
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveMessage):
+ If the message has a destination ID, forward it to the plug-in controller proxy.
+
+ * Scripts/webkit2/messages.py:
+ Always include WebCoreArgumentCoders.h if the type is in the WebCore namespace.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::geometryDidChange):
+ Update the size of the backing store. Create a new plug-in backing store if needed and send
+ it over to the plug-in process.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ ASSERT when launching the plugin process
+ https://bugs.webkit.org/show_bug.cgi?id=46754
+ <rdar://problem/8484570>
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Don't assert if we fail to launch the process. Instead, set the connection identifier
+ and process ID to null and deallocate the port we created.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ Move all code from didClose here.
+
+ (WebKit::PluginProcessProxy::didClose):
+ Call pluginProcessCrashedOrFailedToLaunch.
+
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ If we failed to launch, call pluginProcessCrashedOrFailedToLaunch.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Differentiate waitForSyncReply from waitForReply
+ https://bugs.webkit.org/show_bug.cgi?id=46752
+
+ Since waitForSyncReply is going to need to dispatch incoming sync messages while
+ waiting for the correct reply, we need to add a new waitForSyncReply function that
+ can do this.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncMessage):
+ Push the pending sync reply information on the m_pendingSyncReplies stack,
+ send the message, wait for a reply and pop the information off the stack.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Block while waiting for a reply to the sync message with the given ID.
+
+ (CoreIPC::Connection::processIncomingMessage):
+ If the incoming message is a sync reply, set the didReceiveReply flag and the replyDecoder
+ members in the pending sync reply and signal the client thread to wakeup.
+
+ * Platform/CoreIPC/Connection.h:
+ Add a stack of PendingSyncReply structs.
+
+2010-09-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler and Dave Hyatt.
+
+ Vertical scroll bar on apple.com is too short with WebKit2
+ <rdar://problem/8379230>
+ https://bugs.webkit.org/show_bug.cgi?id=46739
+
+ This gets us most of the way to having correct scroll corner behavior. We should
+ follow this up by moving to painting the window re-sizer in WebCore.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _ownsWindowGrowBox]):
+ (-[WKView _updateGrowBoxForWindowFrameChange]): Calculate whether we should
+ be taking the scroll corner into account when laying out scrollbars.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowResizerSize):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setWindowResizerSize):
+ (WebKit::WebPage::windowResizerRect): This now returns IntRect() for
+ non-mac platforms (or any platform that never sends a setWindowResizerSize
+ message).
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+
+2010-09-28 Adam Roben <aroben@apple.com>
+
+ Tell the UI client when a key event is not handled
+
+ When the web process receives an event, it sends a
+ WebPageProxyMessage::DidReceiveEvent message back to the UI process.
+ That message is now sent after handling the event, and includes a
+ boolean signifying whether or not the event was actually handled.
+
+ Every time WebPageProxy receives a key event, it adds it to a queue.
+ When it receives a WebPageProxyMessage::DidReceiveEvent for a key
+ event, the event is removed from the queue. If the event was not
+ handled, we tell the UI client.
+
+ Fixes <http://webkit.org/b/46660> <rdar://problem/8483465> Need API to
+ tell a WebKit2 client application that a key event was not handled
+
+ Reviewed by Kenneth Rohde Christiansen and Sam Weinig.
+
+ * Shared/NativeWebKeyboardEvent.h: Added. This class wraps a
+ WebKeyboardEvent and the native event that was used to construct it.
+ (WebKit::NativeWebKeyboardEvent::nativeEvent): Simple getter.
+
+ * Shared/WebEvent.h: Made isKeyboardEventType public for
+ WebPageProxy's benefit.
+
+ * Shared/mac/NativeWebKeyboardEventMac.mm: Added.
+ (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
+ * Shared/qt/NativeWebKeyboardEventQt.cpp: Added.
+ (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
+ * Shared/win/NativeWebKeyboardEventWin.cpp: Added.
+ (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
+ The constructor creates a WebKeyboardEvent and stores the native
+ event.
+
+ * UIProcess/API/C/WKNativeEvent.h: Added.
+
+ * UIProcess/API/C/WKPage.h: Added WKPageDidNotHandleKeyEventCallback
+ and WKPageUIClient::didNotHandleKeyEvent.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView keyUp:]):
+ (-[WKView keyDown:]):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onKeyEvent):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::keyPressEvent):
+ (QWKPagePrivate::keyReleaseEvent):
+ Changed to use NativeWebKeyboardEvent.
+
+ (QWKPage::QWKPage): Updated for addition of didNotHandleKeyEvent.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::handleKeyboardEvent): Changed to take a
+ NativeWebKeyboardEvent and to add it to m_keyEventQueue.
+ (WebKit::WebPageProxy::didReceiveMessage): Changed to expect a boolean
+ parameter in WebPageProxyMessage::DidReceiveEvent.
+ (WebKit::WebPageProxy::didReceiveEvent): Added a boolean "handled"
+ parameter. If the event was a keyboard event, we remove it from
+ m_keyEventQueue, and if it wasn't handled by WebCore, we tell the UI
+ client.
+
+ * UIProcess/WebPageProxy.h: Added m_keyEventQueue.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::didNotHandleKeyEvent):
+ * UIProcess/WebUIClient.h:
+ Added. Just calls through to the WKPageUIClient.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleMouseEvent):
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::handleWheelEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::handleKeyEvent):
+ (WebKit::WebPage::keyEvent):
+ (WebKit::handleTouchEvent):
+ (WebKit::WebPage::touchEvent):
+ Moved code from the *Event functions into new helper handle*Event
+ functions, and changed to pass a boolean to
+ WebPageProxyMessage::DidReceiveEvent signaling whether the event was
+ handled or not.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Added WKNativeEvent.h and NativeWebKeyboardEvent.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement PluginProxy::destroy
+ https://bugs.webkit.org/show_bug.cgi?id=46737
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::handleMessage):
+ Add overload for a sync message with one in parameter and no out parameters.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::destroyPluginControllerProxy):
+ Rename this to avoid conflicts with the destroyPlugin message handler.
+
+ (WebKit::WebProcessConnection::destroyPlugin):
+ Call destroyPluginControllerProxy.
+
+ * PluginProcess/WebProcessConnection.messages.in:
+ Add DestroyPlugin message.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didClose):
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::PluginProxy):
+ (WebKit::PluginProxy::~PluginProxy):
+ Don't add and/the plug-in proxy from the map in the constructor/destructor. Instead,
+ do it in initialize/destroy, since otherwise we could be calling pluginProcessCrashed on a
+ PluginController that had already been freed.
+
+ (WebKit::PluginProxy::initialize):
+ (WebKit::PluginProxy::destroy):
+ send the DestroyPlugin message.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Improve plug-in process lifecycle handling
+ https://bugs.webkit.org/show_bug.cgi?id=46734
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::destroyPlugin):
+ Destroy and delete the plug-in.
+
+ (WebKit::WebProcessConnection::didClose):
+ Our web process crashed, go through and delete all plug-in instances.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::didClose):
+ The plug-in process crashed. Go through all pending replies and send them so the
+ web processes won't be blocked waiting for a reply.
+
+ (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
+ We need to remove the pending reply connection once we've sent the reply.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::didClose):
+ The plug-in process crashed. Iterate over all proxies and let them know that the plug-in
+ process has crashed.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::PluginProxy::pluginProcessCrashed):
+ Tell our controller that the plug-in process crashed.
+
+ (WebKit::PluginProxy::destroy):
+ Null out the controller.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Implement PluginControllerProxy::initialize and have it create a plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=46731
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::initialize):
+ Create the plug-in and try to initialize it.
+
+ (WebKit::PluginControllerProxy::destroy):
+ Destroy the plug-in.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::addPluginControllerProxy):
+ Add the given plug-in controller proxy to the map and assume ownership of it.
+
+ (WebKit::WebProcessConnection::removePluginControllerProxy):
+ Remove the given plug-in controller proxy from the map and delete it.
+
+ (WebKit::WebProcessConnection::createPlugin):
+ Create a plug-in controller proxy and try to initialize it.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add PluginControllerProxy class
+ https://bugs.webkit.org/show_bug.cgi?id=46728
+
+ * PluginProcess/PluginControllerProxy.cpp: Added.
+ * PluginProcess/PluginControllerProxy.h: Added.
+ Add stubbed out PluginControllerProxy class.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::~WebProcessConnection):
+ Assert that we don't have any live plug-in controller proxies.
+
+ (WebKit::WebProcessConnection::addPluginControllerProxy):
+ Add the plug-in controller proxy to the map.
+
+ (WebKit::WebProcessConnection::removePluginControllerProxy):
+ Remove the plug-in controller proxy from the map. If the last plug-in controller
+ proxy went away, invalidate the connection.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+2010-09-28 Adam Roben <aroben@apple.com>
+
+ Don't call NPP_SetWindow until the plugin's HWND has been
+ sized/positioned
+
+ Test: platform/win/plugins/window-geometry-initialized-before-set-window.html
+
+ Reviewed by Anders Carlsson.
+
+ Fixes <http://webkit.org/b/46716> <rdar://problem/8482014> Full-page
+ Adobe Reader does not paint until window is resized
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::geometryDidChange): Call NPP_SetWindow after
+ updating the platform (HWND) geometry.
+
+2010-09-28 Anders Carlsson <andersca@apple.com>
+
+ Out of process plug-ins shouldn't be turned on just yet...
+
+ * WebKit2Prefix.h:
+
+2010-09-28 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] ProcessLauncherHelper should not leave stray socket files in /tmp.
+ https://bugs.webkit.org/show_bug.cgi?id=46722
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::~ProcessLauncherHelper): close the socket.
+ (WebKit::ProcessLauncherHelper::ProcessLauncherHelper): delete the helper on exit.
+
+2010-09-28 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Remove support for Qt 4.5
+ https://bugs.webkit.org/show_bug.cgi?id=46718
+
+ Remove the code for versions of Qt prior to 4.6.
+
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::event):
+ * UIProcess/API/qt/qwkpage.cpp:
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-09-28 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Fix generation of WebPageMessages.h and WebPageMessageReceiver.cpp
+ to avoid rebuilding them every time.
+
+ * DerivedSources.pro: add target to extra compilers.
+
+2010-09-27 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46688 - Add an API to get the WKBackForwardItem at an arbitrary index.
+
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ (WKBackForwardListGetItemAtIndex):
+ * UIProcess/API/C/WKBackForwardList.h:
+
+2010-09-27 Anders Carlsson <andersca@apple.com>
+
+ Turns out people other than me might want to build this thing.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-27 Darin Adler <darin@apple.com>
+
+ * Scripts/webkit2: Added property svn:ignore.
+
+2010-09-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::sendSync):
+ Add new sendSync overload that takes a message struct.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ Call didReceiveSyncWebProcessConnectionMessage.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::addPluginProxy):
+ Add the plug-in proxy to the map.
+
+ (WebKit::PluginProcessConnection::removePluginProxy):
+ Remove the plug-in proxy from the map. If the map is empty, disconnect from the
+ plug-in process.
+
+ * WebProcess/Plugins/PluginProxy.cpp:
+ (WebKit::generatePluginInstanceID):
+ Generate a unique plug-in instance ID.
+
+ (WebKit::PluginProxy::PluginProxy):
+ Add the plug-in proxy to the map.
+
+ (WebKit::PluginProxy::~PluginProxy):
+ Remove the plug-in proxy from the map.
+
+ (WebKit::PluginProxy::initialize):
+ Ask the plug-in process to create a plug-in.
+
+2010-09-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add remaining event handlers to WKView.
+
+ Also fixes <rdar://problem/8467058>
+ Does not get decidePolicyForNavigationAction callback when middle clicking a link
+
+ - Adds otherButton and rightButton NSResponder event handlers to WKView.
+ - Renames WebPageProxy event handlers to use the handle prefix.
+ - Uses a macro to reduce duplicate code for WKView event handlers.
+ - Add view parameter to WebEventFactory::createWebKeyboardEvent on the mac
+ for uniformity.
+
+ * Shared/mac/WebEventFactory.h:
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebKeyboardEvent):
+ * UIProcess/API/mac/WKView.mm:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::keyPressEvent):
+ (QWKPagePrivate::keyReleaseEvent):
+ (QWKPagePrivate::mouseMoveEvent):
+ (QWKPagePrivate::mousePressEvent):
+ (QWKPagePrivate::mouseReleaseEvent):
+ (QWKPagePrivate::mouseDoubleClickEvent):
+ (QWKPagePrivate::wheelEvent):
+ (QWKPagePrivate::touchEvent):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::handleMouseEvent):
+ (WebKit::WebPageProxy::handleWheelEvent):
+ (WebKit::WebPageProxy::handleKeyboardEvent):
+ (WebKit::WebPageProxy::handleTouchEvent):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onMouseEvent):
+ (WebKit::WebView::onWheelEvent):
+ (WebKit::WebView::onKeyEvent):
+
+2010-09-27 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ <rdar://problem/8348990> / <http://webkit.org/b/46633> Make it possible to disable sandboxing of
+ web process via runtime flag.
+
+ Enable sandboxing of the web process only if the DisableSandbox user default is not set for the
+ web process.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2010-09-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add WebProcessConnection CreatePlugin message
+ https://bugs.webkit.org/show_bug.cgi?id=46668
+
+ * DerivedSources.make:
+ Add WebProcessConnection.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ Add handleMessage overload for a sync message with two input parameters
+ and one output parameter.
+
+ (CoreIPC::handleMessage):
+ * Platform/CoreIPC/MessageID.h:
+ Add MessageClassWebProcessConnection.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ Add stub.
+
+ * PluginProcess/WebProcessConnection.messages.in: Added.
+ * Scripts/webkit2/messages.py:
+ Include headers directly for types that we believe are nested structs.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update expected results.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-09-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add support for autogenerating synchronous message handlers
+ https://bugs.webkit.org/show_bug.cgi?id=46654
+
+ * Scripts/webkit2/messages.py:
+ (reply_type): Renamed from reply_base_class.
+ (delayed_reply_type): Renamed from delayed_reply_base_class.
+ (message_to_struct_declaration): Add a Reply type typedef.
+ (async_case_statement): Rename from case_statement.
+ (generate_message_handler): Generate a sync message handler as well.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update expected results.
+
+2010-09-27 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] Make generate-forwarding-headers.pl aware of moved headers
+ https://bugs.webkit.org/show_bug.cgi?id=46621
+
+ * generate-forwarding-headers.pl:
+
+2010-09-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ The mouseDidMoveOverElement callback in the injected bundle should include modifier info
+ https://bugs.webkit.org/show_bug.cgi?id=46629
+
+ - Moves event related API enums to WKEvent.h which can be shared between
+ both the bundle and the main API.
+
+ * Shared/API/c/WKEvent.h: Added.
+ * Shared/API/c/WKSharedAPICast.h:
+ (WebKit::toRef):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKPage.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-27 Adam Roben <aroben@apple.com>
+
+ Give mouse wheel events the right coordinates on Windows
+
+ Fixes <http://webkit.org/b/46625> <rdar://problem/8481161> Placing
+ mouse cursor inside a scrollable area and scrolling the mouse wheel
+ generally doesn't scroll the area
+
+ Reviewed by Sam Weinig.
+
+ * Shared/win/WebEventFactory.cpp:
+ (WebKit::point): Renamed from positionForEvent. The old name implied
+ that all events used the same relative origin, which is untrue.
+ (WebKit::WebEventFactory::createWebMouseEvent): Changed to use point
+ and ::ClientToScreen explicitly rather than relying on
+ positionForEvent/globalPositionForEvent.
+ (WebKit::WebEventFactory::createWebWheelEvent): Changed to use point
+ and ::ScreenToClient. The old code was assuming that wheel event
+ points are relative to the client area, but they are in fact relative
+ to the screen.
+
+2010-09-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Opening links in a new window asserts while decoding decidePolicyForNewWindowAction.
+ <rdar://problem/8479445>
+ https://bugs.webkit.org/show_bug.cgi?id=46623
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Fix the order of decoding to
+ match the order of encoding. (Swapping url and mouseButton).
+
+2010-09-27 Adam Roben <aroben@apple.com>
+
+ Stop leaking the web process's process handle on Windows
+
+ Fixes <http://webkit.org/b/46133> <rdar://problem/8455343>
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/Launcher/ProcessLauncher.cpp:
+ (WebKit::ProcessLauncher::invalidate): Call platformInvalidate.
+
+ * UIProcess/Launcher/ProcessLauncher.h: Added platformInvalidate.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::platformInvalidate):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncher::platformInvalidate):
+ Stubbed out.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::platformInvalidate): Close the process
+ handle like MSDN says we should.
+
+2010-09-27 Adam Roben <aroben@apple.com>
+
+ Don't double-free CERT_CONTEXTs when copying PlatformCertificateInfos
+ on Windows
+
+ Fixes <http://webkit.org/b/46536> <rdar://problem/8477292> REGRESSION
+ (r68260): Crash in PlatformCertificateInfo::~PlatformCertificateInfo
+ when navigating away from Gmail
+
+ Reviewed by Sam Weinig.
+
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::operator=):
+ * Shared/win/PlatformCertificateInfo.h:
+ Added a copy constructor and assigment operator to handle correctly
+ reffing/dereffing the CERT_CONTEXTs when copying a
+ PlatformCertificateInfo.
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ MiniBrowser crashes when opening main menu item
+ https://bugs.webkit.org/show_bug.cgi?id=46588
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setEditCommandState): Don't allow default
+ String -> NSString conversion to take place, and use the increasingly
+ misnamed nsStringFromWebCoreString instead.
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Another windows build fix windows attempt.
+
+ * win/WebKit2Common.vsprops:
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Another windows build fix windows attempt.
+
+ * win/WebKit2Generated.make:
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix windows build.
+
+ * win/WebKit2Common.vsprops:
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix Qt build.
+
+ * WebKit2.pro:
+
+2010-09-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move shared WebKit2 API (used by both bundle and main API) to WebKit2/Shared/API
+ https://bugs.webkit.org/show_bug.cgi?id=46587
+
+ - Moves shared types (WKArrayRef, WKDictionaryRef, etc) to Shared/API/c.
+ - Removes WKBundleBase.h and moves all opaque type declarations to WKBase.h (which
+ moves to Shared/API/c).
+ - Adds WKSharedAPICast.h which includes shared API casting logic and is included
+ by both WKAPICast.h and WKBundleAPICast.h now. Moved to using macros for API
+ mappings to reduce verbosity.
+ - Move windows c API files from UIProcess/API/win to UIProcess/API/C/win.
+
+ * Shared/API: Added.
+ * Shared/API/c: Added.
+ * Shared/API/c/WKArray.cpp: Copied from UIProcess/API/C/WKArray.cpp.
+ * Shared/API/c/WKArray.h: Copied from UIProcess/API/C/WKArray.h.
+ * Shared/API/c/WKBase.h: Copied from UIProcess/API/C/WKBase.h.
+ * Shared/API/c/WKCertificateInfo.cpp: Copied from UIProcess/API/C/WKCertificateInfo.cpp.
+ * Shared/API/c/WKCertificateInfo.h: Copied from UIProcess/API/C/WKCertificateInfo.h.
+ * Shared/API/c/WKData.cpp: Copied from UIProcess/API/C/WKData.cpp.
+ * Shared/API/c/WKData.h: Copied from UIProcess/API/C/WKData.h.
+ * Shared/API/c/WKDictionary.cpp: Copied from UIProcess/API/C/WKDictionary.cpp.
+ * Shared/API/c/WKDictionary.h: Copied from UIProcess/API/C/WKDictionary.h.
+ * Shared/API/c/WKError.cpp: Copied from UIProcess/API/C/WKError.cpp.
+ * Shared/API/c/WKError.h: Copied from UIProcess/API/C/WKError.h.
+ * Shared/API/c/WKMutableArray.cpp: Copied from UIProcess/API/C/WKMutableArray.cpp.
+ * Shared/API/c/WKMutableArray.h: Copied from UIProcess/API/C/WKMutableArray.h.
+ * Shared/API/c/WKMutableDictionary.cpp: Copied from UIProcess/API/C/WKMutableDictionary.cpp.
+ * Shared/API/c/WKMutableDictionary.h: Copied from UIProcess/API/C/WKMutableDictionary.h.
+ * Shared/API/c/WKNumber.cpp: Copied from UIProcess/API/C/WKNumber.cpp.
+ * Shared/API/c/WKNumber.h: Copied from UIProcess/API/C/WKNumber.h.
+ * Shared/API/c/WKSerializedScriptValue.cpp: Copied from UIProcess/API/C/WKSerializedScriptValue.cpp.
+ * Shared/API/c/WKSerializedScriptValue.h: Copied from UIProcess/API/C/WKSerializedScriptValue.h.
+ * Shared/API/c/WKSharedAPICast.h: Copied from UIProcess/API/C/WKAPICast.h.
+ * Shared/API/c/WKString.cpp: Copied from UIProcess/API/C/WKString.cpp.
+ * Shared/API/c/WKString.h: Copied from UIProcess/API/C/WKString.h.
+ * Shared/API/c/WKType.cpp: Copied from UIProcess/API/C/WKType.cpp.
+ * Shared/API/c/WKType.h: Copied from UIProcess/API/C/WKType.h.
+ * Shared/API/c/WKURL.cpp: Copied from UIProcess/API/C/WKURL.cpp.
+ * Shared/API/c/WKURL.h: Copied from UIProcess/API/C/WKURL.h.
+ * Shared/API/c/WKURLRequest.cpp: Copied from UIProcess/API/C/WKURLRequest.cpp.
+ * Shared/API/c/WKURLRequest.h: Copied from UIProcess/API/C/WKURLRequest.h.
+ * Shared/API/c/WKURLResponse.cpp: Copied from UIProcess/API/C/WKURLResponse.cpp.
+ * Shared/API/c/WKURLResponse.h: Copied from UIProcess/API/C/WKURLResponse.h.
+ * Shared/API/c/cf: Copied from UIProcess/API/C/cf.
+ * Shared/API/c/mac: Copied from UIProcess/API/C/mac.
+ * Shared/API/c/win: Added.
+ * Shared/API/c/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
+ * Shared/API/c/win/WKCertificateInfoWin.cpp: Copied from UIProcess/API/C/win/WKCertificateInfoWin.cpp.
+ * Shared/API/c/win/WKCertificateInfoWin.h: Copied from UIProcess/API/C/win/WKCertificateInfoWin.h.
+ * UIProcess/API/C/WKAPICast.h: Replaced.
+ * UIProcess/API/C/WKArray.cpp: Removed.
+ * UIProcess/API/C/WKArray.h: Removed.
+ * UIProcess/API/C/WKBase.h: Removed.
+ * UIProcess/API/C/WKCertificateInfo.cpp: Removed.
+ * UIProcess/API/C/WKCertificateInfo.h: Removed.
+ * UIProcess/API/C/WKData.cpp: Removed.
+ * UIProcess/API/C/WKData.h: Removed.
+ * UIProcess/API/C/WKDictionary.cpp: Removed.
+ * UIProcess/API/C/WKDictionary.h: Removed.
+ * UIProcess/API/C/WKError.cpp: Removed.
+ * UIProcess/API/C/WKError.h: Removed.
+ * UIProcess/API/C/WKMutableArray.cpp: Removed.
+ * UIProcess/API/C/WKMutableArray.h: Removed.
+ * UIProcess/API/C/WKMutableDictionary.cpp: Removed.
+ * UIProcess/API/C/WKMutableDictionary.h: Removed.
+ * UIProcess/API/C/WKNumber.cpp: Removed.
+ * UIProcess/API/C/WKNumber.h: Removed.
+ * UIProcess/API/C/WKSerializedScriptValue.cpp: Removed.
+ * UIProcess/API/C/WKSerializedScriptValue.h: Removed.
+ * UIProcess/API/C/WKString.cpp: Removed.
+ * UIProcess/API/C/WKString.h: Removed.
+ * UIProcess/API/C/WKType.cpp: Removed.
+ * UIProcess/API/C/WKType.h: Removed.
+ * UIProcess/API/C/WKURL.cpp: Removed.
+ * UIProcess/API/C/WKURL.h: Removed.
+ * UIProcess/API/C/WKURLRequest.cpp: Removed.
+ * UIProcess/API/C/WKURLRequest.h: Removed.
+ * UIProcess/API/C/WKURLResponse.cpp: Removed.
+ * UIProcess/API/C/WKURLResponse.h: Removed.
+ * UIProcess/API/C/cf: Removed.
+ * UIProcess/API/C/cf/WKStringCF.cpp: Removed.
+ * UIProcess/API/C/cf/WKStringCF.h: Removed.
+ * UIProcess/API/C/cf/WKURLCF.cpp: Removed.
+ * UIProcess/API/C/cf/WKURLCF.h: Removed.
+ * UIProcess/API/C/cf/WKURLRequestCF.cpp: Removed.
+ * UIProcess/API/C/cf/WKURLRequestCF.h: Removed.
+ * UIProcess/API/C/cf/WKURLResponseCF.cpp: Removed.
+ * UIProcess/API/C/cf/WKURLResponseCF.h: Removed.
+ * UIProcess/API/C/mac: Removed.
+ * UIProcess/API/C/mac/WKCertificateInfoMac.h: Removed.
+ * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Removed.
+ * UIProcess/API/C/mac/WKURLRequestNS.h: Removed.
+ * UIProcess/API/C/mac/WKURLRequestNS.mm: Removed.
+ * UIProcess/API/C/mac/WKURLResponseNS.h: Removed.
+ * UIProcess/API/C/mac/WKURLResponseNS.mm: Removed.
+ * UIProcess/API/C/win/WKAPICastWin.h: Copied from UIProcess/API/win/WKAPICastWin.h.
+ * UIProcess/API/C/win/WKBaseWin.h: Copied from UIProcess/API/win/WKBaseWin.h.
+ * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Removed.
+ * UIProcess/API/C/win/WKCertificateInfoWin.h: Removed.
+ * UIProcess/API/C/win/WKView.cpp: Copied from UIProcess/API/win/WKView.cpp.
+ * UIProcess/API/C/win/WKView.h: Copied from UIProcess/API/win/WKView.h.
+ * UIProcess/API/win: Removed.
+ * UIProcess/API/win/WKAPICastWin.h: Removed.
+ * UIProcess/API/win/WKBaseWin.h: Removed.
+ * UIProcess/API/win/WKView.cpp: Removed.
+ * UIProcess/API/win/WKView.h: Removed.
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Fix non-Mac builds.
+
+ * Platform/SharedMemory.h:
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::Handle::isNull):
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProxy class
+ https://bugs.webkit.org/show_bug.cgi?id=46586
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/PluginProxy.cpp: Added.
+ * WebProcess/Plugins/PluginProxy.h: Added.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Create a PluginProxy wrapper.
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make it possible to encode null SharedMemory::Handle objects
+ https://bugs.webkit.org/show_bug.cgi?id=46585
+
+ * Platform/SharedMemory.h:
+ (WebKit::SharedMemory::Handle::isNull):
+ Add isNull.
+
+ * Platform/mac/SharedMemoryMac.cpp:
+ (WebKit::SharedMemory::Handle::encode):
+ Remove asserts.
+
+ (WebKit::SharedMemory::create):
+ Bail if we see a null handle. Also work around a kernel bug where
+ mach_vm_map fails if the given address to map is already mapped, even if
+ VM_FLAG_ANYWHERE is set.
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add BackingStore class
+ https://bugs.webkit.org/show_bug.cgi?id=46584
+
+ * Shared/BackingStore.cpp: Added.
+ (WebKit::BackingStore::create):
+ Create a backing store backed by fastMalloc memory.
+
+ (WebKit::BackingStore::createSharable):
+ Create a backing store backed by shared memory.
+
+ (WebKit::BackingStore::createHandle):
+ Create a handle that can be sent over the wire.
+
+ (WebKit::BackingStore::resize):
+ Resize the backing store memory.
+
+ (WebKit::BackingStore::data):
+ Return the backing store data.
+
+ * Shared/mac/BackingStoreMac.mm: Added.
+ (WebKit::BackingStore::createGraphicsContext):
+ Create a graphics context that will paint into the backing store.
+
+ (WebKit::BackingStore::paint):
+ Paint the backing store in a graphics context.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Establish a connection between the plug-in process and the web process
+ https://bugs.webkit.org/show_bug.cgi?id=46583
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::didReceiveMessage):
+ Call the auto-generated didReceivePluginProcessMessage.
+
+ * PluginProcess/PluginProcess.h:
+ Add didReceivePluginProcessMessage declaration.
+
+ * PluginProcess/PluginProcess.messages.in:
+ Add new "CreateWebProcessConnection" message.
+
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::didReceiveMessage):
+ (WebKit::WebProcessConnection::didReceiveSyncMessage):
+ (WebKit::WebProcessConnection::didClose):
+ (WebKit::WebProcessConnection::didReceiveInvalidMessage):
+ Add stubbed out member functions.
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::getPluginProcessConnection):
+ Ask the plug-in process proxy to create a connection.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::createWebProcessConnection):
+ Add the WebProcessProxy and the reply encoder to the queue of pending replies.
+ If the process is still launching, keep track of how many pending requests we have, otherwise
+ just send the request.
+
+ (WebKit::PluginProcessProxy::didReceiveMessage):
+ Call the auto-generated didReceivePluginProcessMessage.
+
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ Send all pending connection requests.
+
+ (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
+ Get the first pending reply and send it with the mach port.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Actually compile PluginProcessMessageReceiver.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::PluginProcessConnection::PluginProcessConnection):
+ Create a CoreIPC connection.
+
+ (WebKit::PluginProcessConnection::didReceiveMessage):
+ (WebKit::PluginProcessConnection::didClose):
+ (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
+ Add stubbed out member functions.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Ask the plug-in process connection manager for a connection.
+
+2010-09-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Generated message handlers should include argument coder headers for some types
+ https://bugs.webkit.org/show_bug.cgi?id=46582
+
+ * Scripts/webkit2/messages.py:
+ When determining which headers to use when generating a message handler, consider the
+ argument coder headers.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Update test result.
+
+2010-09-24 Sam Weinig <sam@webkit.org>
+
+ Fix release build.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+2010-09-24 Enrica Casucci <enrica@apple.com>
+
+ One more build fix.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::setEditCommandState):
+
+2010-09-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Implement WebKit2 callback equivalent to -[WebUIDelegate mouseDidMoveOverElement:modifierFlags:]
+ <rdar://problem/8359279>
+ https://bugs.webkit.org/show_bug.cgi?id=46546
+
+ - Adds new WKBundleHitTestResultRef object to represent a content under a cursor.
+ - Adds new Bundle and UI level mouseDidMoveOverElement UIClient callbacks, with
+ pass through userData to communicate context up to the UIProcess
+
+ * Shared/APIObject.h:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::mouseDidMoveOverElement):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::mouseDidMoveOverElement):
+ * UIProcess/WebUIClient.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp: Added.
+ (WKBundleHitTestResultGetTypeID):
+ (WKBundleHitTestResultGetNodeHandle):
+ (WKBundleHitTestResultGetFrame):
+ (WKBundleHitTestResultCopyAbsoluteLinkURL):
+ * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp: Added.
+ (WebKit::InjectedBundleHitTestResult::create):
+ (WebKit::InjectedBundleHitTestResult::nodeHandle):
+ (WebKit::InjectedBundleHitTestResult::webFrame):
+ (WebKit::InjectedBundleHitTestResult::absoluteLinkURL):
+ * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: Added.
+ (WebKit::InjectedBundleHitTestResult::coreHitTestResult):
+ (WebKit::InjectedBundleHitTestResult::InjectedBundleHitTestResult):
+ (WebKit::InjectedBundleHitTestResult::type):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::mouseDidMoveOverElement):
+ * win/WebKit2.vcproj:
+
+2010-09-24 Enrica Casucci <enrica@apple.com>
+
+ Build fix.
+
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setEditCommandState):
+ * UIProcess/win/WebView.h:
+
+2010-09-24 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Maui: Pasteboard support (42317)
+ <rdar://problem/7660537>
+ https://bugs.webkit.org/show_bug.cgi?id=42317
+
+ This is the final piece of the pasteboard support for WebKit2.
+ The menu validation has been hooked up for Mac. The validation is
+ performed asynchronously and the menu entries updated while the menu
+ is visible. I've created a generic mechanism to call editing commands
+ that will make it easy to add new commands we will support in the future.
+ The commands supported now are copy, cut, paste, pasteAsPlainText, delete
+ and selectAll.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added DidValidateMenuItem.
+ * UIProcess/API/mac/PageClientImpl.h: Added setEditCommandState.
+ * UIProcess/API/mac/PageClientImpl.mm: Added setEditCommandState implementation.
+ (WebKit::PageClientImpl::setEditCommandState): Added.
+ * UIProcess/API/mac/WKView.mm:
+ (WebCore::MenuItemInfo::MenuItemInfo):
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ (createSelectorExceptionMap): Added.
+ (commandNameForSelector): Added.
+ (-[WKView validateUserInterfaceItem:]): Added implementation.
+ (-[WKView _setUserInterfaceItemState:enabled:state:]): Added.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::validateMenuItem):
+ (WebKit::WebPageProxy::executeEditCommand):
+ (WebKit::WebPageProxy::didReceiveMessage): Now processing also
+ DidValidateMenuItem.
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::executeEditingCommand): Fixed.
+ (WebKit::WebPage::isEditingCommandEnabled): Fixed.
+ (WebKit::WebPage::validateMenuItem): Added.
+ (WebKit::WebPage::executeEditCommand): Added.
+ * WebProcess/WebPage/WebPage.h: Removed cut, copy, paste, selectAll.
+ Added validateMenuItem and executeEditCommand.
+ * WebProcess/WebPage/WebPage.messages.in: Added new messages.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (WebKit::QWKPage::setEditCommandState): Added.
+ * UIProcess/API/qt/qwkpage_p.h: Added
+
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Give windowed Netscape plugins their own window
+
+ The plugin window is a child of the WebView's window. The WebView's
+ window is in the UI process, and the plugin's window is in the web
+ process (though someday it will be in the plugin process), but Windows
+ mostly handles this just fine. Right now we move the plugin's window
+ in the web process, but we need to do it at paint time in the UI
+ process instead so that the plugin windows will stay in sync with the
+ web page's contents. There are also a whole bunch of plugin quirks
+ that WebKit1 supports that we don't support yet, but that's a task for
+ another day.
+
+ Fixes <http://webkit.org/b/44428> Get basic in-process windowed
+ plugins working in WebKit2 on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroy):
+ (WebKit::NetscapePlugin::geometryDidChange):
+ Call the new platform-specific functions.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added
+ platformDestroy/platformGeometryDidChange, and an m_window member on
+ Windows to hold our window.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+ Stubbed these out.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::registerPluginView): Added. The code came from
+ WebCore's PluginViewWin.cpp, though I changed it to add one to
+ COLOR_WINDOW, since that's what MSDN says we should do.
+ (WebKit::NetscapePlugin::platformPostInitialize): If we're windowed,
+ create a window for the plugin and make it a child of the WebView's
+ window. If we're not windowed, just set m_window to 0.
+ (WebKit::NetscapePlugin::platformDestroy): Destroy our window if we
+ have one and it hasn't been destroyed already.
+ (WebKit::NetscapePlugin::platformGeometryDidChange): Update our
+ window's size and position.
+
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::nativeParentWindow):
+ * WebProcess/Plugins/PluginView.h:
+ Added nativeParentWindow on Windows to return the WebView's window.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Pass the WebView's HWND over to the web process
+
+ The HWND is packaged up in the WebPageCreationParameters and stored in
+ the WebPage. It will eventually be used by windowed plugins.
+
+ Fixes <http://webkit.org/b/46512> WebPage needs access to its
+ corresponding HWND from the UI process
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ Encode and decode the HWND as a uint64_t.
+
+ * Shared/WebPageCreationParameters.h: Added a nativeWindow member to
+ store the HWND.
+
+ * UIProcess/PageClient.h: Added a nativeWindow function on Windows.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::creationParameters): Store the HWND from the
+ page client in the struct to be sent to the web process.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Moved the call to initializeWebPage after
+ we've created our window so that our window will be ready when
+ WebPageProxy asks for it to send it to the web process.
+ (WebKit::WebView::nativeWindow): Added. Just returns our window.
+
+ * UIProcess/win/WebView.h: Added nativeWindow.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Store the HWND in the new m_nativeWindow
+ member.
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::nativeWindow): Added this simple getter.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Add WebPageProxy::creationParameters
+
+ Fixes <http://webkit.org/b/46510> WebPageProxy has a bunch of
+ duplicated WebPageCreationParameters code
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ Use creationParameters.
+
+ (WebKit::WebPageProxy::creationParameters):
+ * UIProcess/WebPageProxy.h:
+ Added creationParameters.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Make WebPage::create take a WebPageCreationParameter struct
+
+ It only makes sense, after all.
+
+ Fixes <http://webkit.org/b/46502>.
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create):
+ (WebKit::WebPage::WebPage):
+ * WebProcess/WebPage/WebPage.h:
+ Changed to take a WebPageCreationParameters struct.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage): Changed to pass a
+ WebPageCreationParameters struct.
+
+2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ Expose all WebKit2 C API preferences via the Qt API.
+
+ Also rename a wrongly named C method (was using Web instead of WK).
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesCopyStandardFontFamily):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ (QWKPreferences::setFontFamily):
+ (QWKPreferences::fontFamily):
+ (QWKPreferences::testAttribute):
+ (QWKPreferences::setAttribute):
+ * UIProcess/API/qt/qwkpreferences.h:
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fill in more of PluginProcess
+ https://bugs.webkit.org/show_bug.cgi?id=46534
+
+ * DerivedSources.make:
+ Add PluginProcessProxy.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add a MessageClassPluginProcessProxy message class.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::PluginProcess):
+ Initialize the shutdown timer.
+
+ (WebKit::PluginProcess::initializeConnection):
+ Rename this to initializeConnection to avoid conflicts in the CoreIPC message handler.
+
+ (WebKit::PluginProcess::removeWebProcessConnection):
+ Remove the given web process connection from our vector.
+
+ (WebKit::PluginProcess::initialize):
+ Create the plug-in module.
+
+ (WebKit::PluginProcess::createWebProcessConnection):
+ Create a connection handle and send it to the UI process.
+
+ (WebKit::PluginProcess::shutdownTimerFired):
+ Quit.
+
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+ Call initializeConnection.
+
+ * Scripts/webkit2/messages.py:
+ Add CoreIPC::MachPort as a special case.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Add test case.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
+ Add empty function.
+
+ * UIProcess/Plugins/PluginProcessProxy.messages.in: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginProcessProxy.messages.in.
+
+ * WebKit2Prefix.h:
+ Add an ENABLE_PLUGIN_PROCESS #define which is 0 for now.
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ messages_unittest.py should compare the generated results against expected results
+ https://bugs.webkit.org/show_bug.cgi?id=46490
+
+ * Scripts/webkit2/messages_unittest.py:
+
+2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Antonio Gomes.
+
+ Make it possible to get the page preferences for Qt WebKit2 port.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPage::preferences):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/API/qt/qwkpreferences.cpp:
+ (QWKPreferencesPrivate::createPreferences):
+ (QWKPreferencesPrivate::createSharedPreferences):
+ (QWKPreferences::sharedPreferences):
+ (QWKPreferences::QWKPreferences):
+ * UIProcess/API/qt/qwkpreferences.h:
+
+2010-09-24 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Add WebKit2 C API for setting/getting frame flattening and plugin settings.
+ http://webkit.org/b/46477
+
+ NOTE: The plugin setting was partly done but there was no C API.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ (WebKit::WebPreferencesStore::encode):
+ (WebKit::WebPreferencesStore::decode):
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetFrameFlatteningEnabled):
+ (WKPreferencesGetFrameFlatteningEnabled):
+ (WKPreferencesSetPluginsEnabled):
+ (WKPreferencesGetPluginsEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setFrameFlatteningEnabled):
+ (WebKit::WebPreferences::frameFlatteningEnabled):
+ (WebKit::WebPreferences::setPluginsEnabled):
+ (WebKit::WebPreferences::pluginsEnabled):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::preferencesDidChange):
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Add WebPageCreationParameters
+
+ This struct is used in any messages that end up creating a WebPage.
+ Using a struct instead of individual parameters will make it easier to
+ add platform-specific data, such as an HWND on Windows.
+
+ Fixes <http://webkit.org/b/46470> Pass parameters for creating a
+ WebPage in a single struct
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/WebPageCreationParameters.cpp: Added.
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ Simple encode/decode functions.
+
+ * Shared/WebPageCreationParameters.h: Added.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createWindow):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ Changed to use WebPageCreationParameters instead of passing the
+ values individually.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Added WebPageCreationParameters.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Stop pretending that we know how to encode a DrawingArea and just
+ encode the DrawingAreaInfo directly
+
+ DrawingAreaBase and friends were trying to hide the fact that they
+ were just encoding/decoding a DrawingAreaInfo behind the scenes, but
+ everyone knew what was going on and it was getting embarassing.
+
+ Fixes <http://webkit.org/b/46469> Code to encode/decode a
+ DrawingAreaInfo is confusing
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/DrawingAreaBase.cpp: Removed.
+ * Shared/DrawingAreaBase.h: Removed encode/decode.
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h: Removed encode override.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ (WebKit::WebPageProxy::reinitializeWebPage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ Changed to encode the DrawingAreaInfo directly.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Removed DrawingAreaBase.cpp.
+
+2010-09-24 Adam Roben <aroben@apple.com>
+
+ Expose a whole DrawingAreaInfo instead of its constituent parts from
+ DrawingAreaBase
+
+ This is just a step toward cleaning up how drawing areas are
+ encoded/ecoded.
+
+ Fixes <http://webkit.org/b/46468> DrawingAreaInfo should be used in
+ more places
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/DrawingAreaBase.cpp:
+ (WebKit::DrawingAreaBase::encode): Changed to use info().
+
+ * Shared/DrawingAreaBase.h:
+ (WebKit::DrawingAreaBase::info): Added. Replaces type() and id().
+ (WebKit::DrawingAreaBase::DrawingAreaBase): Changed to store a
+ DrawingAreaInfo instead of storing its constituent parts.
+
+ * UIProcess/API/mac/WKView.mm:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ Updated to use info().
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add WebProcessConnection class
+ https://bugs.webkit.org/show_bug.cgi?id=46478
+
+ * PluginProcess/WebProcessConnection.cpp: Added.
+ * PluginProcess/WebProcessConnection.h: Added.
+ Add stubbed out WebProcessConnection class.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+2010-09-24 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProcess class
+ https://bugs.webkit.org/show_bug.cgi?id=46476
+
+ * PluginProcess/PluginProcess.cpp: Added.
+ * PluginProcess/PluginProcess.h: Added.
+ Add stubbed out PluginProcess class.
+
+ * PluginProcess/mac/PluginProcessMainMac.mm:
+ (WebKit::PluginProcessMain):
+ Initialize the plug-in process.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ Add a comment about which connection this is.
+
+2010-09-24 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+
+2010-09-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add Windows implementation of PlatformCertificateInfo
+ Part of <rdar://problem/8350189>
+ https://bugs.webkit.org/show_bug.cgi?id=46450
+
+ * Shared/win/PlatformCertificateInfo.cpp: Added.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ (WebKit::organizationNameForCertificate):
+ * Shared/win/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::certificateContext):
+ * UIProcess/API/C/win/WKCertificateInfoWin.cpp: Added.
+ (WKCertificateInfoGetCertificateContext):
+ * UIProcess/API/C/win/WKCertificateInfoWin.h: Added.
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Sam Weinig.
+
+ Add WebKit2 C API for setting the font families.
+ https://bugs.webkit.org/show_bug.cgi?id=46408
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetStandardFontFamily):
+ (WebPreferencesCopyStandardFontFamily):
+ (WKPreferencesSetFixedFontFamily):
+ (WKPreferencesCopyFixedFontFamily):
+ (WKPreferencesSetSerifFontFamily):
+ (WKPreferencesCopySerifFontFamily):
+ (WKPreferencesSetSansSerifFontFamily):
+ (WKPreferencesCopySansSerifFontFamily):
+ (WKPreferencesSetCursiveFontFamily):
+ (WKPreferencesCopyCursiveFontFamily):
+ (WKPreferencesSetFantasyFontFamily):
+ (WKPreferencesCopyFantasyFontFamily):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setStandardFontFamily):
+ (WebKit::WebPreferences::standardFontFamily):
+ (WebKit::WebPreferences::setFixedFontFamily):
+ (WebKit::WebPreferences::fixedFontFamily):
+ (WebKit::WebPreferences::setSerifFontFamily):
+ (WebKit::WebPreferences::serifFontFamily):
+ (WebKit::WebPreferences::setSansSerifFontFamily):
+ (WebKit::WebPreferences::sansSerifFontFamily):
+ (WebKit::WebPreferences::setCursiveFontFamily):
+ (WebKit::WebPreferences::cursiveFontFamily):
+ (WebKit::WebPreferences::setFantasyFontFamily):
+ (WebKit::WebPreferences::fantasyFontFamily):
+ * UIProcess/WebPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::preferencesDidChange):
+
+2010-09-23 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed buildfix after r68220 on WebKit2.
+
+ WebKit2 API: Need way to know when a frame is removed from the hierarchy
+ https://bugs.webkit.org/show_bug.cgi?id=46432
+
+ [Qt] qt_wk_didRemoveFrameFromHierarchy needs to be implemented
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didRemoveFrameFromHierarchy):
+ * UIProcess/API/qt/ClientImpl.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+
+2010-09-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 API: Need way to know when a frame is removed from the hierarchy
+ <rdar://problem/8414062>
+ https://bugs.webkit.org/show_bug.cgi?id=46432
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::detachedFromParent2):
+ (WebKit::WebFrameLoaderClient::didTransferChildFrameToNewDocument):
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProcessConnection and PluginProcessConnectionManager
+ https://bugs.webkit.org/show_bug.cgi?id=46425
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add files.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ Add empty file for now.
+
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ Add header.
+
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Added.
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ Check for an existing plug-in process connection. If we don't have one, ask the
+ UI process to create one.
+
+ (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
+ Remove the connection from our global vector.
+
+2010-09-23 Adam Roben <aroben@apple.com>
+
+ Remove the DrawingAreaProxy parameter to
+ WebPagProxy::initializeWebPage
+
+ Callers are now required to set the drawing area via
+ WebPageProxy::setDrawingArea before calling initializeWebPage. This
+ will allow us to delay calling initializeWebPage on Windows until
+ after we've created the WebView's HWND, which in turn will allow us to
+ send the HWND over to the web process when the page is created. (The
+ drawing area must be set before creating the HWND so that its size can
+ be updated, etc., as the window is created.)
+
+ Fixes <http://webkit.org/b/46409> DrawingAreaProxy parameter to
+ initializeWebPage is unnecessary, and causes problems on Windows
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::init):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+ Added explicit calls to setDrawingArea.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeWebPage):
+ * UIProcess/WebPageProxy.h:
+ Removed the DrawingAreaProxy parameter and a stray puts(), and added
+ an assertion.
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Implement handlers for the GetPluginProcessConnection message
+ https://bugs.webkit.org/show_bug.cgi?id=46415
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ Add GetPluginProcessConnection message kind
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::PluginProcessManager):
+ Add missing constructor.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginProcessConnection):
+ Ask the plug-in process manager for a connection.
+
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ Call getPluginProcessConnection.
+
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Send the GetPluginProcessConnection message.
+
+2010-09-23 Matthew Delaney <mdelaney@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Reduce minimum DOMTimer interval
+ https://bugs.webkit.org/show_bug.cgi?id=45362
+
+ * WebProcess/WebPage/WebPage.cpp:
+ Updating set interval call to use Settings' static version.
+
+2010-09-23 Adam Roben <aroben@apple.com>
+
+ Try to fix the Windows build
+
+ * win/WebKit2Common.vsprops: Add WebKit2/PluginProcess to the include
+ path.
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProcessMain files
+ https://bugs.webkit.org/show_bug.cgi?id=46379
+
+ * PluginProcess/PluginProcessMain.h: Added.
+ * PluginProcess/mac/PluginProcessMainMac.mm: Added.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add PluginProcessMain files. Remove PluginProcess.messages.in from the target so it
+ won't be installed in the WebKit2.framework bundle.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain):
+ Call PluginProcessMain if the process type is ProcessLauncher::PluginProcess.
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add PluginProcessProxy class
+ https://bugs.webkit.org/show_bug.cgi?id=46377
+
+ * DerivedSources.make:
+ Add PluginProcess.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::send):
+ Add send overload that takes a message.
+
+ * Platform/CoreIPC/MessageID.h:
+ Add MessageClassPluginProcess message kind.
+
+ * PluginProcess/PluginProcess.messages.in: Added.
+ Add PluginProcess messages.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::infoForPluginWithPath):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ New function that returns the plug-in info for a plug-in with the given path.
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::getPluginProcessConnection):
+ Look for an existing plug-in process proxy.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp: Added.
+ (WebKit::PluginProcessProxy::create):
+ Launch the process.
+
+ (WebKit::PluginProcessProxy::didReceiveMessage):
+ (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
+ Add stubbed out functions.
+
+ (WebKit::PluginProcessProxy::didClose):
+ Delete the plug-in process proxy.
+
+ (WebKit::PluginProcessProxy::didFinishLaunching):
+ Open a connection to the plug-in process proxy.
+
+ * UIProcess/Plugins/PluginProcessProxy.h: Added.
+ (WebKit::PluginProcessProxy::pluginInfo):
+ Return the plug-in info.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::context):
+ Add a context getter.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+2010-09-23 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Expose the BundlePage on the BundleFrame in the API.
+ https://bugs.webkit.org/show_bug.cgi?id=46366
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetPage):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+
+2010-09-23 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ Add a preference class for Qt for WebKit2.
+
+ * UIProcess/API/qt/qwkpreferences.cpp: Added.
+ (QWKPreferences::globalPreferences):
+ (QWKPreferences::QWKPreferences):
+ (QWKPreferences::~QWKPreferences):
+ (QWKPreferences::testAttribute):
+ (QWKPreferences::setAttribute):
+ * UIProcess/API/qt/qwkpreferences.h: Added.
+ * WebKit2.pro:
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ It should be possible to conditionally define an entire group of messages
+ https://bugs.webkit.org/show_bug.cgi?id=46368
+
+ * Scripts/webkit2/messages.py:
+ Check for a condition when parsing the "messages -> " string and set it as the
+ message receiver condition.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Add test.
+
+2010-09-23 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Message autogeneration script should parse sync message syntax
+ https://bugs.webkit.org/show_bug.cgi?id=46359
+
+ * Scripts/webkit2/messages.py:
+ (MessageReceiver.parse): Expand the regular expression to handle sync messages.
+ (function_parameter_type): Use a const reference for all parameters except the known builtins.
+ (base_class): Returns the base class for a sync message reply struct.
+ (delayed_base_class): Returns the base class for a delayed sync message reply struct.
+
+ * Scripts/webkit2/messages_unittest.py:
+ Add unit tests for various sync messages.
+
+2010-09-22 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed build fix after r68079.
+
+ [Qt] Also generate WebPage's message-receiving code and message types
+ for the Qt port of WebKit2.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Stub out a PluginProcessManager class
+ https://bugs.webkit.org/show_bug.cgi?id=46305
+
+ * UIProcess/Plugins/PluginProcessManager.cpp: Added.
+ (WebKit::PluginProcessManager::shared):
+ (WebKit::PluginProcessManager::getPluginProcessConnection):
+ (WebKit::PluginProcessManager::removePluginProcessProxy):
+ * UIProcess/Plugins/PluginProcessManager.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ Add a ViewportConfiguration class for the Qt WebKit2 API, which
+ currently calculated a fallback viewport configuration.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::ViewportConfiguration::ViewportConfiguration):
+ (QWKPage::ViewportConfiguration::~ViewportConfiguration):
+ (QWKPage::ViewportConfiguration::operator=):
+ (QWKPage::viewportConfigurationForSize):
+ * UIProcess/API/qt/qwkpage.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QtViewportConfigurationPrivate::QtViewportConfigurationPrivate):
+
+2010-09-22 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain): Fix typo
+
+2010-09-22 Adam Roben <aroben@apple.com>
+
+ Autogenerate WebPage's message-receiving code and message types
+
+ This patch encompasses several changes that allow message types and
+ receiving code to be generated by a script, and add some type-safety
+ as a bonus. Messages are now represented by structs instead of an ID +
+ ArgumentCoder. The struct contains the arguments and the ID together,
+ and has a constructor that enforces the use of correct types.
+ Correspondingly, a new overload of WebProcessProxy::send that takes a
+ message struct (instead of a message ID and separate arguments) has
+ been added. Eventually all callers should use this overload and the
+ old one can be removed.
+
+ This patch only touches WebPage's messages. We should transition other
+ message receivers over to this new system eventually.
+
+ Fixes <http://webkit.org/b/43636> <rdar://problem/8282462> Add a
+ type-safe IPC mechanism to WebKit2
+
+ Reviewed by Anders Carlsson.
+
+ * DerivedSources.make: Added. Calls generate-message-receiver.py and
+ generate-messages-header.py for each message receiver it knows about
+ (just WebPage for now).
+
+ * Platform/CoreIPC/Arguments.h: Added First/Second/ThirdArgumentType
+ typedefs for use in handleMessage.
+
+ * Platform/CoreIPC/HandleMessage.h: Added.
+ (CoreIPC::handleMessage): This overloaded function template decodes
+ arguments and passes them along to the specified function.
+
+ * Scripts/generate-message-receiver.py: Added.
+ * Scripts/generate-messages-header.py: Added.
+ These scripts just wrap functionality in messages.py.
+
+ * Scripts/webkit2/__init__.py: Added. This just exists so that Python
+ will treat this directory as a package.
+
+ * Scripts/webkit2/messages.py: Added. Contains the code to parse
+ messages files and generate .cpp/.h files from them.
+ (MessageReceiver.__init__): This class represents a single receiver of
+ messages.
+ (MessageReceiver.iterparameters): Returns a generator that can be used
+ to iterate over all the parameters of all the messages of this
+ receiver.
+ (MessageReceiver.parse): Reads a messages file from a file-like object
+ and parses it into a MessageReceiver object.
+ (Message.__init__): This class represents a single message.
+ (Message.id): Returns the ID name for this message.
+ (Parameter.__init__): This class represents a single parameter for a
+ message.
+ (messages_header_filename): Returns the name of the header that
+ defines the messages for a given receiver.
+ (surround_in_condition): Surrounds the given string in #if/#endif if
+ there is an associated condition.
+ (messages_to_kind_enum): Returns a string that defines the Kind enum
+ for these messages.
+ (function_parameter_type): Returns the type that should be used when
+ passing a value of the given type as a parameter to a function.
+ (base_class): Returns the base class for a message struct.
+ (message_to_struct_declaration): Returns a string that declares the
+ struct for this message.
+ (forward_declarations_for_namespace): Returns a string that contains
+ forward-declarations for a set of types in a given namespace.
+ (forward_declarations): Returns a string that contains all the
+ forward-declarations needed in order to declare all the message
+ structs for this receiver.
+ (generate_header_file): Returns a string containing the messages
+ header file for this receiver.
+ (handler_function): Returns the name of the function that handles a
+ given message for a given receiver.
+ (case_statement): Returns a string containing a case statement for
+ handling the given message.
+ (header_for_type): Returns the header needed to define a given type,
+ enclosed in quotes or angle brackets as needed.
+ (generate_message_handler): Returns a string containing the contents
+ of a .cpp file that defines a didReceive*Message function.
+
+ * Scripts/webkit2/messages_unittest.py: Added. Contains tests for
+ messages.py.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h: Removed. This has been
+ replaced by a generated WebPageMessages.h header.
+
+ * UIProcess/WebEditCommandProxy.cpp:
+ * UIProcess/WebPageProxy.cpp:
+ Updated to use the new message structs and WebProcessProxy::send
+ overload.
+
+ * UIProcess/WebProcessProxy.h:
+ (WebKit::WebProcessProxy::send): Added this new overload that takes a
+ message struct.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added a Derived Sources shell
+ script target that invokes DerivedSources.make. Added "Derived
+ Sources" and "Scripts" groups that contain the various new files.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceivePolicyDecision):
+ (WebKit::WebPage::getSourceForFrame):
+ Changed these functions to take the raw IPC types and do the necessary
+ translation themselves. This keeps the generated code from need to
+ know how to perform the translation.
+
+ (WebKit::WebPage::didReceiveMessage): Replaced handling of WebPage
+ messages with a call to didReceiveWebPageMessage, whose implementation
+ is generated by the scripts.
+
+ * WebProcess/WebPage/WebPage.h: Added didReceiveWebPageMessage.
+
+ * WebProcess/WebPage/WebPage.messages.in: Added. This file declares
+ all of the messages that WebPage receives, roughly grouped by
+ functionality.
+
+ * win/WebKit2.vcproj: Added "Derived Sources" and "Scripts" filters
+ that contain the various new files. Let VS resort some other files.
+
+ * win/WebKit2Common.vsprops: Added
+ $(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources to the include
+ path so that the generated messages header can be found.
+
+ * win/WebKit2.make: Copy the generated source files to $(DSTROOT).
+
+ * win/WebKit2Generated.make: Added a call to build-generated-files.sh.
+
+ * win/WebKit2Generated.vcproj: Added build-generated-files.sh.
+
+ * win/build-generated-files.sh: Added. Invokes DerivedSources.make.
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Enhance ProcessLauncher to be able to launch plug-in processes
+ https://bugs.webkit.org/show_bug.cgi?id=46295
+
+ * UIProcess/Launcher/ProcessLauncher.cpp:
+ (WebKit::ProcessLauncher::ProcessLauncher):
+ Make the ProcessLauncher constructor take a LaunchOptions struct.
+
+ (WebKit::ProcessLauncher::processTypeAsString):
+ Given a process type, return its string representation.
+
+ (WebKit::ProcessLauncher::getProcessTypeFromString):
+ And vice versa.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Rename "mode" to "type" and pass the type as a string based on the LaunchOptions struct.
+ Also, set the launch architecture from the LaunchOptions struct.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ Rename "mode" to "type."
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::connect):
+ Initialize a LaunchOptions struct.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain):
+ Factor code that can be shared between the mac and windows WebKitMain code out into a
+ WebKitMain overload that takes a CommandLine.
+
+ * WebProcess/WebProcessMain.h:
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ * WebProcess/win/WebProcessMainWin.cpp:
+ (WebKit::WebProcessMain):
+ Change WebProcessMain to take a const CommandLine reference instead of a pointer.
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Rename GetPluginHostConnection to GetPluginPath
+ https://bugs.webkit.org/show_bug.cgi?id=46292
+
+ Rename GetPluginHostConnection to GetPluginPath since this message will always get the
+ plug-in path. We'll add another message to actually get the connection.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginPath):
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move plug-in creation to WebPage::createPlugin
+ https://bugs.webkit.org/show_bug.cgi?id=46289
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Call WebPage::createPlugin.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::createPlugin):
+ Create the plug-in.
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Random plug-in cleanups
+ https://bugs.webkit.org/show_bug.cgi?id=46279
+
+ * WebProcess/Plugins/Plugin.cpp:
+ (WebKit::Plugin::Parameters::encode):
+ (WebKit::Plugin::Parameters::decode):
+ Add CoreIPC coding support for the Plugin::Parameters struct.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add pluginProcessCrashed pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ handleEvent can be called when m_plugin is null.
+
+ (WebKit::PluginView::pluginProcessCrashed):
+ Ask the renderer to show the crashed plug-in indicator.
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Don't listen for some window notifications on all windows
+ https://bugs.webkit.org/show_bug.cgi?id=46277
+
+ Only listen for NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification notifications
+ on all windows; this matches old WebKit and fixes a crash where we would send notifications to views whose
+ underlying pages were invalid.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView addWindowObserversForWindow:]):
+ (-[WKView removeWindowObservers]):
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Crash when running plug-in layout tests
+ https://bugs.webkit.org/show_bug.cgi?id=46269
+
+ Store the web page directly in the PluginView class, instead of getting it from the frame
+ of the plug-in element; this fixes two crashes, one where the plug-in element had been deallocated
+ before the plug-in view, and another where the plug-in element's document did not have a frame.
+
+ This also makes things more robust since we're asserting in the WebPage destructor that no plug-ins have
+ an outstanding reference to it.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::webPage):
+ (WebKit::PluginView::PluginView):
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::initializePlugin):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Change a bunch of Vector<char> to Vector<uint8_t> to better indicate that we're
+ dealing with raw bytes.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::parsePostBuffer):
+ (WebKit::NPN_GetURL):
+ (WebKit::NPN_PostURL):
+ (WebKit::NPN_GetURLNotify):
+ (WebKit::NPN_PostURLNotify):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::loadURL):
+ (WebKit::NetscapePlugin::initialize):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::deliverData):
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::loadURL):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-09-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Assertion fails in [WKView _updateWindowFrame] when closing a WebKit2 window
+ https://bugs.webkit.org/show_bug.cgi?id=46264
+ <rdar://problem/8463534>
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewDidMoveToWindow]):
+ Only update window visibility and frame when we're moving to a window.
+
+2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] PluginStrategy implementation is broken
+ https://bugs.webkit.org/show_bug.cgi?id=46078
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ Initialize the WebPlatformStrategies at the UI side as well because
+ we are using the LocalizationStrategy in the UI process.
+ Added a FIXME since this should be fixed in the future.
+
+2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ PluginStrategy should satisfy the needs of Qt
+ https://bugs.webkit.org/show_bug.cgi?id=45857
+ No new functionality so no new tests.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::getPluginInfo):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-09-21 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber stamped by Simon Fraser.
+
+ Add DirectX SDK include path.
+
+ * win/WebKit2DirectX.vsprops:
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Forward window focus changes to the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=46227
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowFocusChanged):
+ Send the NPCocoaEventWindowFocusChanged event.
+
+ (WebKit::NetscapePlugin::windowFrameChanged):
+ (WebKit::NetscapePlugin::windowVisibilityChanged):
+ Add stubs.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add windowFocusChanged, windowFrameChanged and windowVisibilityChanged.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::webPage):
+ Make webPage a member function instead.
+
+ (WebKit::PluginView::setWindowIsFocused):
+ Call the plug-in member function.
+
+ (WebKit::PluginView::initializePlugin):
+ When the plug-in has been initialized, update its window frame, window visibility
+ and window focus states.
+
+ (WebKit::PluginView::setParent):
+ Move viewGeometryDidChange to initializePlugin.
+
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setActive):
+ Tell all plug-in views about the new window focus state.
+
+ (WebKit::WebPage::windowIsFocused):
+ Return whether the window is focused or not.
+
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::windowIsVisible):
+ (WebKit::WebPage::windowFrame):
+ Add getters.
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Handle booleans in injected bundle messages
+ https://bugs.webkit.org/show_bug.cgi?id=46213
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+2010-09-21 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2 should look for WebKit2WebProcess.exe next to WebKit.dll
+ https://bugs.webkit.org/show_bug.cgi?id=46209
+ <rdar://problem/8445639>
+
+ Find WebKit2WebProcess.exe by getting the full path to WebKit.dll, and then
+ removing the last path component and replacing it with WebKit2WebProcess.exe.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Send window visibility and window frame change sizes to the plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=46202
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateWindowVisibility]):
+ Call WebPageProxy::setWindowIsVisible.
+
+ (-[WKView addWindowObserversForWindow:]):
+ Add additional observers.
+
+ (-[WKView removeWindowObservers]):
+ Remove observers.
+
+ (-[WKView _updateWindowFrame]):
+ Call WebPageProxy::setWindowFrame.
+
+ (-[WKView viewDidMoveToWindow]):
+ Update the window visibility and the web frame.
+
+ (-[WKView _windowDidMiniaturize:]):
+ (-[WKView _windowDidDeminiaturize:]):
+ Update the window visibility.
+
+ (-[WKView _windowFrameDidChange:]):
+ Update the window frame.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setWindowIsVisible):
+ (WebKit::WebPageProxy::setWindowFrame):
+ Send messages along to the web process.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Register the plug-in view.
+
+ (WebKit::PluginView::~PluginView):
+ Unregister the plug-in view.
+
+ (WebKit::PluginView::setWindowIsVisible):
+ (WebKit::PluginView::setWindowFrame):
+ Add empty stubs.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ Initialize m_windowIsVisible.
+
+ (WebKit::WebPage::~WebPage):
+ Assert that all plug-in views have been removed.
+
+ (WebKit::WebPage::setWindowIsVisible):
+ Notify all plug-ins about the window visibility change.
+
+ (WebKit::WebPage::setWindowFrame):
+ Notify all plug-ins about the window frame change.
+
+ (WebKit::WebPage::didReceiveMessage):
+ Handle setWindowIsVisible and setWindowFrame.
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ * Configurations/WebKit2.xcconfig:
+ Add a note about keeping the path in MainMac.cpp in sync with the install path.
+
+ * mac/MainMac.cpp:
+ (main):
+ Use the correct framework path.
+
+2010-09-21 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * mac/MainMac.cpp:
+ (closeUnusedFileDescriptors):
+ Move this out into a separate function.
+
+ (main):
+ Don't use the soft linking macros, they were bringing in WTFReportAssertionFailure.
+
+2010-09-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Zombie WebProcesses are left around
+ https://bugs.webkit.org/show_bug.cgi?id=46148
+ <rdar://problem/8455898>
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::setupTerminationNotificationHandler):
+ Register a dispatch handler that calls waitpid when the child process exits. This prevents zombies from
+ staying around after the child process has quit.
+
+ (WebKit::ProcessLauncher::launchProcess):
+ Pass POSIX_SPAWN_START_SUSPENDED to posix_spawn to avoid race conditions when setting up the termination
+ notification handler. When the handler is set up we send the SIGCONT signal to the child process.
+
+ * mac/MainMac.cpp:
+ (main):
+ Loop through all file descriptors except for stdin, stdout and stderr and close them.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Soft-link the Web process with WebKit2. We do this so we can ensure that we won't accidentally close any
+ file descriptors opened by initialization code that would have been called before main().
+
+2010-09-21 Andras Becsi <abecsi@inf.u-szeged.hu>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [Qt] QtWebProcess should clean up shared memory map files on close
+ https://bugs.webkit.org/show_bug.cgi?id=45984
+
+ Relocate MappedMemory struct code to it's own header and implement
+ a singleton pool class (MappedMemoryPool) which tracks shared memory
+ to be able to clean up map files from disk if RunLoop stops.
+
+ * Shared/qt/MappedMemory.h: Added.
+ (WebKit::MappedMemory::markUsed):
+ (WebKit::MappedMemory::markFree):
+ (WebKit::MappedMemory::isFree):
+ * Shared/qt/MappedMemoryPool.cpp: Added.
+ (WebKit::MappedMemoryPool::MappedMemoryPool):
+ (WebKit::MappedMemoryPool::instance):
+ (WebKit::MappedMemoryPool::size):
+ (WebKit::MappedMemoryPool::at):
+ (WebKit::MappedMemoryPool::append):
+ (WebKit::MappedMemoryPool::cleanUp):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::mapMemory):
+ (WebKit::mapFile):
+ * Shared/qt/UpdateChunk.h:
+ * WebKit2.pro:
+
+2010-09-20 Philippe Normand <pnormand@igalia.com>
+
+ Reviewed by Eric Carlson.
+
+ [GTK] enhanced context menu for media elements
+ https://bugs.webkit.org/show_bug.cgi?id=45021
+
+ New localized strings for the media element context-menu.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPlay):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagMediaPause):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagMediaMute):
+ (WebKit::WebPlatformStrategies::contextMenuItemTagMediaUnMute):
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-09-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add a way to delay sending replies to sync requests
+ https://bugs.webkit.org/show_bug.cgi?id=46117
+
+ Change the didReceiveSyncMessage client message to return a SyncReplyMode. If the SyncReplyMode is
+ AutomaticReply, the reply will be sent when the didReceiveSyncMessage function returns. However, if it is
+ ManualReply, then the client is handed ownership of the reply ArgumentEncoder and can choose to send it
+ at a later time using Connection::sendSyncReply.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::sendSyncReply):
+ Send the message as a sync reply.
+
+ (CoreIPC::Connection::dispatchMessages):
+ Check the return value of didReceiveSyncMessage. If it is AutomaticReply, immediately send the reply.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
+ Change return type.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * UIProcess/WebProcessProxy.h:
+ Update for changed return type.
+
+2010-09-20 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Don't use bufferIsLargeEnoughToContain for Vectors with variable sized elements
+ https://bugs.webkit.org/show_bug.cgi?id=46109
+
+ Add a new VectorArgumentCoder class template, with specializations based on whether the
+ element is fixed size or not. Then update the ArgumentEncoder<Vector<T>> specialization to choose the
+ right VectorArgumentCoder specialization. To determine this, we use the "IsArithmetic" type trait,
+ which holds true for all integer types and all floating point types.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+
+2010-09-20 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pasteboard doesn't work in WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=42317
+ <rdar://problem/7660537>
+
+ Adding support for RTF, RTFD and NSUrl formats on the Mac.
+ Still missing the selective enabling of the menu entries.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added WebEditorClientMac.mm.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp: Removed Mac only methods
+ that are now in WebEditorClientMac.mm
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Fixed style and changed parameter
+ type in documentFragmentFromAttributedString to be a Vector of RefPtr.
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: Added.
+ All the following methods have been moved from WebEditorClient.cpp.
+ (WebKit::WebEditorClient::userVisibleString): Added implementation.
+ (WebKit::createExcludedElementsForAttributedStringConversion): Added.
+ (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added implementation.
+ (WebKit::WebEditorClient::setInsertionPasteboard):
+ (WebKit::WebEditorClient::pasteboardTypesForSelection):
+ (WebKit::WebEditorClient::uppercaseWord):
+ (WebKit::WebEditorClient::lowercaseWord):
+ (WebKit::WebEditorClient::capitalizeWord):
+ (WebKit::WebEditorClient::showSubstitutionsPanel):
+ (WebKit::WebEditorClient::substitutionsPanelIsShowing):
+ (WebKit::WebEditorClient::toggleSmartInsertDelete):
+ (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution):
+ (WebKit::WebEditorClient::isAutomaticLinkDetectionEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticLinkDetection):
+ (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticDashSubstitution):
+ (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticTextReplacement):
+ (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
+ (WebKit::WebEditorClient::toggleAutomaticSpellingCorrection):
+ (WebKit::WebEditorClient::checkTextOfParagraph):
+ (WebKit::WebEditorClient::showCorrectionPanel):
+ (WebKit::WebEditorClient::dismissCorrectionPanel):
+ (WebKit::WebEditorClient::isShowingCorrectionPanel):
+
+2010-09-20 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix a style issue and add a FIXME to make the AppleConnect plug-in
+ workaround dependent on site-specific quirks being enabled, which
+ WebKit2 does not yet support in its WebPreferences implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=45960
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-09-20 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add WebKit2 API to load a string as plain text
+ https://bugs.webkit.org/show_bug.cgi?id=46091
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadPlainTextString):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadPlainTextString):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadData):
+ (WebKit::WebPage::loadHTMLString):
+ (WebKit::WebPage::loadPlainTextString):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * UIProcess/API/C/WKPage.h:
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix Qt build.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WebKit2 equivalent of the WebFormDelegate's doCommandBySelector
+ <rdar://problem/8377088>
+ https://bugs.webkit.org/show_bug.cgi?id=46073
+
+ Add bundle client to match the behavior of:
+ - (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame;
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::getActionTypeForKeyEvent):
+ (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
+ (WebKit::WebEditorClient::textWillBeDeletedInTextField):
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2 decidePolicyForNavigationAction should include mouse button information
+ <rdar://problem/8413165>
+ https://bugs.webkit.org/show_bug.cgi?id=46060
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toRef):
+ * 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/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::findMouseEvent):
+ (WebKit::mouseButtonForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+
+2010-09-19 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r67813.
+
+ Replace WKBundleRangeRef with WKBundleRangeHandleRef.
+ https://bugs.webkit.org/show_bug.cgi?id=46054
+
+ * DerivedSources.pro: Add WebCore/generated/JSRange.h to WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2
+
+2010-09-19 Csaba Osztrogonác <ossy@webkit.org>
+
+ [Qt] Unreviewed buildfix after r67802.
+
+ WebKit2: Improve/unify the PageLoadClient interfaces.
+ https://bugs.webkit.org/show_bug.cgi?id=46043
+
+ * UIProcess/API/qt/ClientImpl.h:
+
+2010-09-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Replace WKBundleRangeRef with WKBundleRangeHandleRef.
+ https://bugs.webkit.org/show_bug.cgi?id=46054
+
+ The new one acts like WKBundleNodeHandleRef and allows for getting a
+ wrapper in a specific world for the handle.
+
+ * Shared/APIObject.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetJavaScriptWrapperForRangeForWorld):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp: Added.
+ (WKBundleRangeHandleGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.h: Added.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: Added.
+ (WebKit::domHandleCache):
+ (WebKit::InjectedBundleRangeHandle::getOrCreate):
+ (WebKit::InjectedBundleRangeHandle::create):
+ (WebKit::InjectedBundleRangeHandle::InjectedBundleRangeHandle):
+ (WebKit::InjectedBundleRangeHandle::~InjectedBundleRangeHandle):
+ (WebKit::InjectedBundleRangeHandle::coreRange):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: Added.
+ (WebKit::InjectedBundleRangeHandle::type):
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
+ (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
+ (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
+ (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
+ (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::jsWrapperForWorld):
+ * WebProcess/WebPage/WebFrame.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Improve/unify the PageLoadClient interfaces.
+ https://bugs.webkit.org/show_bug.cgi?id=46043
+
+ - Ensure that all the PageLoadClient functions (that are load related)
+ have bundle API equivalents (this meant adding didFirstLayoutForFrame
+ and didFirstVisuallyNonEmptyLayoutForFrame to the BundlePageLoadClient).
+ - Add a userData out parameters to all the now paired BundlePageLoadClient
+ functions, and a matching userData parameter to the PageLoadClient ones.
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didStartProvisionalLoadForFrame):
+ (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
+ (qt_wk_didFailProvisionalLoadWithErrorForFrame):
+ (qt_wk_didCommitLoadForFrame):
+ (qt_wk_didFinishDocumentLoadForFrame):
+ (qt_wk_didFinishLoadForFrame):
+ (qt_wk_didFailLoadWithErrorForFrame):
+ (qt_wk_didReceiveTitleForFrame):
+ (qt_wk_didFirstLayoutForFrame):
+ (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
+ (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::WebLoaderClient::didCommitLoadForFrame):
+ (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
+ (WebKit::WebLoaderClient::didFinishLoadForFrame):
+ (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
+ (WebKit::WebLoaderClient::didReceiveTitleForFrame):
+ (WebKit::WebLoaderClient::didFirstLayoutForFrame):
+ (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
+ (WebKit::WebLoaderClient::didStartProgress):
+ (WebKit::WebLoaderClient::didChangeProgress):
+ (WebKit::WebLoaderClient::didFinishProgress):
+ (WebKit::WebLoaderClient::didBecomeUnresponsive):
+ (WebKit::WebLoaderClient::didBecomeResponsive):
+ (WebKit::WebLoaderClient::processDidExit):
+ (WebKit::WebLoaderClient::didChangeBackForwardList):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
+ (WebKit::WebPageProxy::didFinishLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::didFirstLayoutForFrame):
+ (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
+ (WebKit::WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
+
+2010-09-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Enable Platform Strategies on Qt
+
+ [Qt] Turn on PLATFORM_STRATEGIES
+ https://bugs.webkit.org/show_bug.cgi?id=45831
+
+ * WebKit2.pro: Added Added WebPlatformStrategies.{cpp,h}
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Need a way to load data (as plain text) in a WKPage
+ <rdar://problem/8424239>
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadHTMLString):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadHTMLString):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadHTMLString):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Anders Carlsson.
+
+ Replace all uses of WTF::String and WTF::AtomicString with
+ String and AtomicString.
+
+ * Platform/Module.h:
+ * Shared/CommandLine.h:
+ (WebKit::CommandLine::operator[]):
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebEvent.h:
+ (WebKit::WebKeyboardEvent::WebKeyboardEvent):
+ (WebKit::WebKeyboardEvent::text):
+ (WebKit::WebKeyboardEvent::unmodifiedText):
+ (WebKit::WebKeyboardEvent::keyIdentifier):
+ (WebKit::WebKeyboardEvent::decode):
+ * Shared/WebNavigationDataStore.h:
+ * Shared/WebPreferencesStore.h:
+ * Shared/WebString.h:
+ (WebKit::WebString::create):
+ (WebKit::WebString::string):
+ (WebKit::WebString::WebString):
+ * Shared/WebURL.h:
+ (WebKit::WebURL::create):
+ (WebKit::WebURL::string):
+ (WebKit::WebURL::WebURL):
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toRef):
+ (WebKit::toURLRef):
+ (WebKit::toCopiedRef):
+ (WebKit::toCopiedURLRef):
+ (WebKit::toWTFString):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextCreate):
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::nsStringFromWebCoreString):
+ * UIProcess/PageClient.h:
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::setAdditionalPluginsDirectories):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::getMIMETypeForExtension):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::create):
+ (WebKit::WebBackForwardListItem::setOriginalURL):
+ (WebKit::WebBackForwardListItem::originalURL):
+ (WebKit::WebBackForwardListItem::setURL):
+ (WebKit::WebBackForwardListItem::url):
+ (WebKit::WebBackForwardListItem::setTitle):
+ (WebKit::WebBackForwardListItem::title):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::setAdditionalPluginsDirectory):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::injectedBundlePath):
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didReceiveTitle):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::url):
+ (WebKit::WebFrameProxy::provisionalURL):
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didReceiveTitleForFrame):
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebNavigationData.h:
+ (WebKit::WebNavigationData::title):
+ (WebKit::WebNavigationData::url):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::pageTitle):
+ (WebKit::WebPageProxy::toolTip):
+ (WebKit::WebPageProxy::urlAtProcessExit):
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginHostConnection):
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebUIClient.h:
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (WebKit::InjectedBundle::create):
+ (WebKit::InjectedBundle::setSandboxToken):
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::start):
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebContextMenuClient.h:
+ * WebProcess/WebCoreSupport/WebDragClient.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::showCorrectionPanel):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebInspectorClient.h:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
+ * WebProcess/WebProcess.h:
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Fix Windows and Qt builds.
+
+ * Shared/qt/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::decode):
+ * Shared/win/PlatformCertificateInfo.h:
+ (WebKit::PlatformCertificateInfo::decode):
+
+2010-09-17 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
+ https://bugs.webkit.org/show_bug.cgi?id=42863
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::textZoomFactor):
+ (WebKit::WebPage::setTextZoomFactor):
+ (WebKit::WebPage::pageZoomFactor):
+ (WebKit::WebPage::setPageZoomFactor):
+ (WebKit::WebPage::setPageAndTextZoomFactors):
+ Call functions on Frame instead of FrameView.
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Resize corner jiggles when resizing slowly in WebKit2
+ <rdar://problem/7897425>
+ https://bugs.webkit.org/show_bug.cgi?id=45601
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::windowResizerRect):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::windowResizerRect):
+ * WebProcess/WebPage/WebPage.h:
+ Move resize corner logic to WebPage and use the FrameView's size instead of the WebPages
+ stored size, which doesn't get updated at the right time. This is in line with all other
+ scrollbar metrics which are in terms of the FrameView's size.
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make certificate data available to the WKFrameRef after it is committed
+ Part of <rdar://problem/8350189>
+ https://bugs.webkit.org/show_bug.cgi?id=45998
+
+ * Shared/APIObject.h:
+ Add new type.
+
+ * Shared/WebCertificateInfo.h: Added.
+ (WebKit::WebCertificateInfo::create):
+ (WebKit::WebCertificateInfo::platformCertificateInfo):
+ (WebKit::WebCertificateInfo::WebCertificateInfo):
+ (WebKit::WebCertificateInfo::type):
+ Add API type for vending.
+
+ * Shared/mac/PlatformCertificateInfo.h: Added.
+ (WebKit::PlatformCertificateInfo::peerCertificates):
+ * Shared/mac/PlatformCertificateInfo.mm: Added.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ (WebKit::PlatformCertificateInfo::dump):
+ * Shared/qt/PlatformCertificateInfo.h: Added.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ * Shared/win/PlatformCertificateInfo.h: Added.
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ (WebKit::PlatformCertificateInfo::encode):
+ (WebKit::PlatformCertificateInfo::decode):
+ Add platform specific holder for certificate data and encode/decode functions
+ to send it over the wire. Right now, this only implemented for the mac.
+
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKCertificateInfo.cpp: Added.
+ (WKCertificateInfoGetTypeID):
+ * UIProcess/API/C/WKCertificateInfo.h: Added.
+ Add wrapper for WebCertificateInfo.
+
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetCertificateInfo):
+ * UIProcess/API/C/WKFrame.h:
+ Add getter for a WKCertificateInfo.
+
+ * UIProcess/API/C/mac/WKCertificateInfoMac.h: Added.
+ * UIProcess/API/C/mac/WKCertificateInfoMac.mm: Added.
+ (WKCertificateInfoGetPeerCertificates):
+ Add mac specific getters for the platform specific certificate
+ data.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::setCertificateInfo):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::certificateInfo):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ Pipe the certificate info through to the WebFrameProxy on
+ commit.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-09-17 Matthew Delaney <mdelaney@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Reduce minimum DOMTimer interval
+ https://bugs.webkit.org/show_bug.cgi?id=45362
+
+ * WebProcess/WebPage/WebPage.cpp: Added in a call to set the mimimum allowed DOMTimer to 4ms.
+
+2010-09-17 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ CoreIPC argument coder improvements
+ https://bugs.webkit.org/show_bug.cgi?id=45999
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ Add explicit specialization for a vector of bytes.
+
+ * Platform/CoreIPC/Arguments.h:
+ (CoreIPC::Arguments1::decode):
+ (CoreIPC::Arguments2::decode):
+ (CoreIPC::Arguments3::decode):
+ (CoreIPC::Arguments4::decode):
+ (CoreIPC::Arguments5::decode):
+ (CoreIPC::Arguments6::decode):
+ Use the injected class name for less typing.
+
+ (CoreIPC::Arguments7::Arguments7):
+ (CoreIPC::Arguments7::encode):
+ (CoreIPC::Arguments7::decode):
+ (CoreIPC::In):
+ (CoreIPC::Out):
+ Add Arguments7 class.
+
+2010-09-17 Andy Estes <aestes@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8440903> WK2: REGRESSION (r66156): Web sites using
+ AppleConnect fail to log in: "HTTP Status 404 - /ssowebapp/scriptFrame"
+ https://bugs.webkit.org/show_bug.cgi?id=45960
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make WebNumbers immutable matching CF.
+
+ * Shared/WebNumber.h:
+ (WebKit::WebNumber::value):
+ (WebKit::WebNumber::WebNumber):
+ * UIProcess/API/C/WKNumber.cpp:
+ (WKUInt64GetValue):
+ * UIProcess/API/C/WKNumber.h:
+
+2010-09-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Add bool wrapper for WebKit2 API
+ https://bugs.webkit.org/show_bug.cgi?id=45985
+
+ * Shared/APIObject.h:
+ * Shared/WebNumber.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKNumber.cpp:
+ (WKBooleanGetTypeID):
+ (WKBooleanCreate):
+ (WKBooleanGetValue):
+ (WKBooleanSetValue):
+ * UIProcess/API/C/WKNumber.h:
+
+2010-09-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add support for sending synchronous messages from the InjectedBundle to the WKContext
+ <rdar://problem/8365320>
+ https://bugs.webkit.org/show_bug.cgi?id=44785
+
+ * Shared/CoreIPCSupport/WebContextMessageKinds.h:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle):
+ (WebKit::WebContext::didReceiveMessage):
+ (WebKit::WebContext::didReceiveSyncMessage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePostSynchronousMessage):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postSynchronousMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2010-09-16 Balazs Kelemen <kbalazs@webkit.org>
+
+ Unreviewed trivial typo fix.
+
+ Remove old debug helper code inside |#if 0| from ConnectionQt.cpp
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+
+2010-09-15 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Pasteboard doesn't work in WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=42317
+ <rdar://problem/7660537>
+
+ Initial work to support cut, copy, paste and selectAll in WebKit2.
+ It still does not support RTF and RTFD format for Mac and the selective
+ enabling of the editing menu entries.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h: Added messages to support the
+ new editing commands.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]): Added.
+ (-[WKView copy:]): Added.
+ (-[WKView cut:]): Added.
+ (-[WKView paste:]): Addded.
+ (-[WKView selectAll:]): Added.
+ * UIProcess/WebPageProxy.cpp: Added all the proxy methods.
+ (WebKit::WebPageProxy::selectAll):
+ (WebKit::WebPageProxy::copy):
+ (WebKit::WebPageProxy::cut):
+ (WebKit::WebPageProxy::paste):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added but not
+ implemented. This is needed to support RTF and RTFD.
+ (WebKit::WebEditorClient::setInsertionPasteboard): Added but not implemented.
+ This is needed only to support Mail on the Mac.
+ * WebProcess/WebPage/WebPage.cpp: Added all the stub methods.
+ (WebKit::WebPage::selectAll):
+ (WebKit::WebPage::copy):
+ (WebKit::WebPage::cut):
+ (WebKit::WebPage::paste):
+ (WebKit::WebPage::didReceiveMessage): Modified to handle the new messages from
+ the UI process.
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-16 Eric Uhrhane <ericu@chromium.org>
+
+ Reviewed by Jian Li.
+
+ Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
+ https://bugs.webkit.org/show_bug.cgi?id=45798
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-09-15 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2 should be able to encode and decode objects of type APIObject::TypeURL.
+ https://bugs.webkit.org/show_bug.cgi?id=45819
+
+ * Shared/UserMessageCoders.h:
+ Add the ability to encode and decode the URL type.
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+2010-09-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Add user message coding for WebUInt64 type.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+2010-09-15 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ We should save messages that can't be sent when postMessageToInjectedBundle is called and
+ send them in ensureWebProcess.
+ https://bugs.webkit.org/show_bug.cgi?id=45822
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ Post any messages to the Injected Bundle that couldn't be sent earlier because the
+ WebProcess hadn't been initialized yet.
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ * UIProcess/WebContext.h:
+
+2010-09-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8214099> Mousewheel scrolling in WebKit2 is wonky
+
+ Use floats so that fractional scrollwheel deltas don't get lost.
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebWheelEvent):
+
+2010-09-15 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Add WKUInt64Ref wrapper for sending uint64_ts.
+
+ * Shared/APIObject.h:
+ * Shared/WebNumber.h:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKNumber.cpp:
+ (WKUInt64GetTypeID):
+ (WKUInt64Create):
+ (WKUInt64GetValue):
+ (WKUInt64SetValue):
+ * UIProcess/API/C/WKNumber.h:
+
+2010-09-15 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=44715
+ maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
+
+ Move geometry flipping to platform-specific code.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformInit):
+
+2010-09-14 Jia Pu <jpu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Only intercept ESC key press when autocorrection UI is visible.
+ https://bugs.webkit.org/show_bug.cgi?id=45071
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class.
+
+2010-09-14 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * win/WebKit2Generated.make:
+
+2010-09-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Remove WKBundleNodeRef, replacing uses with WKBundleNodeHandleRef.
+ https://bugs.webkit.org/show_bug.cgi?id=45785
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Remove files.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Removed.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp:
+ (WKBundleRangeCopyStartContainer):
+ (WKBundleRangeCopyEndContainer):
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
+ Change to be in terms of WKBundleNodeHandleRef.
+
+2010-09-14 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Exceptions are getting ignored on 64-bit Windows in the Web Process
+ https://bugs.webkit.org/show_bug.cgi?id=45779
+
+ * WebProcess/WebKitMain.cpp:
+ (disableProcessCallbackFilterForExceptions):
+ Clear the PROCESS_CALLBACK_FILTER_ENABLED flag so that exceptions thrown in callback routines
+ are not ignored, as described in http://support.microsoft.com/kb/976038 and
+ http://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/.
+ (WebKitMain):
+
+2010-09-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correction, no review.
+
+ * win/WebKit2.vcproj: Disable build for Cairo targets of
+ the WebURLRequestWin.cpp and WebURLResponseWin.cpp files.
+
+2010-09-14 Eric Seidel <eric@webkit.org>
+
+ Unreviewed, reverting changes r67451 and r67451.
+ Broke lots of builders.
+
+ Only intercept ESC key press when autocorrection UI is visible.
+ https://bugs.webkit.org/show_bug.cgi?id=45071
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::dismissCorrectionPanel):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+
+2010-09-14 Jia Pu <jpu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Only intercept ESC key press when autocorrection UI is visible.
+ https://bugs.webkit.org/show_bug.cgi?id=45071
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::isShowingCorrectionPanel): Dummy implementation.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Adopt new method delcared in base class.
+
+2010-09-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ URL in address bar doesn't update when navigating to http://webkit.org/new-bug when using WebKit2
+ <rdar://problem/8272775>
+ https://bugs.webkit.org/show_bug.cgi?id=45729
+
+ Pass an updated provisional url while notifying the UIProcess of
+ didReceiveServerRedirectForProvisionalLoadForFrame.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+
+2010-09-13 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+
+2010-09-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Threaded mode should work in WebKit2 MiniBrowser
+ https://bugs.webkit.org/show_bug.cgi?id=45727
+
+ - Make starting the web thread more like starting a new
+ process (encapsulate it in a thread launcher class).
+ - Make the call to didFinishLaunching asynchronous so that
+ WebProcess is fully constructed before it is called.
+
+ * Platform/WorkItem.h:
+ (MemberFunctionWorkItem1::MemberFunctionWorkItem1):
+ (MemberFunctionWorkItem1::~MemberFunctionWorkItem1):
+ (MemberFunctionWorkItem1::execute):
+ (WorkItem::create):
+ * UIProcess/Launcher/ProcessLauncher.h:
+ * UIProcess/Launcher/ThreadLauncher.cpp: Added.
+ (WebKit::ThreadLauncher::ThreadLauncher):
+ (WebKit::ThreadLauncher::launchThread):
+ (WebKit::ThreadLauncher::didFinishLaunchingThread):
+ (WebKit::ThreadLauncher::invalidate):
+ * UIProcess/Launcher/ThreadLauncher.h: Added.
+ (WebKit::ThreadLauncher::Client::~Client):
+ (WebKit::ThreadLauncher::create):
+ (WebKit::ThreadLauncher::isLaunching):
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::terminateProcess):
+ * UIProcess/Launcher/mac/ThreadLauncherMac.mm: Added.
+ (WebKit::webThreadBody):
+ (WebKit::ThreadLauncher::createWebThread):
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Added.
+ (WebKit::webThreadBody):
+ (WebKit::ProcessLauncher::createWebThread):
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ * UIProcess/Launcher/win/ThreadLauncherWin.cpp: Added.
+ (WebKit::webThreadBody):
+ (WebKit::ProcessLauncher::createWebThread):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ (WebKit::WebProcessProxy::connect):
+ (WebKit::WebProcessProxy::isLaunching):
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ * UIProcess/WebProcessProxy.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-09-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ didFinishDocumentLoadForFrame() is not being sent by WebKit2
+ <rdar://problem/8424171>
+
+ Finish wiring up didFinishDocumentLoad to the UIProcess.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+
+2010-09-13 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Paste should be implemented in WebCore like Copy and Cut for Mac also.
+ https://bugs.webkit.org/show_bug.cgi?id=45494
+ <rdar://problem/7660537>
+
+ On the Mac platform, the implementation of the paste operation is all done
+ at the WebKit level. In order to support it on WebKit2 it is necessary to
+ refactor the code and move this functionality at the level of WebCore like
+ we already have on Windows.
+ The original code relies on some in AppKit functions that call back into
+ WebKit causing problems in WebKit2. All this functionality has been moved
+ at the level of the editor client where it can be dealt with appropriately.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::documentFragmentFromAttributedString): Added.
+ (WebKit::WebEditorClient::setInsertionPasteboard): Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::canShowMIMETypeAsHTML): Added.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-09-11 Daniel Bates <dbates@rim.com>
+
+ Attempt to fix the Qt Linux Release build after changeset 67312 <http://trac.webkit.org/changeset/67312>.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Add missing ',' in WKPageUIClient initialization list.
+
+2010-09-11 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Sam Weinig.
+
+ Make SecurityOrigin::canDisplay an instance function
+ https://bugs.webkit.org/show_bug.cgi?id=45219
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performFrameLoadURLRequest):
+
+2010-09-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Implement WebKit2 callback equivalent to - [WebUIDelegate webView:setStatusText:]
+ <rdar://problem/8359252>
+ https://bugs.webkit.org/show_bug.cgi?id=45605
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::setStatusText):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::setStatusText):
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setStatusbarText):
+
+2010-09-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add callback mechanism for the getting the source of a frame
+ <rdar://problem/8364681>
+ https://bugs.webkit.org/show_bug.cgi?id=45604
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetSourceForFrame):
+ (callGetSourceForFrameBlockBlockAndDispose):
+ (WKPageGetSourceForFrame_b):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::getSourceForFrame):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didGetSourceForFrame):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::source):
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::getSourceForFrame):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Add NetworkingContext to avoid layer violations
+ https://bugs.webkit.org/show_bug.cgi?id=42292
+
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp:
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
+ (WebFrameNetworkingContext::create):
+
+2010-09-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add zoom support to WebKit2 API
+ <rdar://problem/7660657>
+ https://bugs.webkit.org/show_bug.cgi?id=45585
+
+ - Add UIProcess API for setting zoom factors.
+ - Change bundle zoom API to be in terms of doubles
+ for consistency.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetTextZoomFactor):
+ (WKPageSetTextZoomFactor):
+ (WKPageGetPageZoomFactor):
+ (WKPageSetPageZoomFactor):
+ (WKPageSetPageAndTextZoomFactors):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::setTextZoomFactor):
+ (WebKit::WebPageProxy::setPageZoomFactor):
+ (WebKit::WebPageProxy::setPageAndTextZoomFactors):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::textZoomFactor):
+ (WebKit::WebPageProxy::pageZoomFactor):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetTextZoomFactor):
+ (WKBundlePageSetTextZoomFactor):
+ (WKBundlePageGetPageZoomFactor):
+ (WKBundlePageSetPageZoomFactor):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::textZoomFactor):
+ (WebKit::WebPage::setTextZoomFactor):
+ (WebKit::WebPage::pageZoomFactor):
+ (WebKit::WebPage::setPageZoomFactor):
+ (WebKit::WebPage::setPageAndTextZoomFactors):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Andreas Kling.
+
+ Application cache directory should be checked before sending to the web process
+ https://bugs.webkit.org/show_bug.cgi?id=45462
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::WebProcessProxy): Check the return value of
+ m_context->applicationCacheDirectoy() to avoid sending a null string
+ to the web process what makes it asserting.
+
+2010-09-10 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
+ Precursor to <rdar://problem/7660657>
+ https://bugs.webkit.org/show_bug.cgi?id=45522
+
+ Now that WebCore doesn't require a mode, change the bundle API for zoom to not
+ require one either.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageStopLoading):
+ (WKBundlePageGetTextZoomFactor):
+ (WKBundlePageSetTextZoomFactor):
+ (WKBundlePageGetPageZoomFactor):
+ (WKBundlePageSetPageZoomFactor):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::textZoomFactor):
+ (WebKit::WebPage::setTextZoomFactor):
+ (WebKit::WebPage::pageZoomFactor):
+ (WebKit::WebPage::setPageZoomFactor):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] Implement port specific part of WebKit::InjectedBundle
+ https://bugs.webkit.org/show_bug.cgi?id=45541
+
+ * WebProcess/InjectedBundle/InjectedBundle.h: Typedef PlatformBundle as QLibrary for qt.
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ (WebKit::InjectedBundle::load): Implemented.
+
+2010-09-10 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] MiniBrowser crashes with multiply windows when closing one of them
+ https://bugs.webkit.org/show_bug.cgi?id=45536
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::~QWKPage): Do not call WKPageTerminate since this is designed
+ to terminate the web process. We are correctly detaching the page without
+ this call anyway.
+
+2010-09-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ Move code from WebKit-layer to DocumentLoader
+ https://bugs.webkit.org/show_bug.cgi?id=45569
+
+ This code looks copy/pasted from Mac. It's unclear whether whether all
+ the complexity is needed here, but I don't have a good way to find out.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::committedLoad):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2010-09-10 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Mark Rowe and Darin Adler.
+
+ Set the visible name for the web process
+ https://bugs.webkit.org/show_bug.cgi?id=45564
+ <rdar://problem/8416970>
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::processName):
+ Add a thread safe implementation of -[NSProcessInfo processName].
+
+ (WebKit::ProcessLauncher::launchProcess):
+ Pass the process name to the child process.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ Set the visible name.
+
+2010-09-10 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Main resource bytes shouldn't bounce through FrameLoader
+ https://bugs.webkit.org/show_bug.cgi?id=45496
+
+ Now return the bytes to the DocumentLoader.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::receivedData):
+
+2010-09-10 Adam Roben <aroben@apple.com>
+
+ Don't crash when a frame is destroyed after the UI process has
+ disconnected
+
+ Fixes <http://webkit.org/b/45535> <rdar://problem/8412928> Crash in
+ WebProcess::removeWebFrame on exit with WebKit2 (Release builds only)
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::removeWebFrame): Null-check m_connection before
+ dereferencing it.
+
+2010-09-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Scrollbars fail to render in composited iframes.
+ https://bugs.webkit.org/show_bug.cgi?id=45335
+
+ Use LocalWindowsContext when painting the plugin.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformPaint):
+
+2010-09-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Allow passing WebDoubles via postMessage.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+
+2010-09-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2 needs a way to box numbers (for Array, Dictionary, etc.)
+ <rdar://problem/8408844>
+ https://bugs.webkit.org/show_bug.cgi?id=45429
+
+ This adds a generic WebNumber class that can be used for any scalar
+ numeric type. Right now, we are only exposing a double version, but it
+ is designed to allow more.
+
+ * Shared/APIObject.h:
+ * Shared/WebNumber.h: Added.
+ (WebKit::WebNumber::create):
+ (WebKit::WebNumber::value):
+ (WebKit::WebNumber::setValue):
+ (WebKit::WebNumber::WebNumber):
+ (WebKit::WebNumber::type):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKNumber.cpp: Added.
+ (WKDoubleGetTypeID):
+ (WKDoubleCreate):
+ (WKDoubleGetValue):
+ (WKDoubleSetValue):
+ * UIProcess/API/C/WKNumber.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-08 Anders Carlsson <andersca@apple.com>
+
+ Don't include the std namespace in a header. This hopefully fixes the Windows build.
+
+ * Shared/WebCoreArgumentCoders.h:
+
+2010-09-08 Anders Carlsson <andersca@apple.com>
+
+ Suggested and reviewed by Darin Adler.
+
+ Fix an overflow bug in bufferIsLargeEnoughToContain.
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
+
+2010-09-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Improve CoreIPC encoding of strings
+ https://bugs.webkit.org/show_bug.cgi?id=45418
+
+ Encode and decode null Strings. Check that the string length isn't bogus.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
+ * Shared/WebCoreArgumentCoders.h:
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Add a way to cause the web process to crash at a random time
+
+ Setting the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable
+ will cause the web process to crash at a random point up to 3 minutes
+ after launching.
+
+ Fixes <http://webkit.org/b/43058> <rdar://problem/8240150>
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::sleep): Added an implementation of this function for Windows.
+ It just calls through to ::Sleep.
+ (WebKit::randomCrashThread): Added. Sleeps for a random amount of time
+ up to 3 minutes, then crashes.
+ (WebKit::startRandomCrashThreadIfRequested): Added. Starts the crash
+ thread if the WEBKIT2_CRASH_WEB_PROCESS_RANDOMLY environment variable
+ is set.
+ (WebKit::WebProcess::initialize): Added a call to
+ startRandomCrashThreadIfRequested.
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Fix potential ref-counting issues with WorkItemWin
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/WorkQueue.h: Changed WorkItemWin to inherit from
+ ThreadSafeShared instead of RefCounted so that its ref-count will stay
+ consistent when used on multiple threads.
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Teach WorkQueue how to stop waiting on objects on Windows
+
+ WorkQueue now uses a subclass of WorkItemWin, HandleWorkItem, to hold
+ the waited-upon HANDLE and its corresponding wait handle. When a
+ HANDLE is unregistered, we use the HandleWorkItem to cancel the wait
+ and destroy the HANDLE.
+
+ Fixes <http://webkit.org/b/42826> <rdar://problem/8222253> Crash in
+ thread pool because WorkQueue keeps waiting on closed HANDLEs
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInvalidate): Changed to call
+ WorkQueue::unregisterAndCloseHandle instead of closing our handles
+ manually.
+
+ (CoreIPC::Connection::readEventHandler):
+ (CoreIPC::Connection::writeEventHandler):
+ Handle cases where the pipe has already closed by just bailing out.
+ This can happen if a WorkItem to call one of these functions has
+ already been scheduled before platformInvalidate is called.
+
+ * Platform/WorkQueue.h: Gave WorkItemWin a virtual destructor, added
+ HandleWorkItem, changed m_handles to hold HandleWorkItems, and added
+ functions for unregistering waits.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::WorkItemWin::~WorkItemWin): Added. This virtual destructor
+ ensures that HandleWorkItem's destructor gets called.
+
+ (WorkQueue::HandleWorkItem::HandleWorkItem):
+ (WorkQueue::HandleWorkItem::createByAdoptingHandle):
+ Added simple constructor/creator.
+
+ (WorkQueue::HandleWorkItem::~HandleWorkItem): Closes the handle we
+ adopted.
+ (WorkQueue::registerHandle): Changed to create a HandleWorkItemWin and
+ to store the wait handle in it.
+ (WorkQueue::unregisterAndCloseHandle): Added. Removes the
+ HandleWorkItem for this HANDLE from m_handles and then schedules its
+ wait to be unregistered and the item to be destroyed.
+ (WorkQueue::platformInvalidate): Added an assertion and removed an
+ obsolete FIXME.
+ (WorkQueue::unregisterWaitAndDestroyItemSoon): Added. Calls
+ unregisterWaitAndDestroyItemCallback on a worker thread, passing it
+ ownership of the HandleWorkItem.
+ (WorkQueue::unregisterWaitAndDestroyItemCallback): Added. Adopts the
+ passed-in HandleWorkItem, then unregisters the handle's wait, then
+ destroys the HandleWorkItem when the RefPtr holding it goes out of
+ scope. Destroying the HandleWorkItem closes the handle.
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Remove WKSerializedScriptValue.cpp/h from the Copy Files build phase
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Get rid of WorkQueue::m_performWorkEvent
+
+ We were signaling m_performWorkEvent to spawn a worker thread. We can
+ use ::QueueUserWorkItem to spawn the thread instead.
+
+ Fixes <http://webkit.org/b/45407> WorkQueue::m_performWorkEvent is
+ unnecessary
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/WorkQueue.h: Removed m_performWorkEvent.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::workThreadCallback): Replaced eventCallback with this
+ function. Its functionality is unchanged.
+
+ (WorkQueue::platformInitialize):
+ (WorkQueue::platformInvalidate):
+ Removed code to set up and clean up m_performWorkEvent.
+
+ (WorkQueue::scheduleWork): Use ::QueueUserWorkItem instead of
+ signaling m_performWorkEvent to spawn a worker thread.
+
+2010-09-08 Adam Roben <aroben@apple.com>
+
+ Fix WebKit2Common.vsprops line-endings
+
+ * win/WebKit2Common.vsprops: Made all line-endings be CRLF, as this is
+ the format Visual Studio wants.
+
+2010-09-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Support SerializedScriptValue in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=45340
+
+ Add wrappers and IPC serialization for SerializedScriptValue
+
+ * Shared/APIObject.h:
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ * Shared/WebSerializedScriptValue.h: Added.
+ (WebKit::WebSerializedScriptValue::create):
+ (WebKit::WebSerializedScriptValue::adopt):
+ (WebKit::WebSerializedScriptValue::deserialize):
+ (WebKit::WebSerializedScriptValue::data):
+ (WebKit::WebSerializedScriptValue::WebSerializedScriptValue):
+ (WebKit::WebSerializedScriptValue::type):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKSerializedScriptValue.cpp: Added.
+ (WKSerializedScriptValueGetTypeID):
+ (WKSerializedScriptValueCreate):
+ (WKSerializedScriptValueDeserialize):
+ * UIProcess/API/C/WKSerializedScriptValue.h: Added.
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-09-08 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Would like WKBundleFrameRef to turn into WKFrameRef across postMessage boundary, a la PageRef
+ <rdar://problem/8402804>
+ https://bugs.webkit.org/show_bug.cgi?id=45370
+
+ * UIProcess/WebContextUserMessageCoders.h:
+ (WebKit::WebContextUserMessageEncoder::encode):
+ (WebKit::WebContextUserMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
+ (WebKit::InjectedBundleUserMessageEncoder::encode):
+ (WebKit::InjectedBundleUserMessageDecoder::decode):
+
+2010-09-07 Kinuko Yasuda <kinuko@chromium.org>
+
+ Unreviewed, another Qt release build fix attempt.
+
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+
+2010-09-07 Kinuko Yasuda <kinuko@chromium.org>
+
+ Unreviewed, attempt to fix Qt release build.
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+
+2010-09-07 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correction, no review.
+
+ * win/WebKit2.vcproj: Disable two unused files for
+ the WinCairo target.
+
+2010-09-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix clang++ build.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Move all functions into the WebKit namespace.
+
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ Add using namespace WebKit.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ Move all functions into the WebKit namespace.
+
+2010-09-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
+
+ Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
+
+ * Configurations/Base.xcconfig:
+
+2010-09-07 Sam Weinig <sam@webkit.org>
+
+ Another windows fix.
+
+ * UIProcess/win/WebView.cpp:
+
+2010-09-07 Sam Weinig <sam@webkit.org>
+
+ Try and fix windows.
+
+ * UIProcess/WebEditCommandProxy.h:
+
+2010-09-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix incorrect parameter name.
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+
+2010-09-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add support for Undo/Redo
+ <rdar://problem/7660519>
+ https://bugs.webkit.org/show_bug.cgi?id=42781
+
+ Adds platform independent parts of Undo/Redo support and the mac
+ platform support.
+
+ To work around the common assumption made by platforms, that a redo
+ item will be added synchronously while an undo is in progress, we
+ ignore the calls from WebCore to add redo items, and instead add add
+ them after telling WebCore to unapply the EditCommand. We similarly
+ need to ignore undos, that take place during a redo, and force the
+ addition ourselves.
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ Add new messages.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (-[WebEditCommandObjC initWithWebEditCommandProxy:WebKit::]):
+ (-[WebEditCommandObjC WebKit::]):
+ (-[WebEditorUndoTargetObjC undoEditing:]):
+ (-[WebEditorUndoTargetObjC redoEditing:]):
+ (WebKit::PageClientImpl::PageClientImpl):
+ (WebKit::nameForEditAction):
+ (WebKit::PageClientImpl::registerEditCommand):
+ (WebKit::PageClientImpl::clearAllEditCommands):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::registerEditCommand):
+ (QWKPagePrivate::clearAllEditCommands):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::registerEditCommand):
+ (WebKit::WebView::clearAllEditCommands):
+ * UIProcess/win/WebView.h:
+ Add platform specific hooks for undo/redo.
+
+ * UIProcess/WebEditCommandProxy.cpp: Added.
+ (WebKit::WebEditCommandProxy::WebEditCommandProxy):
+ (WebKit::WebEditCommandProxy::~WebEditCommandProxy):
+ (WebKit::WebEditCommandProxy::unapply):
+ (WebKit::WebEditCommandProxy::reapply):
+ * UIProcess/WebEditCommandProxy.h: Added.
+ (WebKit::WebEditCommandProxy::create):
+ (WebKit::WebEditCommandProxy::commandID):
+ (WebKit::WebEditCommandProxy::editAction):
+ (WebKit::WebEditCommandProxy::invalidate):
+ A proxy for the WebEditCommands in the WebProcess. These are owned
+ by the platform back/forward list, with a weak reference back to the
+ WebPageProxy (which holds a weakset of live WebEditCommandProxys).
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::registerEditCommandForUndo):
+ (WebKit::WebPageProxy::clearAllEditCommands):
+ (WebKit::WebPageProxy::registerEditCommandForRedo):
+ (WebKit::WebPageProxy::addEditCommand):
+ (WebKit::WebPageProxy::removeEditCommand):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ Forward messages.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::registerCommandForUndo):
+ (WebKit::WebEditorClient::registerCommandForRedo):
+ (WebKit::WebEditorClient::clearUndoRedoOperations):
+ Send undo/redo registration and clearing to the UIProcess.
+
+ * WebProcess/WebPage/WebEditCommand.cpp: Added.
+ (WebKit::generateCommandID):
+ (WebKit::WebEditCommand::WebEditCommand):
+ * WebProcess/WebPage/WebEditCommand.h: Added.
+ (WebKit::WebEditCommand::create):
+ (WebKit::WebEditCommand::command):
+ (WebKit::WebEditCommand::commandID):
+ Wrapper for WebCore::EditCommand, with an added unique ID.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::webEditCommand):
+ (WebKit::WebPage::addWebEditCommand):
+ (WebKit::WebPage::removeWebEditCommand):
+ (WebKit::WebPage::unapplyEditCommand):
+ (WebKit::WebPage::reapplyEditCommand):
+ (WebKit::WebPage::didRemoveEditCommand):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::isInRedo):
+ Forward messages.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-09-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Indicate which one of the ScriptWorlds for a Frame the Window Object has been cleared for
+ https://bugs.webkit.org/show_bug.cgi?id=45217
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
+
+2010-09-06 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Rename SecurityOrigin::canLoad to canDisplay
+ https://bugs.webkit.org/show_bug.cgi?id=45214
+
+ Propagate name change.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performFrameLoadURLRequest):
+
+2010-09-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Allow passing null to postMessage API functions
+ https://bugs.webkit.org/show_bug.cgi?id=45234
+
+ * Shared/APIObject.h: Add TypeNull to enum. This is only used
+ for serialization purposes, and does not represent a concrete subclass
+ of APIObject.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Remove WillSubmitFormWithUserData
+ now that it is not needed.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ Add explicit encoding/decoding of null for user messages.
+
+ * UIProcess/WebContextUserMessageCoders.h:
+ (WebKit::WebContextUserMessageEncoder::encode):
+ (WebKit::WebContextUserMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
+ (WebKit::InjectedBundleUserMessageEncoder::encode):
+ (WebKit::InjectedBundleUserMessageDecoder::decode):
+ Update UserMessageCoders subclasses to call the base class in the correct
+ way to work with null messages. This means moving the encoding/decoding
+ of the type down to the base class, which is a nice cleanup.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ Remove now redundant WillSubmitFormWithUserData implementation.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ Ditto.
+
+2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Add NetworkingContext to avoid layer violations
+ https://bugs.webkit.org/show_bug.cgi?id=42292
+
+ Add FrameNetworkingContext implementation.
+
+ * WebKit2.pro:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createNetworkingContext):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+ * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
+ (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks):
+ (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled):
+ (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
+ (WebKit::WebFrameNetworkingContext::blockedError):
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp: Added.
+ (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
+ (WebCore::WebFrameNetworkingContext::create):
+ (WebCore::WebFrameNetworkingContext::originatingObject):
+ (WebCore::WebFrameNetworkingContext::networkAccessManager):
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h: Added.
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Added.
+ * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Added.
+ (WebFrameNetworkingContext::create):
+ (WebFrameNetworkingContext::WebFrameNetworkingContext):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Common.vsprops:
+
+2010-09-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add ability to send UserData to willSubmitForm
+ https://bugs.webkit.org/show_bug.cgi?id=45222
+
+ - Adds a willSubmitForm callback to the BundlePageFormClient with an out
+ parameter WKTypeRef* parameter.
+ - That out parameter gets serialized and then passed to the PageFormClient's
+ willSubmitForm, which now has WKTypeRef parameter.
+
+ - Temporarily adds a new WillSubmitFormWithUserData message kind. This will
+ be replaced by the ability to explicitly serialize null as a UserMessage.
+
+ * Platform/CoreIPC/Arguments.h:
+ (CoreIPC::Arguments6::Arguments6):
+ (CoreIPC::Arguments6::encode):
+ (CoreIPC::Arguments6::decode):
+ (CoreIPC::In):
+ (CoreIPC::Out):
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::willSubmitForm):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
+ (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
+ (WebKit::InjectedBundlePageFormClient::willSubmitForm):
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+
+2010-09-03 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Change WKDictionaryIsMutable to take a WKDictionaryRef instead of a WKMutableDictionaryRef.
+ If the type is already states it is mutable, there would be no reason for the check.
+
+ * UIProcess/API/C/WKMutableDictionary.cpp:
+ (WKDictionaryIsMutable):
+ * UIProcess/API/C/WKMutableDictionary.h:
+
+2010-09-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to send WKDictionaryRefs via post message.
+ https://bugs.webkit.org/show_bug.cgi?id=45151
+
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::ImmutableDictionary):
+ * Shared/ImmutableDictionary.h:
+ (WebKit::ImmutableDictionary::adopt): Remove tag, it wasn't doing anything.
+ (WebKit::ImmutableDictionary::isMutable):
+ (WebKit::ImmutableDictionary::map): Add accessor of internal
+ map for encoder.
+
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageDecoder::baseDecode):
+ Add encoder/decoder.
+
+2010-09-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Share the common parts of UserMessage coding between both processes.
+ https://bugs.webkit.org/show_bug.cgi?id=45139
+
+ Add base classes UserMessageEncoder and UserMessageDecoder which implement
+ encoding/decoding of ImmutableArray and String (soon to be others as well, such
+ as ImmutableDictionary, Data, etc.) and add derived classes which implement the
+ process specific bits such as Page -> BundlePage conversion.
+
+ * Shared/UserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp.
+ (WebKit::UserMessageEncoder::baseEncode):
+ (WebKit::UserMessageEncoder::UserMessageEncoder):
+ (WebKit::UserMessageDecoder::baseDecode):
+ (WebKit::UserMessageDecoder::UserMessageDecoder):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ (WebKit::WebContext::didReceiveMessage):
+ * UIProcess/WebContextUserMessageCoders.h: Copied from UIProcess/WebContext.cpp.
+ (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
+ (WebKit::WebContextUserMessageEncoder::encode):
+ (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder):
+ (WebKit::WebContextUserMessageDecoder::decode):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Copied from WebProcess/InjectedBundle/InjectedBundle.cpp.
+ (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder):
+ (WebKit::InjectedBundleUserMessageEncoder::encode):
+ (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder):
+ (WebKit::InjectedBundleUserMessageDecoder::decode):
+ * win/WebKit2.vcproj:
+
+2010-09-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Simplify ownership semantics of some WebKit2 types
+ https://bugs.webkit.org/show_bug.cgi?id=45120
+
+ - Make ImmutableArray and MutableArray use a Vector<RefPtr<APIObject> > and
+ therefore ref any items it takes in.
+ - Make the PostMessageDecoder operate on a RefPtr<APIObject>& to avoid the odd
+ leaking semantics.
+
+ * Shared/ImmutableArray.cpp:
+ (WebKit::ImmutableArray::ImmutableArray): This constructor now uses a for-loop
+ instead of memcpy to ref each item.
+ (WebKit::ImmutableArray::~ImmutableArray): No longer necessary to manually deref.
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::adopt):
+ (WebKit::ImmutableArray::at):
+ Changes to accommodate entries being changed to a Vector<RefPtr<APIObject> >.
+
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::keys):
+ Build a Vector<RefPtr<APIObject> >.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ Ditto.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ (WebKit::WebContext::didReceiveMessage):
+ APIObject>& to avoid the odd leaking semantics.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ (WebKit::InjectedBundle::didReceiveMessage):
+ Ditto.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::childFrames):
+ Build a Vector<RefPtr<APIObject> >.
+
+2010-09-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add WKMutableDictionary API for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=45117
+
+ Add WKMutableDictionary API that inherits from WKDictionaryRef
+ the same way WKMutableArrayRef inherits from WKArrayRef.
+
+ * Shared/ImmutableDictionary.h:
+ (WebKit::ImmutableDictionary::get):
+ (WebKit::ImmutableDictionary::isMutable):
+ * Shared/MutableDictionary.cpp: Added.
+ (WebKit::MutableDictionary::MutableDictionary):
+ (WebKit::MutableDictionary::~MutableDictionary):
+ (WebKit::MutableDictionary::add):
+ (WebKit::MutableDictionary::set):
+ * Shared/MutableDictionary.h: Added.
+ (WebKit::MutableDictionary::create):
+ (WebKit::MutableDictionary::isMutable):
+ * UIProcess/API/C/WKAPICast.h:
+ (toWK):
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKMutableDictionary.cpp: Added.
+ (WKMutableDictionaryCreate):
+ (WKDictionaryIsMutable):
+ (WKDictionaryAddItem):
+ (WKDictionarySetItem):
+ * UIProcess/API/C/WKMutableDictionary.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-02 Jessie Berlin <jberlin@apple.com>
+
+ Windows build fix. Unreviewed.
+
+ * UIProcess/API/win/WKAPICastWin.h:
+ (toWK):
+ * UIProcess/API/win/WKBaseWin.h:
+
+2010-09-01 Jia Pu <jpu@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Add support for autocorrection UI on Mac OS X.
+ https://bugs.webkit.org/show_bug.cgi?id=44958
+ <rdar://problem/7326847>
+
+ See detailed high level description in WebCore/ChangeLog.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::showCorrectionPanel): Dummy implementation.
+ (WebKit::WebEditorClient::dismissCorrectionPanel): Ditto
+
+ * WebProcess/WebCoreSupport/WebEditorClient.h: Added new methods declared in base class.
+
+2010-09-01 Sam Weinig <sam@webkit.org>
+
+ Fix the build.
+
+ As with CF, const struct OpaqueType* should be the default type
+ so that const_casts are not necessary in user code.
+
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayCreate):
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKType.cpp:
+ (WKGetTypeID):
+ (WKRetain):
+ (WKRelease):
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (toWK):
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+
+2010-09-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add mutable array API to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=45082
+
+ Add a mutable API to WebKit2 called WKMutableArrayRef. Make it "inherit" from
+ WKArrayRef in the same way JSObjectRef can inherit from JSValueRef in the JSC
+ API, by abusing the c type system (WKArrayRef is defined as a const version of
+ WKMutableArrayRef). Add very basic mutable API to go along with it.
+
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::isMutable):
+ Add ability to ask it an array is mutable.
+
+ * Shared/MutableArray.cpp: Added.
+ (WebKit::MutableArray::MutableArray):
+ (WebKit::MutableArray::~MutableArray):
+ (WebKit::MutableArray::append):
+ * Shared/MutableArray.h: Added.
+ (WebKit::MutableArray::create):
+ (WebKit::MutableArray::isMutable):
+ Sketch out the mutable array interface.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toWK):
+ Now that the opaque types can be const, use template magic to const_cast
+ it away.
+
+ * UIProcess/API/C/WKBase.h:
+ Add new type and re-type WKArrayRef as const.
+
+ * UIProcess/API/C/WKMutableArray.cpp: Added.
+ (WKMutableArrayCreate):
+ (WKArrayIsMutable):
+ (WKArrayAppendItem):
+ * UIProcess/API/C/WKMutableArray.h: Added.
+ Fill in basic API.
+
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add files.
+
+2010-09-01 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement PluginInfoStore for UNIX
+ https://bugs.webkit.org/show_bug.cgi?id=45038
+
+ This implementation is generally just reusing the logic in WebCore since
+ there is no way to get informations from a UNIX plugin without loading it
+ - in contrast to mac bundles and windows dll-s.
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ (WebKit::PluginInfoStore::pluginPathsInDirectory):
+ (WebKit::PluginInfoStore::getPluginInfo):
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+
+2010-09-01 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Allow the web process to load frameworks other than WebKit2.framework from the build directory
+ when running engineering builds.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain): Pass the path containing WebKit2.framework to the sandbox rather than
+ the path of the WebKit2.framework itself.
+
+2010-09-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Change ImmutableArray to be backed by a Vector
+ https://bugs.webkit.org/show_bug.cgi?id=45064
+
+ Change ImmutableArray to be backed by a Vector to work toward having
+ a mutable subclass and to improve the API when working with it in WebKit2
+ itself.
+
+ - Also remove WKArrayCreateAdoptingValues which was confusing and unused.
+
+ * Shared/ImmutableArray.cpp:
+ (WebKit::ImmutableArray::ImmutableArray):
+ (WebKit::ImmutableArray::~ImmutableArray):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::adopt):
+ (WebKit::ImmutableArray::at):
+ (WebKit::ImmutableArray::size):
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::keys):
+ * UIProcess/API/C/WKArray.cpp:
+ * UIProcess/API/C/WKArray.h:
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ * UIProcess/WebContext.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::childFrames):
+
+2010-09-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add URLResponse API for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=45062
+
+ Add WebURLResponse class and WKURLResponseRef C API to go with it. Right now,
+ instance of WKURLResponseRef are manipulated via platform types just like
+ WKURLRequestRef.
+
+ This just adds the type and conversion functions, no uses yet.
+
+ * Shared/APIObject.h:
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebURLResponse.cpp: Added.
+ (WebKit::WebURLResponse::WebURLResponse):
+ * Shared/WebURLResponse.h: Added.
+ (WebKit::WebURLResponse::create):
+ (WebKit::WebURLResponse::resourceResponse):
+ (WebKit::WebURLResponse::type):
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::encodeWithNSKeyedArchiver):
+ (CoreIPC::decodeWithNSKeyedArchiver):
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * Shared/mac/WebURLResponseMac.mm: Added.
+ (WebKit::WebURLResponse::WebURLResponse):
+ (WebKit::WebURLResponse::platformResponse):
+ * Shared/qt/WebURLResponseQt.cpp: Added.
+ (WebKit::WebURLResponse::WebURLResponse):
+ (WebKit::WebURLResponse::platformResponse):
+ * Shared/win/WebURLResponseWin.cpp: Added.
+ (WebKit::WebURLResponse::WebURLResponse):
+ (WebKit::WebURLResponse::platformResponse):
+ * UIProcess/API/C/WKURLResponse.cpp: Added.
+ (WKURLResponseGetTypeID):
+ * UIProcess/API/C/WKURLResponse.h: Added.
+ * UIProcess/API/C/cf/WKURLResponseCF.cpp: Added.
+ (WKURLResponseCreateWithCFURLResponse):
+ (WKURLResponseCopyCFURLResponse):
+ * UIProcess/API/C/cf/WKURLResponseCF.h: Added.
+ * UIProcess/API/C/mac/WKURLResponseNS.h: Added.
+ * UIProcess/API/C/mac/WKURLResponseNS.mm: Added.
+ (WKURLResponseCreateWithNSURLResponse):
+ (WKURLResponseCopyNSURLResponse):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-09-01 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Auto-generate WebKit2 forwarding headers
+ https://bugs.webkit.org/show_bug.cgi?id=44692
+
+ * DerivedSources.pro: let the generate-forwarding-headers.pl
+ script generate forwarding headers.
+ * generate-forwarding-headers.pl: Added.
+
+2010-08-31 Dave Hyatt <hyatt@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=44863
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::layoutIfNeeded):
+
+2010-08-31 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Fix some copy/paste errors.
+
+ Reviewed by Steve Falkenburg.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
+ (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
+ Null check the correct callback.
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
+ Ditto.
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
+ Ditto.
+
+2010-08-31 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Crash when closing a page with a form field when using WebKit2.
+
+ Reviewed by Anders Carlsson.
+
+ The crash came from accessing a BundlePageFormClient that had been
+ destroyed. The client was intended to be cleared by a call to
+ WKBundlePageSetFormClient, but a null check there caused it not to be
+ cleared.
+
+ I fixed this and all of the other WK "set client" functions.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetInjectedBundleClient):
+ Return early if the caller passed a client with a version not equal to
+ 0.
+ (WKContextSetHistoryClient):
+ Ditto.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageLoaderClient):
+ Ditto.
+ (WKPageSetPagePolicyClient):
+ Ditto.
+ (WKPageSetPageFormClient):
+ Ditto.
+ (WKPageSetPageUIClient):
+ Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleSetClient):
+ Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetEditorClient):
+ Ditto.
+ (WKBundlePageSetFormClient):
+ Ditto.
+ (WKBundlePageSetLoaderClient):
+ Ditto.
+ (WKBundlePageSetUIClient):
+ Ditto.
+
+2010-08-31 Alexey Proskuryakov <ap@apple.com>
+
+ Build fix.
+
+ * Shared/WebPreferencesStore.h: Actually remove encode(), which has been moved to WebPreferencesStore.cpp.
+
+2010-08-31 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42195
+ <rdar://problem/8186761> WebKitTestRunner needs to support layoutTestController.setXSSAuditorEnabled
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore): Initialize xssAuditorEnabled.
+ (WebKit::WebPreferencesStore::decode): Moved from header, added xssAuditorEnabled.
+ (WebKit::WebPreferencesStore::encode): Ditto.
+ (WebKit::WebPreferencesStore::overrideXSSAuditorEnabledForTestRunner): Set an override, so
+ that decoding a WebPreferencesStore in the process will give the override result. WebProcess
+ doesn't hold to WebPreferencesStore, so there are no existing ones to patch.
+ (WebKit::WebPreferencesStore::removeTestRunnerOverrides): Remove the override.
+
+ * Shared/WebPreferencesStore.h: Added xssAuditorEnabled.
+
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetXSSAuditorEnabled):
+ (WKPreferencesGetXSSAuditorEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ Added an API method to change xssAuditorEnabled preference.
+
+ * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::preferencesDidChange): Added a comment
+ explaining how making this method smarter could affect WebKitTestRunner.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setXSSAuditorEnabled):
+ (WebKit::WebPreferences::xssAuditorEnabled):
+ * UIProcess/WebPreferences.h:
+ Implemented xssAuditorEnabled preference accessors.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleOverrideXSSAuditorEnabledForTestRunner):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ Added a private methods to temporarily change xssAuditor setting from an injected bundle,
+ not notifying UIProcess about the change.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ Change the setting in existing pages, and override it for future ones.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Take xssAuditorEnabled from preferences store.
+ (WebKit::WebPage::preferencesDidChange): If preferences change, forget our override. This only
+ happens in WKRT when the next test begins.
+
+2010-08-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ WebKitTestRunner needs layoutTestController.addUserStyleSheet
+ https://bugs.webkit.org/show_bug.cgi?id=42680
+
+ WebKitTestRunner needs layoutTestController.addUserScript
+ https://bugs.webkit.org/show_bug.cgi?id=42681
+
+ Improve UserContent APIs to allow passing null in the same places
+ the WebKit1 API allowed. Add convenience function toWTFString to do
+ WKStringRef conversion with correct null string behavior.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toWTFString):
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleAddUserScript):
+ (WKBundleAddUserStyleSheet):
+ (WKBundleRemoveUserScript):
+ (WKBundleRemoveUserStyleSheet):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::toStringVector):
+
+2010-08-31 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber stamped by Sam Weinig.
+
+ Remove library directive from def file to fix Debug_All build.
+
+ * win/WebKit2.def:
+
+2010-08-31 Adam Roben <aroben@apple.com>
+
+ Handle WM_PRINTCLIENT in WebKit2 on Windows
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Call through to onPrintClientEvent when we
+ get a WM_PRINTCLIENT message.
+ (WebKit::WebView::onPrintClientEvent): Added. Paints the entire view
+ into the HDC provided by Windows.
+
+ * UIProcess/win/WebView.h: Added onPrintClientEvent.
+
+2010-08-27 Adam Roben <aroben@apple.com>
+
+ Don't send messages to the injected bundle if the web process has
+ exited
+
+ Fixes <http://webkit.org/b/43046> <rdar://problem/8239455> Crash in
+ WKContextPostMessageToInjectedBundle if the web process has exited
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle): Only send messages
+ when we have a valid web process.
+
+2010-08-27 Adam Roben <aroben@apple.com>
+
+ Use the Windows thread pool instead of a dedicated thread for
+ WorkQueue on Windows
+
+ WorkQueue now uses ::RegisterWaitForSingleObject to find out when work
+ items need to be executed. This causes Windows to wait on the objects
+ on a thread pool wait thread, and then to spawn a thread pool worker
+ thread when an object is signaled. This is more efficient than using
+ our own dedicated thread to perform the wait and the work because
+ multiple WorkQueues (and even other parts of WebKit or other modules)
+ can all share the same wait thread and worker thread pool.
+
+ Each time WorkQueue::m_performWorkEvent or any handle in
+ WorkQueue::m_handles is signaled, a worker thread will be spawned.
+ To maintain WorkQueue's serial nature, only one worker thread is
+ allowed to perform work items at a time. (The worker thread that is
+ actually performing work items is called the queue's "work thread".)
+ To accomplish this, worker threads must register as the queue's work
+ thread before performing work items.
+ WorkQueue::m_isWorkThreadRegistered is used as an atomic guard to make
+ sure that only one worker thread is registered at a time.
+
+ Fixes <http://webkit.org/b/43150> <rdar://problem/8247280>.
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/WorkQueue.h:
+ - Added the WorkItemWin class, which is used to wrap WorkItems for
+ WorkQueue's Windows implementation
+ - Changed m_workItemQueue and m_handles to hold
+ RefPtr<WorkItemWin>s
+ - Replaced "work queue thread"-related members with new members that
+ handle our thread pool code
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::WorkItemWin::WorkItemWin):
+ (WorkQueue::WorkItemWin::create):
+ Added simple constructor/creator.
+
+ (WorkQueue::handleCallback): Added. This function is called whenever a
+ handle in WorkQueue::m_handles is signaled. We add the WorkItemWin
+ that corresponds to the handle (passed via the context parameter) to
+ the work item queue, then try to register as the work thread and
+ perform any queued work. If another thread is already registered as
+ the work thread, we just exit and let that thread handle the work we
+ queued.
+ (WorkQueue::registerHandle): Changed to wrap the WorkItem in a
+ WorkItemWin, and to use ::RegisterWaitForSingleObject to wait on the
+ handle.
+ (WorkQueue::eventCallback): Added. This function is called whenever
+ m_performWorkEvent is signaled. We try to register as the work thread
+ and perfom any queued work. If another thread is already registered as
+ the work thread, we just exit and let that thread handle the work.
+ (WorkQueue::performWorkOnRegisteredWorkThread): Added. Performs any
+ queued work in a loop until either the queue becomes invalid or no
+ work is left to perform. Unregisters as the work thread before exiting
+ so that other threads can perform work in the future.
+ (WorkQueue::platformInitialize): Added initialization of
+ m_isWorkThreadRegistered. Replaced code to spawn the old work queue
+ thread with a call to ::RegisterWaitForSingleObject so that a worker
+ thread from the thread pool will be spawned when m_performWorkEvent is
+ signaled.
+ (WorkQueue::tryRegisterAsWorkThread): Added. Attempts an atomic
+ compare-and-swap to change m_isWorkThreadRegistered from 0 to 1. If
+ sucessful, we return true to indicate that this thread is now
+ registered as the work thread.
+ (WorkQueue::unregisterAsWorkThread): Added. Uses an atomic
+ compare-and-swap to change m_isWorkThreadRegistered back from 1 to 0.
+ (WorkQueue::scheduleWork): Changed to wrap the WorkItem in a
+ WorkItemWin. Also added an optimization to avoid signaling
+ m_performWorkEvent when a work thread is already performing work, as
+ it will pick up the item we just queued without us having to do
+ anything.
+
+2010-08-31 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Fix warnings in WebKit2 directory
+ https://bugs.webkit.org/show_bug.cgi?id=44593
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp: Mark unused variables for compiler.
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::WebEventFactory::createWebTouchEvent): Initialize state variable. Default case added.
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
+ (WebKit::toNP): Return initialized NPEvent.
+
+2010-08-31 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Determine application path of MiniBrowser at runtime and use that path
+ for QtWebProcess if the executable exists in that path.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::launch):
+
+2010-08-31 Zoltan Horvath <zoltan@webkit.org>
+
+ Build fix after r66448 on WebKit2.
+
+ [Qt] qt_wk_didFinishDocumentLoadForFrame needs to be implemented
+ https://bugs.webkit.org/show_bug.cgi?id=44934
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_didFinishDocumentLoadForFrame):
+ * UIProcess/API/qt/ClientImpl.h:
+
+2010-08-30 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add missing parts of didFinishDocumentLoadForFrame
+ https://bugs.webkit.org/show_bug.cgi?id=44913
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h: Added new kind
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Updated struct
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame): Added
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Added case for WebPageProxyMessage::DidFinishDocumentLoadForFrame
+ (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): Added
+ * UIProcess/WebPageProxy.h:
+
+ Just rearranging existing code in these:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+
+2010-08-30 Sam Weinig <sam@webkit.org>
+
+ Try and fix the WebKit2 buildbot.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Add missing initialization of QTMovieDisableComponent.
+
+2010-08-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add URLRequest API for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=44910
+
+ Add WebURLRequest class and WKURLRequestRef C API to go with it. Right now,
+ instance of WKURLRequestRef are manipulated via platform types, a la the
+ WKStringRef and WKURLRef types.
+
+ - Pipes WKPageLoadURLRequest through to the WebProcess.
+
+ * Shared/APIObject.h:
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebURLRequest.cpp: Added.
+ (WebKit::WebURLRequest::WebURLRequest):
+ * Shared/WebURLRequest.h: Added.
+ (WebKit::WebURLRequest::create):
+ (WebKit::WebURLRequest::resourceRequest):
+ (WebKit::WebURLRequest::type):
+ * Shared/mac/WebCoreArgumentCodersMac.mm: Added.
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * Shared/mac/WebURLRequestMac.mm: Added.
+ (WebKit::WebURLRequest::WebURLRequest):
+ (WebKit::WebURLRequest::platformRequest):
+ * Shared/qt/WebCoreArgumentCodersQt.cpp: Added.
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * Shared/qt/WebURLRequestQt.cpp: Added.
+ (WebKit::WebURLRequest::WebURLRequest):
+ (WebKit::WebURLRequest::platformRequest):
+ * Shared/win/WebCoreArgumentCodersWin.cpp: Added.
+ (CoreIPC::encodeResourceRequest):
+ (CoreIPC::decodeResourceRequest):
+ * Shared/win/WebURLRequestWin.cpp: Added.
+ (WebKit::WebURLRequest::WebURLRequest):
+ (WebKit::WebURLRequest::platformRequest):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadURLRequest):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKURLRequest.cpp: Added.
+ (WKURLRequestGetTypeID):
+ * UIProcess/API/C/WKURLRequest.h: Added.
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/API/C/cf/WKURLRequestCF.cpp: Added.
+ (WKURLRequestCreateWithCFURLRequest):
+ (WKURLRequestCopyCFURLRequest):
+ * UIProcess/API/C/cf/WKURLRequestCF.h: Added.
+ * UIProcess/API/C/mac: Added.
+ * UIProcess/API/C/mac/WKURLRequestNS.h: Added.
+ * UIProcess/API/C/mac/WKURLRequestNS.mm: Added.
+ (WKURLRequestCreateWithNSURLRequest):
+ (WKURLRequestCopyNSURLRequest):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::loadURL):
+ (WebKit::WebPageProxy::loadURLRequest):
+ * UIProcess/WebPageProxy.h:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::loadURL):
+ (WebKit::WebPage::loadURLRequest):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-08-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WorkQueue leaks its dispatch queue
+ <rdar://problem/8358509>
+ https://bugs.webkit.org/show_bug.cgi?id=44689
+
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::platformInvalidate):
+
+2010-08-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Add UserContent API to WebKit2 InjectedBundle
+ <rdar://problem/8367587>
+ https://bugs.webkit.org/show_bug.cgi?id=44810
+
+ The new API differs from the version in WebKit1 in that the function do not take
+ a group name since we currently do not expose a way to make multiple PageGroups in
+ the API.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (toUserScriptInjectionTime):
+ (toUserContentInjectedFrames):
+ Add conversion functions for enums.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleAddUserScript):
+ (WKBundleAddUserStyleSheet):
+ (WKBundleRemoveUserScript):
+ (WKBundleRemoveUserStyleSheet):
+ (WKBundleRemoveUserScripts):
+ (WKBundleRemoveUserStyleSheets):
+ (WKBundleRemoveAllUserContent):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::toStringVector):
+ (WebKit::InjectedBundle::addUserScript):
+ (WebKit::InjectedBundle::addUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScript):
+ (WebKit::InjectedBundle::removeUserStyleSheet):
+ (WebKit::InjectedBundle::removeUserScripts):
+ (WebKit::InjectedBundle::removeUserStyleSheets):
+ (WebKit::InjectedBundle::removeAllUserContent):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ Forward API to PageGroup.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::sharedPageGroup):
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ * WebProcess/WebProcess.h: Ad accessor for global PageGroup.
+
+2010-08-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Move WKBundle didCreatePage callback to outside the WebPage
+ constructor to avoid adoptRef errors.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create):
+ (WebKit::WebPage::WebPage):
+
+2010-08-27 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8147879> - Null URL passed to WebKit2 HistoryDelegate
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): WK2 now loads initial about:blank document's synchronously,
+ without consulting the policy delegate.
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
+
+2010-08-27 Adam Roben <aroben@apple.com>
+
+ Handle ERROR_IO_INCOMPLETE more correctly in Connection
+
+ We still don't know exactly why we're getting this error, but at least
+ we can do something sensible when we do.
+
+ Fixes <http://webkit.org/b/44776> Occasional crash in
+ Connection::readEventHandler or assertion failure in
+ Connection::writeEventHandler due to ERROR_IO_INCOMPLETE
+
+ Reviewed by Sam Weinig.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::readEventHandler): Bail out of this function
+ entirely when we get ERROR_IO_INCOMPLETE. We'll get called back later
+ when the read completes. Continuing in the function at this point
+ would cause us to treat an incomplete read as a complete one, leading
+ to a crash. Added an assertion to make the crash more understandable
+ in the future.
+ (CoreIPC::Connection::writeEventHandler): Bail out when we get
+ ERROR_IO_INCOMPLETE. We'll get called back later when the write
+ completes.
+
+2010-08-27 Adam Roben <aroben@apple.com>
+
+ Make the web process pause on launch when the
+ WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable is set
+
+ This is a bit easier to use than holding Ctrl-Alt-Shift during launch,
+ since the process can sometimes take a long time to launch under the
+ debugger. Ctrl-Alt-Shift still works, however.
+
+ Fixes <http://webkit.org/b/44774> Would like an easier way to pause
+ the web process on launch
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain):
+
+2010-08-27 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Adam Roben.
+
+ * WebKit2.xcodeproj/project.pbxproj: Make WKBundleScriptWorld.h public.
+
+2010-08-26 Daniel Bates <dbates@rim.com>
+
+ Attempt to fix the Qt WebKit2 build.
+
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Pass m_page.get() to WebKit::scroll()
+ instead of m_page since it expects a raw pointer.
+
+2010-08-26 Gavin Barraclough <barraclough@apple.com>
+
+ Speculative windows build fix.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView):
+
+2010-08-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Adopt more uses OwnPtr/OwnArray in WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=44728
+
+ Also clears up weird create vs. adoption semantics. Now both create
+ and adopt both don't ref their pointers, adoption is just about the
+ buffer.
+
+ * Shared/ImmutableArray.cpp:
+ (WebKit::ImmutableArray::ImmutableArray):
+ (WebKit::ImmutableArray::~ImmutableArray):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::adopt):
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::keys):
+ * Shared/WebData.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::create):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]):
+ (-[WKView _switchToDrawingAreaTypeIfNecessary:DrawingAreaProxy::]):
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::init):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::create):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::create):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ * UIProcess/WebContext.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::create):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ (WebKit::WebSearchPopupMenu::create):
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::childFrames):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::close):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::corePage):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-08-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=44726
+ <rdar://problem/7935518> WebFrameProxies aren't destroyed until a page is destroyed
+
+ Since frames can be moved across documents, they are not really a Page level concept.
+ Moved frame tracking to WebProcess/WebProcessProxy.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::close):
+ (WebKit::WebPageProxy::getStatistics):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::didCreateMainFrame):
+ (WebKit::WebPageProxy::didCreateSubFrame):
+ (WebKit::WebPageProxy::processDidExit):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ (WebKit::WebProcessProxy::didClose):
+ (WebKit::WebProcessProxy::webFrame):
+ (WebKit::WebProcessProxy::frameCreated):
+ (WebKit::WebProcessProxy::frameDestroyed):
+ (WebKit::WebProcessProxy::disconnectFramesFromPage):
+ (WebKit::WebProcessProxy::frameCountInPage):
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::WebFrame):
+ (WebKit::WebFrame::invalidate):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::webFrame):
+ (WebKit::WebProcess::addWebFrame):
+ (WebKit::WebProcess::removeWebFrame):
+ * WebProcess/WebProcess.h:
+
+2010-08-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Add PassOwnArrayPtr
+ https://bugs.webkit.org/show_bug.cgi?id=44627
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+
+2010-08-26 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Misc. cleanup split off from bug 32356.
+ https://bugs.webkit.org/show_bug.cgi?id=44696
+
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-08-25 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix, no review.
+
+ Add conditional guards around Safari-specific
+ include files.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+
+2010-08-25 Adam Roben <aroben@apple.com>
+
+ Clean up Connection::open on Windows
+
+ Fixes <http://webkit.org/b/44185>.
+
+ Reviewed by Steve Falkenburg.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInitialize): Set m_isConnected to true
+ since the pipe got connected before it was even given to us.
+ (CoreIPC::Connection::readEventHandler): Removed code that will never
+ run now that m_isConnected is always true when this function is
+ called. Since no outgoing messages will have been queued before
+ m_isConnected is set to true, there's no need to send them explicitly
+ here; they'll get sent as they're queued.
+ (CoreIPC::Connection::open): Removed the call to ::ConnectNamedPipe,
+ since the pipe is already connected by this point. Changed to schedule
+ a read in the server and client the same way (rather than using
+ ::SetEvent in the server).
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Call NP_GetEntryPoints before NP_Initialize on Windows
+
+ Doing otherwise will cause Flash and QuickTime to crash inside
+ NP_Initialize.
+
+ Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
+ NP_Initialize when loading QuickTime when running
+ plugins/embed-attributes-setting.html in WebKit2 on Windows
+
+ Reviewed by John Sullivan.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
+ NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
+ prevent Silverlight (e.g.) from crashing (see r38858).
+
+2010-08-25 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Implement WebKit::Module for qt
+ https://bugs.webkit.org/show_bug.cgi?id=44527
+
+ * Platform/Module.h:
+ * Platform/qt/ModuleQt.cpp:
+ (WebKit::Module::load):
+ (WebKit::Module::unload):
+ (WebKit::Module::platformFunctionPointer):
+
+2010-08-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ WebKit2 should launch the WebProcess in 32-bit mode if the UIProcess is in 32-bit mode
+ <rdar://problem/8348100>
+ https://bugs.webkit.org/show_bug.cgi?id=44537
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess): Use posix_spawnattr_setbinpref_np
+ to tell posix_spawn to launch the WebProcess in 32-bit mode when the UIProcess
+ is running in 32-bit mode.
+
+2010-08-24 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Sam Weinig.
+
+ Set the install path of WebKit2.framework to the build directory for debug and release builds
+ to match our other frameworks.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-08-24 Sam Weinig <sam@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Update profile.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2010-08-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
+ (WKBundleNodeGetParent): Update since parent now returns a
+ ContainerNode*. The toRef function is a bit too picky to convert
+ it without a bit of help.
+
+2010-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r65703.
+ http://trac.webkit.org/changeset/65703
+ https://bugs.webkit.org/show_bug.cgi?id=44460
+
+ "Causing lots of crashes on Snow Leopard when running the
+ layout tests" (Requested by eseidel2 on #webkit).
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad):
+
+2010-08-23 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Layout tests do not run when using WebKitTestRunner in a Debug build.
+ https://bugs.webkit.org/show_bug.cgi?id=44409
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ Use WebKit2WebProcess_debug.exe when building Debug.
+
+2010-08-23 Daniel Bates <dbates@rim.com>
+
+ Rubber-stamped by Adam Roben.
+
+ Substitute "sizeof("javascript:") - 1" for the hardcoded constant 11 when
+ extracting the JavaScript code portion of a JavaScript URL so as to make
+ it clearer that the 11 represents the length of the scheme portion of
+ a JavaScript URL.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::performJavaScriptURLRequest):
+
+2010-08-23 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Find needed forwarding headers for WebKit2 automatically
+ https://bugs.webkit.org/show_bug.cgi?id=44336
+
+ * DerivedSources.pro: Use the new enumerate-included-framework-headers script for generating
+ the list of forwarding headers we want to create.
+
+2010-08-23 Zoltan Horvath <zoltan@webkit.org>
+
+ [Qt] Build fix.
+
+ * DerivedSources.pro:
+ * WebKit2.pro:
+ * WebProcess/Plugins/Netscape/qt: Added.
+ * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Added.
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::platformPaint):
+ (WebKit::toNP):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+
+2010-08-22 Juha Savolainen <juha.savolainen@weego.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add QTouchEvents support for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=44330
+
+ This patch adds support for QTouchEvents in WebKit2. A new WebEvent-class
+ is created for touchevents, WebTouchEvent. Also touchpoints needed a new
+ class, WebPlatformTouchPoint. This is similar solution like in other
+ events(like MouseEvent) on WebKit2. These classes are introduced in WebEvent.h
+ Also there was a need to create an empty constructor to PlatformTouchPoint-class.
+
+ * DerivedSources.pro:
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::):
+ (WebKit::WebTouchPoint::):
+ (WebKit::WebTouchPoint::WebTouchPoint):
+ (WebKit::WebTouchPoint::id):
+ (WebKit::WebTouchPoint::state):
+ (WebKit::WebTouchPoint::screenPosX):
+ (WebKit::WebTouchPoint::screenPosY):
+ (WebKit::WebTouchPoint::posX):
+ (WebKit::WebTouchPoint::posY):
+ (WebKit::WebTouchPoint::setState):
+ (WebKit::WebTouchPoint::encode):
+ (WebKit::WebTouchPoint::decode):
+ (WebKit::WebTouchEvent::WebTouchEvent):
+ (WebKit::WebTouchEvent::type):
+ (WebKit::WebTouchEvent::touchPoints):
+ (WebKit::WebTouchEvent::encode):
+ (WebKit::WebTouchEvent::decode):
+ (WebKit::WebTouchEvent::isTouchEventType):
+ * Shared/WebEventConversion.cpp:
+ (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
+ (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
+ (WebKit::platform):
+ * Shared/WebEventConversion.h:
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::webEventTypeForEvent):
+ (WebKit::WebEventFactory::createWebTouchEvent):
+ * Shared/qt/WebEventFactoryQt.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::event):
+ (QGraphicsWKView::touchEvent):
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::touchEvent):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::touchEvent):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::touchEvent):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Remove specialized retain/release functions in favor of a single one for WKTypeRefs
+ https://bugs.webkit.org/show_bug.cgi?id=44386
+
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayGetSize):
+ * UIProcess/API/C/WKArray.h:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ (WKBackForwardListCopyForwardListWithLimit):
+ * UIProcess/API/C/WKBackForwardList.h:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemCopyTitle):
+ * UIProcess/API/C/WKBackForwardListItem.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKData.cpp:
+ (WKDataGetSize):
+ * UIProcess/API/C/WKData.h:
+ * UIProcess/API/C/WKDictionary.cpp:
+ (WKDictionaryCopyKeys):
+ * UIProcess/API/C/WKDictionary.h:
+ * UIProcess/API/C/WKError.h:
+ * UIProcess/API/C/WKFormSubmissionListener.cpp:
+ (WKFormSubmissionListenerContinue):
+ * UIProcess/API/C/WKFormSubmissionListener.h:
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetPage):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ (WKFramePolicyListenerIgnore):
+ * UIProcess/API/C/WKFramePolicyListener.h:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ (WKNavigationDataCopyURL):
+ * UIProcess/API/C/WKNavigationData.h:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ (WKPageNamespaceGetContext):
+ * UIProcess/API/C/WKPageNamespace.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesCreate):
+ (WKPreferencesGetLocalStorageEnabled):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/C/WKString.cpp:
+ * UIProcess/API/C/WKString.h:
+ * UIProcess/API/C/WKType.cpp:
+ (WKRetain):
+ (WKRelease):
+ * UIProcess/API/C/WKType.h:
+ * UIProcess/API/C/WKURL.cpp:
+ (WKURLGetTypeID):
+ * UIProcess/API/C/WKURL.h:
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ * UIProcess/API/win/WKView.cpp:
+ * UIProcess/API/win/WKView.h:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::shared):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
+ (WKBundleScriptWorldNormalWorld):
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h:
+
+2010-08-20 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Implement cursor change in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=44263
+
+ Implemented PageClient::setCursor.
+ * UIProcess/API/qt/qgraphicswkview.cpp: Added updateCursor slot to be connected to the QWKPage::setCursor signal.
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKView::updateCursor): Sets the cursor of the widget.
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::setCursor): Added implementation for PageClient::setCursor. Emitting singal through the QWKPage.
+ * UIProcess/API/qt/qwkpage.h: Added setCursor signal.
+ * UIProcess/API/qt/qwkpage_p.h:
+
+2010-08-19 David Kilzer <ddkilzer@apple.com>
+
+ BUILD FIX: Fix Mac build after Windows WebKit2 changes for Netscape Plug-ins
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPaint): Changed frameRect() to
+ m_frameRect.
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Send mouse events to windowless plugins on Windows
+
+ This seems to have been the last issue blocking us from playing videos
+ on vimeo.com.
+
+ Fixes <http://webkit.org/b/44276> <rdar://problem/8330398> Can't click
+ play button in vimeo.com Flash video player in WebKit2 on Windows
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::toNP): Added. Converts a WebMouseEvent to an NPEvent. Code
+ was adapted from WebCore's PluginViewWin.cpp.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ Convert the WebMouseEvent to an NPEvent and send it to the plugin.
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Add support for painting windowless plugins on Windows
+
+ This gets the video on the front page of vimeo.com painting (though
+ you can't make it play because we don't support mouse events yet).
+
+ Fixes <http://webkit.org/b/44274> <rdar://problem/8330395> Windowless
+ plugins don't paint in WebKit2 on Windows
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue): Tell the plugin that we support windowless
+ mode on Windows.
+ (WebKit::NPN_SetValue): Implemented handling of NPPVpluginWindowBool
+ by calling through to NetscapePlugin::setIsWindowed.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin): Added initialization of
+ m_isWindowed. It defaults to false on Mac and true on other platforms,
+ matching WebCore's PluginView.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Added m_isWindowed.
+ (WebKit::NetscapePlugin::setIsWindowed): Added standard setter.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPaint): Moved Mac-specific context
+ translation code here from PluginView::paint.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
+ (WebKit::NetscapePlugin::platformPaint): Implemented. Code was ported
+ from WebCore's PluginViewWin.cpp.
+
+ * WebProcess/Plugins/Plugin.h: Updated the comment for Plugin::paint
+ to explain the coordinate system of the context.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::paint): Changed to translate the context from
+ document to window coordinates. We were previously trying to translate
+ to plugin-local coordinates, but this only worked for documents whose
+ origin was the same as the window's origin (i.e., the main frame). The
+ plugin takes care of any further translations needed. (Mac translates
+ the context into plugin-local coordinates, and Windows leaves it in
+ window coordinates.)
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Implement PluginInfoStore::pluginsDirectories
+
+ This makes WebKit2 able to find and load Flash on Windows.
+
+ Note that we aren't yet respecting the MozillaPlugins registry key.
+ That's covered by <http://webkit.org/b/44271>.
+
+ Fixes <http://webkit.org/b/43510> <rdar://problem/8273827> WebKit2
+ should load plugins from the same directories as old-WebKit
+
+ Reviewed by Jon Honeycutt and Ada Chan.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::parseVersionString):
+ (WebKit::compareVersions):
+ (WebKit::safariPluginsDirectory):
+ (WebKit::addMozillaPluginDirectories):
+ (WebKit::addWindowsMediaPlayerPluginDirectory):
+ (WebKit::addQuickTimePluginDirectory):
+ (WebKit::addAdobeAcrobatPluginDirectory):
+ (WebKit::addMacromediaPluginDirectories):
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ Ported (and ever-so-slightly cleaned up) code from WebCore's
+ PluginDatabaseWin.cpp.
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Call NP_GetEntryPoints before NP_Initialize on Windows
+
+ Doing otherwise will cause Flash and QuickTime to crash inside
+ NP_Initialize.
+
+ Fixes <http://webkit.org/b/44270> <rdar://problem/8330393> Crash in
+ NP_Initialize when loading QuickTime when running
+ plugins/embed-attributes-setting.html in WebKit2 on Windows
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad): On Windows, first call
+ NP_GetEntryPoints, then NP_Initialize. Do the reverse on Mac to
+ prevent Silverlight (e.g.) from crashing (see r38858).
+
+2010-08-19 Adam Roben <aroben@apple.com>
+
+ Add NetscapePluginWin.cpp
+
+ Fixes <http://webkit.org/b/44269> <rdar://problem/8330391>
+ NetscapePlugin.h contains functions that should be in
+ NetscapePluginWin.cpp
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h: Moved functions from
+ here...
+ * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: ...to here.
+
+ * win/WebKit2.vcproj: Added NetscapePluginWin.cpp and let VS reorder
+ the file list.
+
+2010-08-19 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add modifier key info to policy client functions in WebKit2
+ <rdar://problem/8185298>
+ https://bugs.webkit.org/show_bug.cgi?id=44280
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add conversion function for modifiers and rename an incorrectly named
+ toWK to toRef.
+
+ * UIProcess/API/C/WKPage.h:
+ Add WKEventModifiers enum.
+
+ * 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:
+ Pipe through modifier info.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::modifiersForNavigationAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+ Get modifier info out of the NavigationInfo class in the same manner as
+ WebKit1.
+
+2010-08-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add ability to get all the keys from a WKDictionaryRef
+ https://bugs.webkit.org/show_bug.cgi?id=44221
+
+ * Shared/ImmutableDictionary.cpp:
+ (WebKit::ImmutableDictionary::keys):
+ * Shared/ImmutableDictionary.h:
+ Add keys function.
+
+ * UIProcess/API/C/WKDictionary.cpp:
+ (WKDictionaryCopyKeys):
+ * UIProcess/API/C/WKDictionary.h:
+ Wrap keys function.
+
+2010-08-18 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Add ability to set custom userAgent for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=44215
+
+ * Shared/CoreIPCSupport/WebPageMessageKinds.h:
+ (WebPageMessage::):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetCustomUserAgent):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setCustomUserAgent):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::userAgent):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setCustomUserAgent):
+ (WebKit::WebPage::userAgent):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-18 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by John Sullivan.
+
+ Make WKBundleNodeHandleRef usable from WKRetainPtr.
+
+ * WebKit2.xcodeproj/project.pbxproj: Make WKBundleNodeHandle.h public.
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Add WKRetain/WKRelease overloads.
+
+2010-08-18 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Forwards QtWebProcess' stdout, stderr onto the UI process
+ https://bugs.webkit.org/show_bug.cgi?id=44159
+
+ For debugging purposes forwards stdout and stderr of QtWebProcess onto the UI process.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncherHelper::launch):
+
+2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ Add NetworkingContext to avoid layer violations
+ https://bugs.webkit.org/show_bug.cgi?id=42292
+
+ Preparation: Just add the files to the build system.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added new files.
+ * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
+ Placeholder with tentative code that might be changed when landing
+ the rest of it.
+ * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
+ Empty placeholder for now.
+
+2010-08-16 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Allow some tests to pass in WebKitTestRunner before SharedMemory and
+ PluginInfoStore are implemented on Windows.
+
+ Reviewed by Sam Weinig.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ Disable not implemented warnings.
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ Ditto.
+
+2010-08-16 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig
+
+ Remove unnecessary includes from UString.h, add new includes as necessary.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+
+2010-08-16 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * Shared/win/CommandLineWin.cpp:
+
+2010-08-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove #includes of <WebCore/PlatformString.h> in favor of <wtf/text/WTFString.h>
+
+ * Platform/Module.cpp:
+ * Platform/Module.h:
+ * Shared/CommandLine.h:
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebEvent.h:
+ * Shared/WebNavigationDataStore.h:
+ * Shared/WebPreferencesStore.h:
+ * Shared/WebString.h:
+ * Shared/WebURL.h:
+ * Shared/mac/CommandLineMac.cpp:
+ * Shared/qt/UpdateChunk.cpp:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ * UIProcess/WebBackForwardListItem.cpp:
+ * UIProcess/WebBackForwardListItem.h:
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ * UIProcess/WebFrameProxy.cpp:
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPolicyClient.cpp:
+ * UIProcess/WebProcessProxy.cpp:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/win/WebView.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ * WebProcess/Plugins/JSNPObject.cpp:
+ * WebProcess/Plugins/NPJSObject.cpp:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebKitMain.cpp:
+ * WebProcess/win/WebProcessMainWin.cpp:
+
+2010-08-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Null CFURLRef returned from provisionalURL after searching on zillow.com
+ <rdar://problem/8261812>
+ https://bugs.webkit.org/show_bug.cgi?id=44072
+
+ Conversion from WKURLRef to CFRURLRef was breaking on URLs using characters
+ such as '{'.
+
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCopyCFURL): Use code similar to that found in KURLCFNet.cpp for conversion.
+
+2010-08-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Remove unnecessary copy constructor, assignment operator and swap function.
+ The defaults (for all except swap) should do just fine.
+
+ * Shared/WebPreferencesStore.cpp:
+ * Shared/WebPreferencesStore.h:
+
+2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Handle content size change in WebKit2
+ Re-landing after fix.
+
+ https://bugs.webkit.org/show_bug.cgi?id=43198
+
+ Based on the work of Antti Koivisto.
+ Send message to the UI client when the contents size has changed through the WebChromeClient
+ and propagate it to the WKPageUIClient.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
+ * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Initialize the new callback to 0.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
+ (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
+
+2010-08-16 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r65419.
+ http://trac.webkit.org/changeset/65419
+ https://bugs.webkit.org/show_bug.cgi?id=44053
+
+ Broke the Windows build (Requested by bbandix on #webkit).
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged):
+
+2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Handle content size change in WebKit2
+
+ https://bugs.webkit.org/show_bug.cgi?id=43198
+
+ Based on the work of Antti Koivisto.
+ Send message to the UI client when the contents size has changed through the WebChromeClient
+ and propagate it to the WKPageUIClient.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::): Added ContentsSizeChanged message kind.
+ * UIProcess/API/C/WKPage.h: Added WKPageContentsSizeChangedCallback callback to the WKPageUIClient.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage): Initialize the new callback to 0.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage): Handle ContentsSizeChanged message. Calls contetsSizeChanged.
+ (WebKit::WebPageProxy::contentsSizeChanged): Added. Propagate the event to the the UI client.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::contentsSizeChanged): Added. Propagate the event forward to the WKPageUIClient.
+ * UIProcess/WebUIClient.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::contentsSizeChanged): Implemented.
+
+2010-08-16 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Unreviewed Qt WebKit2 build fix.
+
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::platformSetUpWebProcess): Added empty stub implementation.
+ * WebKit2.pro: Enumerate new files, include WebKit.pri for correct define macro set.
+
+2010-08-15 Dan Bernstein <mitz@apple.com>
+
+ Revised build fix from r65363 based on suggestion from Darin Adler.
+
+ * UIProcess/API/C/WKArray.h: Include stddef.h.
+ * UIProcess/API/C/WKBase.h: Uninclude ctype.h.
+ * UIProcess/API/C/WKData.h: Include stddef.h.
+ * UIProcess/API/C/WKDictionary.h: Ditto.
+
+2010-08-14 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson in Sweden.
+
+ Clean build of WebKitTestRunner fails with “'size_t' has not been declared” in WKArray.h
+ https://bugs.webkit.org/show_bug.cgi?id=44005
+
+ * UIProcess/API/C/WKBase.h: Include ctype.h.
+
+2010-08-13 Sam Weinig <sam@webkit.org>
+
+ Fix build.
+
+ * WebKit2.xcodeproj/project.pbxproj: Make WKDictionary.h public.
+
+2010-08-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Pass values map to willSubmitForm in WebKit2 API
+ Part of <rdar://problem/8255932>
+ https://bugs.webkit.org/show_bug.cgi?id=43995
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ (CoreIPC::):
+ Add overload for std::pair.
+
+ * Shared/ImmutableDictionary.h:
+ (WebKit::ImmutableDictionary::adopt):
+ Fix function signature by removing size parameter.
+
+ * UIProcess/API/C/WKPage.h:
+ Add dictionary parameter to callback.
+
+ * UIProcess/WebFormClient.cpp:
+ (WebKit::WebFormClient::willSubmitForm):
+ Create an ImmutableDictionary from the vector of string pairs.
+
+ * UIProcess/WebFormClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::willSubmitForm):
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ Plumb through the values vector.
+
+2010-08-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brady Eidson.
+
+ Add dictionary API type
+ https://bugs.webkit.org/show_bug.cgi?id=43990
+
+ Add an immutable dictionary type (WKStringRef -> WKTypeRef).
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ Add new APIType.
+
+ * Shared/ImmutableDictionary.cpp: Added.
+ (WebKit::ImmutableDictionary::ImmutableDictionary):
+ (WebKit::ImmutableDictionary::~ImmutableDictionary):
+ * Shared/ImmutableDictionary.h: Added.
+ (WebKit::ImmutableDictionary::create):
+ (WebKit::ImmutableDictionary::adopt):
+ (WebKit::ImmutableDictionary::get):
+ (WebKit::ImmutableDictionary::size):
+ (WebKit::ImmutableDictionary::):
+ (WebKit::ImmutableDictionary::type):
+ Add basic implementation
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::):
+ Add new mappings.
+
+ * UIProcess/API/C/WKBase.h:
+ Add new opaque type.
+
+ * UIProcess/API/C/WKDictionary.cpp: Added.
+ (WKDictionaryGetTypeID):
+ (WKDictionaryGetItemForKey):
+ (WKDictionaryGetSize):
+ (WKDictionaryRetain):
+ (WKDictionaryRelease):
+ * UIProcess/API/C/WKDictionary.h: Added.
+ Add API wrappings.
+
+ * UIProcess/API/C/WebKit2.h:
+ Add missing public headers.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+ Add new files.
+
+2010-08-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Jon Honeycutt.
+
+ Add form submission listener to WebKit2
+ Part of <rdar://problem/8255932>
+ https://bugs.webkit.org/show_bug.cgi?id=43947
+
+ * Shared/APIObject.h:
+ Add TypeFormSubmissionListener APIType.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ Add WillSubmitForm message kind.
+
+ * UIProcess/API/C/WKAPICast.h:
+ Add new mappings for WKFormSubmissionListenerRef -> WebFormSubmissionListener
+
+ * UIProcess/API/C/WKBase.h:
+ Add OpaqueWKFormSubmissionListener and rename the other opaque types to match.
+
+ * UIProcess/API/C/WKFormSubmissionListener.cpp: Added.
+ (WKFormSubmissionListenerGetTypeID):
+ (WKFormSubmissionListenerContinue):
+ (WKFormSubmissionListenerRetain):
+ (WKFormSubmissionListenerRelease):
+ * UIProcess/API/C/WKFormSubmissionListener.h: Added.
+ Add C wrapper for WebFormSubmissionListener.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageFormClient):
+ * UIProcess/API/C/WKPage.h:
+ Add WKPageFormClient with willSubmitForm callback. Additional callbacks will be added as
+ needed.
+
+ * UIProcess/API/C/WebKit2.h:
+ Add include for WKFormSubmissionListener.h
+
+ * UIProcess/WebFormClient.cpp: Added.
+ (WebKit::WebFormClient::WebFormClient):
+ (WebKit::WebFormClient::initialize):
+ (WebKit::WebFormClient::willSubmitForm):
+ * UIProcess/WebFormClient.h: Added.
+ Add client for form related delagations.
+
+ * UIProcess/WebFormSubmissionListenerProxy.cpp: Added.
+ (WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy):
+ (WebKit::WebFormSubmissionListenerProxy::continueSubmission):
+ * UIProcess/WebFormSubmissionListenerProxy.h: Added.
+ (WebKit::WebFormSubmissionListenerProxy::create):
+ (WebKit::WebFormSubmissionListenerProxy::type):
+ * UIProcess/WebFrameListenerProxy.cpp: Copied from UIProcess/WebFramePolicyListenerProxy.cpp.
+ Add new type of listener for form submissions. It inherits from the new base class
+ for listeners, WebFrameListenerProxy.
+
+ (WebKit::WebFrameListenerProxy::WebFrameListenerProxy):
+ (WebKit::WebFrameListenerProxy::~WebFrameListenerProxy):
+ (WebKit::WebFrameListenerProxy::invalidate):
+ (WebKit::WebFrameListenerProxy::receivedPolicyDecision):
+ * UIProcess/WebFrameListenerProxy.h: Copied from UIProcess/WebFramePolicyListenerProxy.h.
+ Move logic that would have to be shared between WebFramePolicyListenerProxy and
+ WebFormSubmissionListenerProxy into shared base class.
+
+ * UIProcess/WebFramePolicyListenerProxy.cpp:
+ (WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
+ * UIProcess/WebFramePolicyListenerProxy.h:
+ (WebKit::WebFramePolicyListenerProxy::create):
+ (WebKit::WebFramePolicyListenerProxy::type):
+ Move to inheriting from WebFrameListenerProxy.
+
+ * UIProcess/WebFrameProxy.cpp:
+ (WebKit::WebFrameProxy::disconnect):
+ (WebKit::WebFrameProxy::receivedPolicyDecision):
+ (WebKit::WebFrameProxy::setUpPolicyListenerProxy):
+ (WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy):
+ * UIProcess/WebFrameProxy.h:
+ Change listener functions to act on WebFrameListenerProxys and add setUpFormSubmissionListenerProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeFormClient):
+ (WebKit::WebPageProxy::didReceiveMessage):
+ (WebKit::WebPageProxy::willSubmitForm):
+ * UIProcess/WebPageProxy.h:
+ Plumb through willSubmitForm call as we do with the other listeners.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
+ Ditto.
+
+ * WebKit2.xcodeproj/project.pbxproj: Add new files.
+ * win/WebKit2.vcproj: Add new files.
+ * win/WebKit2Generated.make: Ditto.
+
+2010-08-13 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig
+
+ Unify UString::UTF8String() & String::utf8() methods,
+ remove UString::cost() & make atArrayIndex a free function.
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+
+2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r65295.
+ http://trac.webkit.org/changeset/65295
+ https://bugs.webkit.org/show_bug.cgi?id=43950
+
+ It broke 4 sputnik tests (Requested by Ossy on #webkit).
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+
+2010-08-12 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig
+
+ Unify UString::UTF8String() & String::utf8() methods,
+ remove UString::cost() & make atArrayIndex a free function.
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+
+2010-08-12 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2 crashes when WebFrame outlives WebPage
+ https://bugs.webkit.org/show_bug.cgi?id=43939
+
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ (WebKit::WebChromeClient::page): Add this method, to allow
+ WebFrame to retrieve its WebPage following WebCore pointers.
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::WebFrame): Do not initialize m_page (it's gone).
+ (WebKit::WebFrame::page): Don't use the data member, get it from
+ WebCore.
+ (WebKit::WebFrame::invalidate): Use method to get page() and null check.
+ (WebKit::WebFrame::isMainFrame): ditto
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-08-12 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKit2 needs to initialize SafariTheme
+ https://bugs.webkit.org/show_bug.cgi?id=43901
+
+ Reviewed by Sam Weinig.
+
+ * WebProcess/win/WebProcessMainWin.cpp:
+ (WebKit::initializeSafariTheme):
+ Copied from old WebKit.
+ (WebKit::WebProcessMain):
+ If we're using SafariTheme, initialize it.
+
+2010-08-12 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKitTestRunner needs to run tests without using native controls
+ https://bugs.webkit.org/show_bug.cgi?id=43772
+
+ Reviewed by Sam Weinig.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Add a new message.
+
+ * UIProcess/API/C/win/WKContextPrivateWin.h: Added.
+ Declare WKContextSetShouldPaintNativeControls().
+
+ * UIProcess/API/C/win/WKContextWin.cpp: Added.
+ (WKContextSetShouldPaintNativeControls):
+ Call the WebContext's setShouldPaintNativeControls().
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ Initialize m_shouldPaintNativeControls.
+ (WebKit::WebContext::ensureWebProcess):
+ If we created a web process, call platformSetUpWebProcess().
+
+ * UIProcess/WebContext.h:
+ Declare new functions and a member to store whether we should paint
+ native controls.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformSetUpWebProcess):
+ Stubbed.
+
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::setShouldPaintNativeControls):
+ Set m_shouldPaintNativeControls. If we have a valid web process, send a
+ SetShouldPaintNativeControls message.
+ (WebKit::WebContext::platformSetUpWebProcess):
+ Send a SetShouldPaintNativeControls message.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+ If this is a SetShouldPaintNativeControls message, decode the argument,
+ and call Settings::setShouldPaintNativeControls().
+
+ * win/WebKit2.vcproj:
+ Add WKContextPrivateWin.h and WKContextWin.cpp to project.
+
+ * win/WebKit2Generated.make:
+ Copy WKContextPrivateWin.h.
+
+2010-08-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Add SPI to stop loading from the InjectedBundle.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageStopLoading):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ WKPageStopLoading always asserts
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didReceiveMessage): Switch break to return, break made us
+ hit the ASSERT_NOT_REACHED at the end of the function.
+
+2010-08-11 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Unreviewed build fix.
+
+ [Qt] Update WebKit2 build environment, add stub implementation of SharedMemory.
+
+ * DerivedSources.pro:
+ * Platform/qt/SharedMemoryQt.cpp: Added.
+ (WebKit::SharedMemory::Handle::Handle):
+ (WebKit::SharedMemory::Handle::~Handle):
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ (WebKit::SharedMemory::create):
+ (WebKit::SharedMemory::~SharedMemory):
+ (WebKit::SharedMemory::createHandle):
+ (WebKit::SharedMemory::systemPageSize):
+ * WebKit2.pro:
+ * WebKit2Prefix.h:
+
+2010-08-11 Mark Rowe <mrowe@apple.com>
+
+ Build fix. Update references to StringHash.h.
+
+ * Shared/CommandLine.h:
+ * UIProcess/WebContext.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/win/WebProcessMainWin.cpp:
+
+2010-08-10 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add leakRef and clear to all RefPtr variants
+ https://bugs.webkit.org/show_bug.cgi?id=42389
+
+ * UIProcess/API/cpp/WKRetainPtr.h: Changed all uses of "template <...>" to
+ "template<...>". Defined many of the inlined functions outside the class
+ definition, to avoid style checker warnings about multiple statements on
+ a single line and for slightly better clarity of the class definition itself.
+ Renamed releaseRef to leakRef. Added a releaseRef that calls leakRef so we
+ don't have to rename all callers at once. Added a clear function.
+
+2010-08-10 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Build WebKit2 into a static lib
+
+ https://bugs.webkit.org/show_bug.cgi?id=43621
+
+ * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
+ * WebKit2.pro: Build specification for the WebKit2 framework.
+ * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
+
+2010-08-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Add zoom support for injected bundle
+ https://bugs.webkit.org/show_bug.cgi?id=43759
+
+ Add SPI to change the zoom factor for a page.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (toZoomMode):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetZoomFactor):
+ (WKBundlePageSetZoomFactor):
+ (WKBundlePageSetZoomMode):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::zoomFactor):
+ (WebKit::WebPage::setZoomFactor):
+ (WebKit::WebPage::setZoomMode):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-06 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig
+
+ Bug 43594 - Add string forwards to Forward.h
+ This allows us to remove forward declarations for these classes from
+ WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
+
+ * UIProcess/PageClient.h:
+ * UIProcess/VisitedLinkProvider.h:
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.h:
+
+2010-08-09 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] No need for PageClientImpl
+
+ https://bugs.webkit.org/show_bug.cgi?id=43728
+
+ Remove PageClientImpl, take the implementation of WebKit::PageClient into QWKPagePrivate.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::QWKPagePrivate):
+ (QWKPagePrivate::toolTipChanged):
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
+ (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
+ (QWKPagePrivate::processDidExit):
+ (QWKPagePrivate::processDidRevive):
+ (QWKPagePrivate::setCursor):
+ (QWKPagePrivate::takeFocus):
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKitTestRunner needs to print onunload handler information
+ <rdar://problem/8213831>
+ https://bugs.webkit.org/show_bug.cgi?id=42703
+
+ Add SPI to get the number of pending unload events.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetPendingUnloadCount):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::pendingUnloadCount):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add additional loader client functions need to complete WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=43684
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
+ (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didChangeLocationWithinPageForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
+ (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
+ (WebKit::WebFrameLoaderClient::dispatchDidCancelClientRedirect):
+ (WebKit::WebFrameLoaderClient::dispatchWillPerformClientRedirect):
+ (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
+ (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
+ (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
+ (WebKit::WebFrameLoaderClient::didRunInsecureContent):
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Another fix for the windows build.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Fix windows build.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::platformLayer):
+ * WebProcess/Plugins/PluginView.h:
+
+2010-08-07 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKitTestRunner needs GCController
+ <rdar://problem/8213834>
+ https://bugs.webkit.org/show_bug.cgi?id=42701
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleGarbageCollectJavaScriptObjects):
+ (WKBundleGarbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
+ (WKBundleGetJavaScriptObjectsCount):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::garbageCollectJavaScriptObjects):
+ (WebKit::InjectedBundle::garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging):
+ (WebKit::InjectedBundle::javaScriptObjectsCount):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2010-08-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ CA drawing model support for Mac Plugins
+ https://bugs.webkit.org/show_bug.cgi?id=43678
+ <rdar://problem/7929701>
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Handle WKNVSupportsCompositingCoreAnimationPluginsBool and
+ NPNVsupportsCoreAnimationBool and return true if accelerated compositing is enabled.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
+ Call PluginController::isAcceleratedCompositingEnabled.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ If the plug-in uses the Core Animation drawing model, ask it for its layer.
+
+ (WebKit::NetscapePlugin::platformPaint):
+ Don't send draw events if the Core Animation drawing model is used.
+
+ (WebKit::NetscapePlugin::pluginLayer):
+ Return the plug-in layer.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add a pluginLayer pure virtual member function.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add an isAcceleratedCompositingEnabled pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::initializePlugin):
+ If the plug-in has a layer, enter compositing mode.
+
+ (WebKit::PluginView::platformLayer):
+ Ask the plug-in for its layer.
+
+ (WebKit::PluginView::isAcceleratedCompositingEnabled):
+ Call Settings::acceleratedCompositingEnabled.
+
+ * WebProcess/Plugins/PluginView.h:
+
+2010-08-06 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Delete key doesn't go Back in WebKit2
+ <rdar://problem/8272978>
+ https://bugs.webkit.org/show_bug.cgi?id=43665
+
+ - Adds support for delete key going back (mac only for now)
+ - Adds support for command-left/command right going back/forward
+ - Flesh out scrolling due to arrow keys on the mac to match old webkit.
+ - Made performDefaultBehaviorForKeyEvent platform specific and added
+ a boolean return value which will be used later to inform the UI process
+ about what events have been processed.
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _wantsKeyDownForEvent:]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::backItem):
+ (WebKit::WebBackForwardListProxy::forwardItem):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::keyEvent):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::scroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::scroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::scroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2010-08-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r64904.
+ http://trac.webkit.org/changeset/64904
+ https://bugs.webkit.org/show_bug.cgi?id=43671
+
+ Broke the Qt Windows builders. (Requested by bbandix on
+ #webkit).
+
+ * WebKit2.pri: Removed.
+ * WebKit2.pro:
+ * WebProcess.pro: Removed.
+
+2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ NPAPI headers should be included through npruntime_internal.h
+
+ https://bugs.webkit.org/show_bug.cgi?id=43620
+
+ * DerivedSources.pro:
+ * WebProcess/Plugins/NPJSObject.h:
+ * WebProcess/Plugins/NPRuntimeUtilities.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+
+2010-08-07 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Build WebKit2 into a static lib
+
+ https://bugs.webkit.org/show_bug.cgi?id=43621
+
+ * WebKit2.pri: Added. Defined addWebKit2Lib function that defines how to link against the static lib.
+ * WebKit2.pro: Build specification for the WebKit2 framework.
+ * WebProcess.pro: Copied from WebKit2/WebKit2.pro. Build specification for the WebProcess binary.
+
+2010-08-05 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKitTestRunner needs to be able to set the font smoothing type
+ https://bugs.webkit.org/show_bug.cgi?id=43406
+
+ Reviewed by Adam Roben.
+
+ * Shared/FontSmoothingLevel.h: Added.
+ (WebKit::):
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+ Initialize fontSmoothingLevel.
+ (WebKit::WebPreferencesStore::swap):
+ Copy fontSmoothingLevel.
+
+ * Shared/WebPreferencesStore.h:
+ (WebKit::WebPreferencesStore::encode):
+ Encode fontSmoothingLevel.
+ (WebKit::WebPreferencesStore::decode):
+ Decode it.
+
+ * UIProcess/API/C/WKPreferencesPrivate.cpp: Added.
+ (WKPreferencesSetFontSmoothingLevel):
+ Get the font smoothing level from the WKFontSmoothingLevel, and call
+ WebPreferences::setFontSmoothingLevel().
+ (WKPreferencesGetFontSmoothingLevel):
+ Get the font smoothing level from WebPreferences, and translate it to a
+ WKFontSmoothingLevel.
+
+ * UIProcess/API/C/WKPreferencesPrivate.h: Added.
+ Declare the font smoothing levels, and declare functions to get and set
+ the level.
+
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::setFontSmoothingLevel):
+ Set fontSmoothingLevel and call update().
+ (WebKit::WebPreferences::fontSmoothingLevel):
+ Return the level.
+
+ * UIProcess/WebPreferences.h:
+ Declare getter and setter for fontSmoothingLevel.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files to project.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::preferencesDidChange):
+ Call platformPreferencesDidChange().
+
+ * WebProcess/WebPage/WebPage.h:
+ Declare platformPreferencesDidChange().
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ Stubbed.
+
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ Stubbed.
+
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ On CG platforms, call wkSetFontSmoothingLevel(). This matches the code
+ in old WebKit's WebPreferences. Set the font rendering mode to either
+ normal (CG) or alternative (GDI) based on the font smoothing level. This
+ matches what was done in old WebKit's WebView.
+
+ * win/WebKit2.vcproj:
+ Add FontSmoothingLevel.h and WKPreferencesPrivate.{h,cpp} to project.
+
+ * win/WebKit2Generated.make:
+ Copy WKPreferencesPrivate.h.
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Build fixes.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::SharedMemory::Handle::encode):
+ (WebKit::SharedMemory::Handle::decode):
+ * Shared/qt/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ * Shared/qt/UpdateChunk.h:
+ * Shared/win/UpdateChunk.cpp:
+ (WebKit::UpdateChunk::encode):
+ (WebKit::UpdateChunk::decode):
+ * Shared/win/UpdateChunk.h:
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Change all ArgumentEncoder and ArgumentDecoder references to pointers
+ https://bugs.webkit.org/show_bug.cgi?id=43651
+
+ * Platform/CoreIPC/ArgumentCoder.h:
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ * Platform/CoreIPC/Arguments.h:
+ * Platform/CoreIPC/Attachment.cpp:
+ * Platform/CoreIPC/Attachment.h:
+ * Platform/CoreIPC/mac/MachPort.h:
+ * Platform/SharedMemory.h:
+ * Platform/mac/SharedMemoryMac.cpp:
+ * Shared/DrawingAreaBase.cpp:
+ * Shared/DrawingAreaBase.h:
+ * Shared/WebEvent.h:
+ * Shared/WebNavigationDataStore.h:
+ * Shared/WebPreferencesStore.h:
+ * Shared/mac/UpdateChunk.cpp:
+ * Shared/mac/UpdateChunk.h:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/WebContext.cpp:
+ * UIProcess/WebContext.h:
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.cpp:
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't try to allocate a vector unless we know the buffer can contain it
+ https://bugs.webkit.org/show_bug.cgi?id=43647
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ (CoreIPC::):
+ Check that the argument decoder buffer actually can hold all the vector elements.
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
+ Align the current position to the given alignment, add the size and check if the position is
+ past the end of the buffer.
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughtToContain):
+ Get the size and alignment and call the other bufferIsLargeEnoughtToContain overload.
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Detect invalid CoreIPC messages and call didReceiveInvalidMessage
+ https://bugs.webkit.org/show_bug.cgi?id=43643
+ <rdar://problem/7891069>
+
+ * Platform/CoreIPC/ArgumentDecoder.cpp:
+ (CoreIPC::ArgumentDecoder::alignBufferPosition):
+ If we can't correctly align the buffer position, mark the decoder as invalid.
+
+ * Platform/CoreIPC/ArgumentDecoder.h:
+ (CoreIPC::ArgumentDecoder::isInvalid):
+ Check if the argument decoder is valid.
+
+ (CoreIPC::ArgumentDecoder::markInvalid):
+ Mark the argument decoder as invalid, by setting its buffer position past its end position.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchMessages):
+ Check if m_client is null before dispatching messages. If an argument decoder was marked invalid, call
+ Connection::Client::didReceiveInvalidMessage.
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::Message::releaseArguments):
+ Rename destroy to releaseArguments and make it return a PassOwnPtr.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::~WebProcessProxy):
+ Call releaseArguments instead of destroy.
+
+ (WebKit::WebProcessProxy::didReceiveInvalidMessage):
+ Kill the web process and invalidate its connection.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveInvalidMessage):
+ Don't do anything, if the UI process is sending invalid messages there's not much we can do.
+
+ * WebProcess/WebProcess.h:
+
+2010-08-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add CoreIPC::MessageReceiver class
+ https://bugs.webkit.org/show_bug.cgi?id=43637
+
+ * Platform/CoreIPC/Connection.h:
+ (CoreIPC::Connection::MessageReceiver::~MessageReceiver):
+ Add MessageReceiver class and make Client inherit from it.
+
+ (CoreIPC::Connection::MessageReceiver::didReceiveSyncMessage):
+ Change didReceiveSyncMessage from being a pure virtual member function and make it
+ assert by default instead.
+
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
+ Remove ChunkedUpdateDrawingAreaProxy::didReceiveSyncMessage.
+
+ * Shared/DrawingAreaBase.h:
+ Include "Connection.h" instead.
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::didReceiveSyncMessage):
+ Change didReceiveSyncMessage from being a pure virtual member function and make it
+ assert by default instead.
+
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/WebProcess.h:
+ Remove didReceiveSyncMessage.
+
+2010-08-06 Jessie Berlin <jberlin@apple.com>
+
+ Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
+ Unreviewed.
+
+ * UIProcess/PageClient.h:
+ * UIProcess/VisitedLinkProvider.h:
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.h:
+
+2010-08-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add form client for injected bundle code
+ https://bugs.webkit.org/show_bug.cgi?id=43603
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetFormClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: Added.
+ (WebKit::InjectedBundlePageFormClient::InjectedBundlePageFormClient):
+ (WebKit::InjectedBundlePageFormClient::initialize):
+ (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
+ (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
+ (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::textFieldDidBeginEditing):
+ (WebKit::WebEditorClient::textFieldDidEndEditing):
+ (WebKit::WebEditorClient::textDidChangeInTextField):
+ (WebKit::WebEditorClient::textDidChangeInTextArea):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleFormClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleFormClient):
+ * win/WebKit2.vcproj:
+
+2010-08-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to get a JSValueRef for a node handle and a world
+ https://bugs.webkit.org/show_bug.cgi?id=43591
+
+ - Add API to get a JSValueRef for a world, node and frame (the
+ frame is currently necessary to pick the right globalObject for
+ the node wrapper).
+ - Add API to a JSGlobalContextRef for a world and a frame.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetJavaScriptContextForWorld):
+ (WKBundleFrameGetJavaScriptWrapperForNodeForWorld):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::coreNode):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
+ (WebKit::InjectedBundleScriptWorld::coreWorld):
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::jsContext):
+ (WebKit::WebFrame::jsContextForWorld):
+ (WebKit::WebFrame::jsWrapperForWorld):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-08-05 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Sam Weinig
+
+ Bug 43594 - Add string forwards to Forward.h
+ This allows us to remove forward declarations for these classes from
+ WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
+
+ * UIProcess/PageClient.h:
+ * UIProcess/VisitedLinkProvider.h:
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebFrameProxy.h:
+ * UIProcess/WebHistoryClient.h:
+ * UIProcess/WebLoaderClient.h:
+ * UIProcess/WebPolicyClient.h:
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebUIClient.h:
+ * UIProcess/win/WebView.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
+ * WebProcess/Plugins/PluginController.h:
+ * WebProcess/WebPage/WebFrame.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.h:
+
+2010-08-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Use the visited link provider for visited links
+ https://bugs.webkit.org/show_bug.cgi?id=43583
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Remove AddVisitedLink.
+
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ Remove PopulateVisitedLinks and add AddVisitedLink.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::sharedProcessContext):
+ Initialize the main run loop before creating the context.
+
+ (WebKit::WebContext::sharedThreadContext):
+ Ditto.
+
+ (WebKit::WebContext::create):
+ Ditto.
+
+ (WebKit::WebContext::WebContext):
+ Initialize the visited link provider.
+
+ (WebKit::WebContext::processDidFinishLaunching):
+ Ask the visited link provider to populate visited links.
+
+ (WebKit::WebContext::addVisitedLink):
+ Ask the visited link provider to add the visited link.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::addVisitedLink):
+ Call WebContext::addVisitedLink.
+
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ Handle AddVisitedLink.
+
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ Call WebContext::processdidFinishLaunching.
+
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::populateVisitedLinks):
+ Don't send the WebProcessProxyMessage::PopulateVisitedLinks message.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::isLinkVisited):
+ Call WebProcess::isLinkVisited.
+
+ (WebKit::WebPlatformStrategies::addVisitedLink):
+ Call WebProcess::addVisitedLink.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::setVisitedLinkTable):
+ Create a shared memory object and tell the visited link table about it.
+
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ Go through the link hashes and call Page::visitedStateChanged.
+
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ Call Page::allVisitedStateChanged.
+
+ (WebKit::WebProcess::isLinkVisited):
+ Call VisitedLinkTable::isLinkVisited.
+
+ (WebKit::WebProcess::addVisitedLink):
+ Inform the UI process about the added link.
+
+ (WebKit::WebProcess::didReceiveMessage):
+ Handle new messages.
+
+2010-08-05 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Add missing include path.
+
+ * win/WebKit2Common.vsprops:
+
+2010-08-05 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Sam Weinig.
+
+ Export WKError.h
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2010-08-05 Steve Falkenburg <sfalken@apple.com>
+
+ Windows build fix.
+ Correct vcproj nesting.
+
+ * win/WebKit2.vcproj:
+
+2010-08-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ Add script world API for injected bundles
+ https://bugs.webkit.org/show_bug.cgi?id=43577
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (WebKit::):
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp: Added.
+ (WKBundleScriptWorldGetTypeID):
+ (WKBundleScriptWorldCreateWorld):
+ (WKBundleScriptWorldNormalWorld):
+ (WKBundleScriptWorldRetain):
+ (WKBundleScriptWorldRelease):
+ * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.h: Added.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: Added.
+ (WebKit::allWorlds):
+ (WebKit::InjectedBundleScriptWorld::create):
+ (WebKit::InjectedBundleScriptWorld::getOrCreate):
+ (WebKit::InjectedBundleScriptWorld::normalWorld):
+ (WebKit::InjectedBundleScriptWorld::InjectedBundleScriptWorld):
+ (WebKit::InjectedBundleScriptWorld::~InjectedBundleScriptWorld):
+ * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: Added.
+ (WebKit::InjectedBundleScriptWorld::type):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-08-05 Sam Weinig <sam@webkit.org>
+
+ Reviewed Anders Carlsson.
+
+ Add DOM Node wrapper class for injected bundle
+ https://bugs.webkit.org/show_bug.cgi?id=43524
+
+ - This class should not expose any DOM APIs, but just be a handle that can be used to get a JS
+ wrapper for the node in a specific world.
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ (WebKit::):
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: Added.
+ (WKBundleNodeHandleGetTypeID):
+ (WKBundleNodeHandleRetain):
+ (WKBundleNodeHandleRelease):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h: Added.
+ * WebProcess/InjectedBundle/DOM: Added.
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Added.
+ (WebKit::domHandleCache):
+ (WebKit::getDOMHandle):
+ (WebKit::setDOMHandle):
+ (WebKit::removeDOMHandle):
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ (WebKit::InjectedBundleNodeHandle::create):
+ (WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle):
+ (WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Added.
+ (WebKit::InjectedBundleNodeHandle::type):
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+2010-08-05 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * Platform/mac/SharedMemoryMac.cpp:
+
+2010-08-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add VisitedLinkProvider class
+ https://bugs.webkit.org/show_bug.cgi?id=43570
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ Add SetVisitedLinkTable, VisitedLinkStateChanged and AllVisitedLinkStateChanged.
+
+ * UIProcess/VisitedLinkProvider.cpp: Added.
+ (WebKit::VisitedLinkProvider::VisitedLinkProvider):
+ Initialize table.
+
+ (WebKit::VisitedLinkProvider::populateVisitedLinksIfNeeded):
+ Ask the context to populate visited links.
+
+ (WebKit::VisitedLinkProvider::addVisitedLink):
+ Add the link hash to the set of pending visited links and start the timer.
+
+ (WebKit::nextPowerOf2):
+ Add helper function.
+
+ (WebKit::tableSizeForKeyCount):
+ Given a key count, returns a table size. The table size is always a power of two, and
+ is chosen so that the table is always at least half empty.
+
+ (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
+ First, check if we need to resize the hash table and allocate new shared memory for it if that is the case.
+ Then, go through the pending link hash vector and insert all the elements in the table. Finally, notify the web
+ process about visited links whose state have changed.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+ Add case statements.
+
+ * win/WebKit2.vcproj:
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add VisitedLinkProvider.cpp and VisitedLinkProvider.h.
+
+2010-08-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add VisitedLinkTable class
+ https://bugs.webkit.org/show_bug.cgi?id=43566
+
+ * Shared/VisitedLinkTable.cpp: Added.
+ (WebKit::VisitedLinkTable::VisitedLinkTable):
+ (WebKit::VisitedLinkTable::~VisitedLinkTable):
+ Add out of line constructors so we won't have to include SharedMemory.h in the
+ VisitedLinkTable.h header.
+
+ (WebKit::isPowerOf2):
+ Add helper function.
+
+ (WebKit::VisitedLinkTable::setSharedMemory):
+ Set the new shared memory and update the table size and hash.
+
+ (WebKit::doubleHash):
+ Add helper function from the WTF HashTable.
+
+ (WebKit::VisitedLinkTable::addLinkHash):
+ Add a link hash to the table.
+
+ (WebKit::VisitedLinkTable::isLinkVisited):
+ See if there is an entry for the given link hash.
+
+ * Shared/VisitedLinkTable.h: Added.
+ (WebKit::VisitedLinkTable::sharedMemory):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add VisitedLinkTable.cpp and VisitedLinkTable.h
+
+2010-08-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add shared memory abstraction
+ https://bugs.webkit.org/show_bug.cgi?id=43535
+ <rdar://problem/8275295>
+
+ * Platform/SharedMemory.h: Added.
+ (WebKit::SharedMemory::):
+ (WebKit::SharedMemory::size):
+ Return the size, in bytes, of the shared memory object.
+
+ (WebKit::SharedMemory::data):
+ Return a pointer to the shared memory object.
+
+ * Platform/mac/SharedMemoryMac.cpp: Added.
+ (WebKit::SharedMemory::Handle):
+ A shared memory handle, which can be passed in a CoreIPC Connection.
+
+ (WebKit::SharedMemory::create):
+ Allocate the shared memory.
+
+ (WebKit::SharedMemory::~SharedMemory):
+ Deallocate the shared memory.
+
+ (WebKit::SharedMemory::createHandle):
+ Create a mach port and pass it to the handle.
+
+ (WebKit::SharedMemory::systemPageSize):
+ Return the system page size, in bytes.
+
+ * Platform/win/SharedMemoryWin.cpp: Added.
+ Add stubbed out version.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ Add files.
+
+2010-08-05 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Unify blob related feature defines to ENABLE(BLOB).
+ https://bugs.webkit.org/show_bug.cgi?id=43081
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-08-05 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Rubber-stamped by Kenneth Rohde Christiansen.
+
+ [Qt] Remove redundant include paths from WebKit2.pro.
+
+ * WebKit2.pro:
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Teach WebKit2 how to load the TestNetscapePlugin
+
+ Fixes <http://webkit.org/b/43513> WebKitTestRunner on Windows fails to
+ load TestNetscapePlugin
+
+ Reviewed by Jon Honeycutt.
+
+ * Platform/Module.cpp:
+ (WebKit::Module::Module): Initialize m_module on Windows.
+
+ * Platform/Module.h: Added m_module on Windows.
+
+ * Platform/win/ModuleWin.cpp:
+ (WebKit::Module::load): Implemented using ::LoadLibraryExW.
+ (WebKit::Module::unload): Implemented using ::FreeLibrary.
+ (WebKit::Module::platformFunctionPointer): Implemented using
+ ::GetProcAddress.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::TimerBase::timerFired): Kill the native timer before calling
+ the fired callback. This makes all our timers non-repeating, but
+ that's all we need currently.
+ (RunLoop::TimerBase::start): Added an assertion to help us figure out
+ when we need to implement repeating timers. Also fixed a typo.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::pluginsDirectories): Added a FIXME.
+
+ (WebKit::PathWalker::PathWalker):
+ (WebKit::PathWalker::~PathWalker):
+ (WebKit::PathWalker::isValid):
+ (WebKit::PathWalker::data):
+ (WebKit::PathWalker::step):
+ Added. This class wraps the ::FindFirstFile/::FindNextFile APIs.
+
+ (WebKit::PluginInfoStore::pluginPathsInDirectory): Implemented by
+ porting logic from
+ WebCore::PluginDatabase::getPluginPathsInDirectories.
+ (WebKit::getVersionInfo): Copied from PluginDatabaseWin.cpp.
+ (WebKit::PluginInfoStore::getPluginInfo): Implemented by porting logic
+ from WebCore::PluginPackage::fetchInfo.
+ (WebKit::PluginInfoStore::shouldUsePlugin): Changed to always return
+ true for now. Added a FIXME about implementing this for real.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::createPlugin):
+ Removed PLATFORM(MAC) guards around plugin code.
+
+ * win/WebKit2.vcproj: Let VS sort the file.
+
+2010-08-05 Antti Koivisto <koivisto@iki.fi>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Use toCopiedRef for making WK objects
+ https://bugs.webkit.org/show_bug.cgi?id=43552
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ (WKStringCreateWithQString):
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ (WKURLCreateWithQUrl):
+
+2010-08-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Change callback APIs to include an Error object in one callback, instead of having a second callback for failure.
+ https://bugs.webkit.org/show_bug.cgi?id=43522
+
+ This includes adding a WKErrorRef object which - for now - either exists or doesn't.
+ In the future, it may contain useful information about the error.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+ * win/WebKit2Generated.make:
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+
+ * Shared/WebError.h: Added.
+ (WebKit::WebError::create):
+ (WebKit::WebError::WebError):
+ (WebKit::WebError::type):
+
+ * UIProcess/API/C/WKError.cpp: Added.
+ (WKErrorGetTypeID):
+ * UIProcess/API/C/WKError.h: Added.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageRunJavaScriptInMainFrame):
+ (callRunJavaScriptBlockAndRelease):
+ (WKPageRunJavaScriptInMainFrame_b):
+ (WKPageRenderTreeExternalRepresentation):
+ (callRenderTreeExternalRepresentationBlockAndDispose):
+ (WKPageRenderTreeExternalRepresentation_b):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPagePrivate.h:
+
+ * UIProcess/GenericCallback.h:
+ (WebKit::GenericCallback::create):
+ (WebKit::GenericCallback::performCallbackWithReturnValue):
+ (WebKit::GenericCallback::invalidate):
+ (WebKit::GenericCallback::GenericCallback):
+
+2010-08-04 Ada Chan <adachan@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2Generated.make:
+
+2010-08-04 John Sullivan <sullivan@apple.com>
+
+ Build fix, rubber-stamped by Brady Eidson.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Made WKData.h a public header.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_SetValue): Removed unreachable code.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_SetValue): Added some case statements that are compiled
+ on Windows to avoid a warning about having default but not cases.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2.vcproj: Added NetscapeBrowserFuncs.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ The functions in NetscapePluginModuleWin.cpp have been moved to
+ NetscapePluginModule.cpp.
+
+ * WebProcess/Plugins/Netscape/win/NetscapePluginModuleWin.cpp: Removed.
+ * win/WebKit2.vcproj: Removed NetscapePluginModuleWin.
+
+2010-08-04 Adam Roben <aroben@apple.com>
+
+ Move bundle-loading code from NetscapePluginModule to a new Module
+ class
+
+ This allows more NetscapePluginModule code to be cross-platform.
+
+ Fixes <http://webkit.org/b/43497> NetscapePluginModule::try/unload
+ should be cross-platform
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/Module.cpp: Added.
+ (WebKit::Module::Module): Store our path.
+ (WebKit::Module::~Module): Unload our native module.
+
+ * Platform/Module.h: Added.
+ (WebKit::Module::leakBundle): Does what it says.
+ (WebKit::Module::functionPointer): Returns a pointer to the named
+ function, with the right type.
+
+ * Platform/mac/ModuleMac.mm: Added.
+ (WebKit::Module::load): Code was moved here from
+ NetscapePluginModule::tryLoad.
+ (WebKit::Module::unload): Just clears our bundle.
+ (WebKit::Module::platformFunctionPointer): Code was moved here from
+ NetscapePluginModuleMac.cpp.
+
+ * Platform/qt/ModuleQt.cpp: Added.
+ (WebKit::Module::load):
+ (WebKit::Module::unload):
+ (WebKit::Module::platformFunctionPointer):
+ * Platform/win/ModuleWin.cpp: Added.
+ (WebKit::Module::load):
+ (WebKit::Module::unload):
+ (WebKit::Module::platformFunctionPointer):
+ Just stubbed out these functions.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added Module.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryLoad):
+ (WebKit::NetscapePluginModule::unload):
+ Moved here from NetscapePluginModuleMac.cpp. Now uses the
+ cross-platform m_module member.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginModule.h: Replaced
+ m_bundle with m_module.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginModuleMac.cpp: Removed.
+
+ * win/WebKit2.vcproj: Added Module.
+
+2010-08-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Lay the groundwork for saving/restoring page session state to WK2
+ https://bugs.webkit.org/show_bug.cgi?id=43495
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKBase.h:
+
+ Arbitrary byte buffer:
+ * Shared/WebData.h: Added.
+ (WebKit::WebData::create):
+ (WebKit::WebData::bytes):
+ (WebKit::WebData::size):
+ (WebKit::WebData::WebData):
+ (WebKit::WebData::type):
+
+ API facing object to act as a byte buffer:
+ * UIProcess/API/C/WKData.cpp: Added.
+ (WKDataGetTypeID):
+ (WKDataCreate):
+ (WKDataGetBytes):
+ (WKDataGetSize):
+ (WKDataRetain):
+ (WKDataRelease):
+ * UIProcess/API/C/WKData.h: Added.
+
+ API for saving/restoring state:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopySessionState):
+ (WKPageRestoreFromSessionState):
+ * UIProcess/API/C/WKPage.h:
+
+ These will be filled in later:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::sessionState):
+ (WebKit::WebPageProxy::restoreFromSessionState):
+ * UIProcess/WebPageProxy.h:
+
+
+2010-08-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Set correct default minimumFontSize.
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::WebPreferencesStore):
+
+2010-08-03 Adam Roben <aroben@apple.com>
+
+ Turn on PLATFORM_STRATEGIES on Windows
+
+ Fixes <http://webkit.org/b/43431>.
+
+ Reviewed by Anders Carlsson.
+
+ * win/WebKit2.vcproj: Added WebPlatformStrategies. Also let VS reorder
+ this file as it saw fit.
+
+2010-08-03 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Close the WebProcess
+
+ https://bugs.webkit.org/show_bug.cgi?id=41690
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::open): Registered connectionDidClose to be called when the client disconnected.
+ * Platform/qt/RunLoopQt.cpp:
+ (RunLoop::stop): Implemented by calling QCoreApplication::exit.
+
+2010-08-03 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WebKitTestRunner needs to activate the Mac font ascent hack
+ https://bugs.webkit.org/show_bug.cgi?id=43404
+
+ Reviewed by Darin Adler.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleActivateMacFontAscentHack):
+ Get the InjectedBundle, and calls its activateMacFontAscentHack().
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ Declare WKBundleActivateMacFontAscentHack().
+
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ Declare activateMacFontAscentHack().
+
+ * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+ (WebKit::InjectedBundle::activateMacFontAscentHack):
+ Stubbed.
+
+ * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+ (WebKit::InjectedBundle::activateMacFontAscentHack):
+ Stubbed.
+
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+ (WebKit::InjectedBundle::activateMacFontAscentHack):
+ Activate the ascent hack.
+
+2010-08-03 Simon Fraser <simon.fraser@apple.com>
+
+ Fix typo in typo fix.
+
+ * Shared/DrawingAreaBase.h:
+ (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
+ (WebKit::DrawingAreaBase::DrawingAreaBase):
+
+2010-08-03 Simon Fraser <simon.fraser@apple.com>
+
+ Fix typo in previous commit.
+
+ * Shared/DrawingAreaBase.h:
+ (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
+ (WebKit::DrawingAreaBase::DrawingAreaBase):
+
+2010-08-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Compositing iframe layout test crashes in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42860
+
+ Fix assertion caused by a DrawingArea handling a message that was targetted at an older DrawingArea
+ that it has replaced.
+
+ This was done by assigning a unique ID to each DrawingAreaProxy that gets created, and passing
+ this ID, along with the type, to the WebProcess via an encoded DrawingAreaInfo. Each message
+ also includes this ID. Messages with an ID that doesn't match that of the current DrawingArea are ignored.
+
+ Refactored some common code and data into a DrawingAreaBase class which is shared, and adding
+ encode/decode of DrawingAreaInfo.
+
+ * Shared/DrawingAreaBase.cpp: Added.
+ (WebKit::DrawingAreaBase::encode):
+ (WebKit::DrawingAreaBase::decode):
+ * Shared/DrawingAreaBase.h: Added.
+ (WebKit::DrawingAreaBase::):
+ (WebKit::DrawingAreaBase::~DrawingAreaBase):
+ (WebKit::DrawingAreaBase::type):
+ (WebKit::DrawingAreaBase::id):
+ (WebKit::DrawingAreaBase::DrawingAreaInfo::DrawingAreaInfo):
+ (WebKit::DrawingAreaBase::DrawingAreaBase):
+ (CoreIPC::):
+ * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setSize):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
+ (WebKit::ChunkedUpdateDrawingAreaProxy::update):
+ * UIProcess/DrawingAreaProxy.cpp:
+ (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+ (WebKit::DrawingAreaProxy::nextDrawingAreaID):
+ * UIProcess/DrawingAreaProxy.h:
+ * UIProcess/LayerBackedDrawingAreaProxy.cpp:
+ (WebKit::LayerBackedDrawingAreaProxy::setSize):
+ (WebKit::LayerBackedDrawingAreaProxy::setPageIsVisible):
+ (WebKit::LayerBackedDrawingAreaProxy::update):
+ * UIProcess/LayerBackedDrawingAreaProxy.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createWindow):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
+ (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
+ (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ (WebKit::DrawingArea::DrawingArea):
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+ (WebKit::LayerBackedDrawingArea::didReceiveMessage):
+ * WebProcess/WebPage/LayerBackedDrawingArea.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::create):
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::changeAcceleratedCompositingMode):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ * win/WebKit2.vcproj:
+
+2010-08-03 Alex Milowski <alex@milowski.com>
+
+ Reviewed by Beth Dakin.
+
+ Changed the ENABLE_MATHML value to enable MathML by default.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-08-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Compositing iframe layout test crashes in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42860
+
+ Part one of the fix: make DrawingArea ref-counted, so that the object
+ can survide a swap in drawing areas inside the run loop observer callback.
+
+ * WebProcess/WebPage/DrawingArea.cpp:
+ (WebKit::DrawingArea::create):
+ * WebProcess/WebPage/DrawingArea.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm:
+ (WebKit::LayerBackedDrawingArea::platformClear):
+ (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverCallback):
+ (WebKit::LayerBackedDrawingArea::updateLayoutRunLoopObserverFired):
+
+2010-08-03 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Frequent ASSERT_NOT_REACHED in Connection::processIncomingMessage when running regression tests
+ https://bugs.webkit.org/show_bug.cgi?id=42926
+ <rdar://problem/8237329>
+
+ Remove this assert, it's bogus. It would fire when a reply came in on the connection queue before
+ waitForReply was called on the client thread, but that case is already covered.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::processIncomingMessage):
+
+2010-08-03 Adam Roben <aroben@apple.com>
+
+ Compile out two Mac-only localized strings on non-Mac platforms
+
+ Fixes <http://webkit.org/b/43433> copyImageUnknownFileLabel and
+ AXARIAContentGroupText should only be compiled on Mac
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+ Wrapped copyImageUnknownFileLabel and AXARIAContentGroupText in
+ PLATFORM(MAC).
+
+2010-08-03 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ [Qt] Unreviewed typo fix in the WebKit2/DerivedSources.pro project file.
+
+ Use QMAKE_MKDIR as the command for directory creation.
+
+ * DerivedSources.pro:
+
+2010-08-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add VisitedLinkStrategy for each platform to implement
+ https://bugs.webkit.org/show_bug.cgi?id=43393
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebKit::WebPlatformStrategies::createVisitedLinkStrategy):
+ (WebKit::WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links, for now.
+ (WebKit::WebPlatformStrategies::addVisitedLink): Ditto.
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Darin Fisher.
+
+ PopupMenu refactoring in preparation to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42592
+
+ Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
+ SearchPopupMenu respectively. At this point they are just empty implementations.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
+ (WebKit::WebPopupMenu::WebPopupMenu):
+ (WebKit::WebPopupMenu::~WebPopupMenu):
+ (WebKit::WebPopupMenu::disconnectClient):
+ (WebKit::WebPopupMenu::show):
+ (WebKit::WebPopupMenu::hide):
+ (WebKit::WebPopupMenu::updateFromElement):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ (WebKit::WebSearchPopupMenu::popupMenu):
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ (WebKit::WebSearchPopupMenu::enabled):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
+
+ As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
+ instances, concrete classes that inherit from ChromeClient needed to be changed to
+ implement the new methods.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+ build issues:
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-08-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix plug-in test failures and remove tests from the Skipped list
+ https://bugs.webkit.org/show_bug.cgi?id=43389
+
+ * WebProcess/Plugins/JSNPMethod.cpp:
+ JSNPMethod::s_info should specify InternalFunction::info as its parent.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::cancelStreamLoad):
+ Special-case the manual stream and call PluginController::cancelManualStreamLoad.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::stop):
+ It's OK to call stop on a stream that hasn't been started. Remove assertion and return early.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add cancelManualStreamLoad.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::cancelManualStreamLoad):
+ Tell the document loader to cancel the main resource load.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::innerText):
+ Check for a null document element.
+
+2010-08-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for loading manual streams
+ https://bugs.webkit.org/show_bug.cgi?id=43380
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NetscapePlugin):
+ Initialize m_loadManually to false.
+
+ (WebKit::NetscapePlugin::removePluginStream):
+ Special case the manual stream.
+
+ (WebKit::NetscapePlugin::initialize):
+ Don't request the stream if we're already loading.
+
+ (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
+ Create the manual stream and pass the response to it.
+
+ (WebKit::NetscapePlugin::manualStreamDidReceiveData):
+ Pass the data to the manual stream.
+
+ (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
+ Call the manual stream.
+
+ (WebKit::NetscapePlugin::manualStreamDidFail):
+ Ditto.
+
+ * WebProcess/Plugins/Plugin.h:
+ Add pure virtual member functions for manual stream loading.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::buildHTTPHeaders):
+ Put code in a function so both PluginView::Stream::didReceiveResponse and
+ manualLoadDidReceiveResponse can call it.
+
+ (WebKit::PluginView::Stream::didReceiveResponse):
+ Call buildHTTPHeaders.
+
+ (WebKit::PluginView::Stream::didFinishLoading):
+ Protect the plug-in when calling destroyStream.
+
+ (WebKit::PluginView::manualLoadDidReceiveResponse):
+ Call Plugin::manualStreamDidReceiveResponse.
+
+ (WebKit::PluginView::manualLoadDidReceiveData):
+ Call Plugin::manualStreamDidReceiveData.
+
+ (WebKit::PluginView::manualLoadDidFinishLoading):
+ Call Plugin::manualStreamDidFinishLoading.
+
+ (WebKit::PluginView::manualLoadDidFail):
+ Call Plugin::manualStreamDidFail.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
+ Initialize m_hasSentResponseToPluginView to false.
+
+ (WebKit::WebFrameLoaderClient::setMainDocumentError):
+ Call PluginView::manualLoadDidFail.
+
+ (WebKit::WebFrameLoaderClient::committedLoad):
+ Call PluginView::manualLoadDidReceiveResponse.
+
+ (WebKit::WebFrameLoaderClient::finishedLoading):
+ Call PluginView::manualLoadDidFinishLoading.
+
+ (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
+ Keep track of the plug-in view.
+
+2010-08-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Basic WK2 visited link coloring
+ https://bugs.webkit.org/show_bug.cgi?id=43377
+
+ Add simple API that allows the WK2 app to add 1 visited link at a time.
+ For now, this just pipes each individual LinkHash down to WebCore.
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextAddVisitedLink):
+ * UIProcess/API/C/WKContext.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::addVisitedLink):
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::addVisitedLinkHash):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+
+2010-08-02 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs layoutTestController.setCanOpenWindows
+ https://bugs.webkit.org/show_bug.cgi?id=42321
+
+ WebKitTestRunner needs layoutTestController.setCloseRemainingWindowsWhenComplete
+ https://bugs.webkit.org/show_bug.cgi?id=42779
+
+ Implemented window.close, added a function that does a similar operation on behalf
+ of injected bundle code named WKBundlePageClose, and fixed the reference counting of
+ the result of the createNewPage client function.
+
+ * UIProcess/API/cpp/WKRetainPtr.h: Added clear. Tweaked formatting. Renamed
+ releaseRef to leakRef.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _updateVisibility]): Handle the case where drawing area is 0. This
+ came up in WebKitTestRunner and other functions handle drawing area of 0.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage): Update now that createNewPage
+ returns a PassRefPtr.
+ (WebKit::WebPageProxy::createNewPage): Changed to return a PassRefPtr.
+ * UIProcess/WebPageProxy.h: Ditto.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::createNewPage): Changed to return a PassRefPtr and adopt
+ the WKPageRef passed from the client. This follows the "create rule".
+ * UIProcess/WebUIClient.h: Ditto.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageClose): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added WKBundlePageClose
+ and re-sorted the other functions in this file.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::closeWindowSoon): Implemented this.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage): Called setJavaScriptCanOpenWindowsAutomatically(true).
+ I suppose we will need to revisit this later when we implement pop-up blocking.
+ (WebKit::WebPage::tryClose): Factored out the part of this that sends a message
+ to the other process.
+ (WebKit::WebPage::sendClose): This is where the part that sends a message went.
+ * WebProcess/WebPage/WebPage.h: Added sendClose, used by both closeWindowSoon
+ and WKBundlePageClose.
+
+2010-08-02 John Sullivan <sullivan@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=43369
+ WebBackForwardList::forwardListAsImmutableArrayWithLimit can return partly-uninitialized array
+
+ Reviewed by Ada Chan.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ Use a simpler and correct expression to determine "last".
+
+2010-08-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Protect the plug-in from being destroyed while in plug-in code
+ https://bugs.webkit.org/show_bug.cgi?id=43370
+
+ Add a PluginProtector to NPRuntimeObjectMap and use it in JSNPObject.
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::callMethod):
+ (WebKit::JSNPObject::callObject):
+ (WebKit::JSNPObject::callConstructor):
+ (WebKit::JSNPObject::put):
+ (WebKit::JSNPObject::getOwnPropertyNames):
+ (WebKit::JSNPObject::propertyGetter):
+ Add PluginProtector declarations.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::PluginProtector::PluginProtector):
+ Ref the plug-in view (unless it's being destroyed).
+
+ (WebKit::NPRuntimeObjectMap::PluginProtector::~PluginProtector):
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Initialize m_isBeingDestroyed.
+
+ (WebKit::PluginView::~PluginView):
+ Set m_isBeingDestroyed to true.
+
+ (WebKit::PluginView::scriptObject):
+ Don't crash if the plug-in failed to initialize.
+
+ (WebKit::PluginView::evaluate):
+ Remove comment.
+
+ * WebProcess/Plugins/PluginView.h:
+ (WebKit::PluginView::isBeingDestroyed):
+
+2010-08-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cache JSNPObjects and fix bugs in the object map
+ https://bugs.webkit.org/show_bug.cgi?id=43368
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::JSNPObject):
+ Assert that we're not trying to wrap an NPJSObject.
+
+ (WebKit::JSNPObject::~JSNPObject):
+ Tell the object map that we're gone.
+
+ (WebKit::JSNPObject::invalidate):
+ Release the NPObject and null out the pointer.
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::create):
+ Assert that we're not trying to wrap a JSNPObject.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
+ If we're passed a JSNPObject, just extract its NPObject.
+
+ (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
+ If we're passed an NPJSObject, just extract its JSObject. Otherwise, check if we already have
+ a JSObject for this NPObject and return it.
+
+ (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
+ Remove the object from the map.
+
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
+ getOrCreateJSObject now checks for wrapped objects.
+
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ getOrCreateNPObject now checks for wrapped objects.
+
+ (WebKit::NPRuntimeObjectMap::invalidate):
+ Invalidate JSNPObjects as well.
+
+2010-08-02 Jeremy Orlow <jorlow@chromium.org>
+
+ Speculative revert of 64425 due to Chromium instability
+ https://bugs.webkit.org/show_bug.cgi?id=43347
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
+ * win/WebKit2.vcproj:
+
+2010-08-02 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Generate forwarding headers for WebKit2
+
+ https://bugs.webkit.org/show_bug.cgi?id=43336
+
+ * DerivedSources.pro: Added.
+
+2010-08-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_SetException
+ https://bugs.webkit.org/show_bug.cgi?id=43320
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::callConstructor):
+ (WebKit::JSNPObject::put):
+ (WebKit::JSNPObject::getOwnPropertyNames):
+ (WebKit::JSNPObject::propertyGetter):
+ Call NPRuntimeObjectMap::moveGlobalExceptionToExecState.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::globalExceptionString):
+ Add static global.
+
+ (WebKit::NPRuntimeObjectMap::setGlobalException):
+ Set the global exception string.
+
+ (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
+ Create an error from the exception string.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_SetException):
+ Call NetscapePlugin::setException.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::setException):
+ Call NPRuntimeObjectMap::setGlobalException.
+
+2010-08-01 Sam Weinig <sam@webkit.org>
+
+ Roll r64446 out. It broke the test runner.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+
+2010-08-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Don't send user messages to the injected bundle if the process is not active
+ https://bugs.webkit.org/show_bug.cgi?id=43317
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+
+2010-08-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add ability to reset frame names for WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=43316
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageClearMainFrameName):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::clearMainFrameName):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-08-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Minor NPRuntime fixes
+ https://bugs.webkit.org/show_bug.cgi?id=43318
+
+ * WebProcess/Plugins/JSNPObject.h:
+ (WebKit::JSNPObject::npObject):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ If we see an JSNPObject, extract the NPObject.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetProperty):
+ Don't check for whether the property exists before getting it.
+
+2010-08-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_RemoveProperty
+ https://bugs.webkit.org/show_bug.cgi?id=43315
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::removeProperty):
+ Try to remove the property.
+
+ (WebKit::NPJSObject::npClass):
+ Add NP_RemoveProperty.
+
+ (WebKit::NPJSObject::NP_RemoveProperty):
+ Call NPJSObject::removeProperty.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_RemoveProperty):
+ Call the NPClass::removeProperty function.
+
+2010-07-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Crash due to calling StringImpl::createCFString() from non-main thread in plug-in code
+ https://bugs.webkit.org/show_bug.cgi?id=43306
+ <rdar://problem/8259687>
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::getMIMETypeForExtension):
+ (WebKit::PluginInfoStore::findPlugin):
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::safeCreateCFString):
+ (WebKit::PluginInfoStore::getMIMETypeForExtension):
+ Bypass MIMETypeRegistry in the UIProcess until we can safely convert Strings
+ to CFStringRefs.
+
+2010-07-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43305
+ Add back WKBundleFrameCopyInnerText to fix ~50 test failures
+ due to SVGElements not having the innerText function.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyInnerText):
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::innerText):
+ * WebProcess/WebPage/WebFrame.h:
+
+2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Darin Fisher.
+
+ PopupMenu refactoring in preparation to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42592
+
+ Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
+ SearchPopupMenu respectively. At this point they are just empty implementations.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
+ (WebKit::WebPopupMenu::WebPopupMenu):
+ (WebKit::WebPopupMenu::~WebPopupMenu):
+ (WebKit::WebPopupMenu::disconnectClient):
+ (WebKit::WebPopupMenu::show):
+ (WebKit::WebPopupMenu::hide):
+ (WebKit::WebPopupMenu::updateFromElement):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ (WebKit::WebSearchPopupMenu::popupMenu):
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ (WebKit::WebSearchPopupMenu::enabled):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
+
+ As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
+ instances, concrete classes that inherit from ChromeClient needed to be changed to
+ implement the new methods.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+ build issues:
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r64422.
+ http://trac.webkit.org/changeset/64422
+ https://bugs.webkit.org/show_bug.cgi?id=43304
+
+ Build fixes are needed for Snow Leopard and Windows.
+ (Requested by lca on #webkit).
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Removed.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Removed.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Removed.
+ * win/WebKit2.vcproj:
+
+2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Darin Fisher.
+
+ PopupMenu refactoring in preparation to WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42592
+
+ Classes WebPopupMenu and WebSearchPopupMenu inherit from PopupMenu and
+ SearchPopupMenu respectively. At this point they are just empty implementations.
+
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp: Added.
+ (WebKit::WebPopupMenu::WebPopupMenu):
+ (WebKit::WebPopupMenu::~WebPopupMenu):
+ (WebKit::WebPopupMenu::disconnectClient):
+ (WebKit::WebPopupMenu::show):
+ (WebKit::WebPopupMenu::hide):
+ (WebKit::WebPopupMenu::updateFromElement):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h: Added.
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp: Added.
+ (WebKit::WebSearchPopupMenu::WebSearchPopupMenu):
+ (WebKit::WebSearchPopupMenu::popupMenu):
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ (WebKit::WebSearchPopupMenu::enabled):
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: Added.
+
+ As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
+ instances, concrete classes that inherit from ChromeClient needed to be changed to
+ implement the new methods.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
+ (WebKit::WebChromeClient::createPopupMenu):
+ (WebKit::WebChromeClient::createSearchPopupMenu):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+ build issues:
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2010-07-30 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Eliminate BackForwardList::pushStateItem
+ https://bugs.webkit.org/show_bug.cgi?id=43282
+
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ * WebProcess/WebPage/WebBackForwardListProxy.h:
+
+2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by David Kilzer.
+
+ Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
+ https://bugs.webkit.org/show_bug.cgi?id=40627
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2010-07-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43290
+ Add structured message passing from the injected bundle to UIProcess
+
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/CoreIPCSupport/WebContextMessageKinds.h: Added.
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp:
+ (WebKit::):
+ (WebKit::PostMessageEncoder::PostMessageDecoder::PostMessageDecoder):
+ (WebKit::PostMessageEncoder::PostMessageDecoder::decode):
+ (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
+ (WebKit::WebContext::didReceiveMessage):
+ * UIProcess/WebContext.h:
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
+ * UIProcess/WebContextInjectedBundleClient.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ * 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::):
+ (WebKit::InjectedBundle::InjectedBundle):
+ (WebKit::InjectedBundle::~InjectedBundle):
+ (WebKit::InjectedBundle::initializeClient):
+ (WebKit::InjectedBundle::postMessage):
+ (WebKit::InjectedBundle::setShouldTrackVisitedLinks):
+ (WebKit::InjectedBundle::removeAllVisitedLinks):
+ (WebKit::InjectedBundle::didCreatePage):
+ (WebKit::InjectedBundle::willDestroyPage):
+ (WebKit::InjectedBundle::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2010-07-30 Andy Estes <aestes@apple.com>
+
+ Reviewed by David Kilzer.
+
+ Add support to Xcode for compiling WebKit against iOS SDKs.
+ https://bugs.webkit.org/show_bug.cgi?id=42796
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2010-07-30 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cast the return value for the templated ImmutableArray::at().
+
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::at):
+
+2010-07-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43283
+ Add APIObject template introspection support.
+
+ Add a way to get the type the APIObject::Type from the APIObject subclass typenames
+ for template fun. Use this to make a type checking version of ImmutableArray::at.
+
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::at):
+ (WebKit::ImmutableArray::type):
+ * Shared/WebString.h:
+ (WebKit::WebString::type):
+ * Shared/WebURL.h:
+ (WebKit::WebURL::type):
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayGetTypeID):
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ (WKBackForwardListGetTypeID):
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemGetTypeID):
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetTypeID):
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetTypeID):
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ (WKFramePolicyListenerGetTypeID):
+ * UIProcess/API/C/WKNavigationData.cpp:
+ (WKNavigationDataGetTypeID):
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetTypeID):
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ (WKPageNamespaceGetTypeID):
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesGetTypeID):
+ * UIProcess/API/C/WKString.cpp:
+ (WKStringGetTypeID):
+ * UIProcess/API/C/WKURL.cpp:
+ (WKURLGetTypeID):
+ * UIProcess/WebBackForwardList.h:
+ (WebKit::WebBackForwardList::type):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::type):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::type):
+ * UIProcess/WebFramePolicyListenerProxy.h:
+ (WebKit::WebFramePolicyListenerProxy::type):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::type):
+ * UIProcess/WebNavigationData.h:
+ (WebKit::WebNavigationData::type):
+ * UIProcess/WebPageNamespace.h:
+ (WebKit::WebPageNamespace::type):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::type):
+ * UIProcess/WebPreferences.h:
+ (WebKit::WebPreferences::type):
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetTypeID):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (WebKit::InjectedBundle::type):
+ * WebProcess/WebPage/WebFrame.h:
+ (WebKit::WebFrame::type):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::type):
+
+2010-07-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43275
+ Make WKArrayRef more usable.
+
+ - Add Create functions.
+ - Make WKArrayGetItemAtIndex return a WKTypeRef.
+
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayCreate):
+ (WKArrayCreateAdoptingValues):
+ (WKArrayGetItemAtIndex):
+ * UIProcess/API/C/WKArray.h:
+
+2010-07-30 Ada Chan <adachan@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Fix issue with populating the back list when limit is a huge number.
+ https://bugs.webkit.org/show_bug.cgi?id=43270
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+
+2010-07-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43274
+ Add first pass of structured message passing.
+
+ - Only supports passing messages from the UIProcess -> InjectedBundle
+ - Only supports passing Strings, Arrays, and WebPage references (NOTE: There
+ currently isn't a way to make an array).
+ - Changed ImmutableArray to operate on APIObjects instead of void*'s and
+ removed the retain/release abstraction.
+
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::):
+ * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h: Added.
+ (InjectedBundleMessage::):
+ (CoreIPC::):
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ * Shared/ImmutableArray.cpp:
+ (WebKit::ImmutableArray::ImmutableArray):
+ (WebKit::ImmutableArray::~ImmutableArray):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::create):
+ (WebKit::ImmutableArray::adopt):
+ (WebKit::ImmutableArray::at):
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextPostMessageToInjectedBundle):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKType.cpp:
+ (WKGetTypeID):
+ * UIProcess/API/C/WebKit2.h:
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
+ * UIProcess/WebContext.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::didReceiveMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::childFrames):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+ * win/WebKit2.vcproj:
+
+2010-07-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_Evaluate
+ https://bugs.webkit.org/show_bug.cgi?id=43268
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::evaluate):
+ Evaluate the passed in string.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_Evaluate):
+ Call NetscapePlugin::evaluate.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::evaluate):
+ Call PluginController::evaluate.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add evaluate pure virtual member function.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::evaluate):
+ Update the popup window state and call NPRuntimeObjectMap::evaluate.
+
+2010-07-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_InvokeDefault
+ https://bugs.webkit.org/show_bug.cgi?id=43266
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::JSNPObject):
+ Remove ExecState parameter.
+
+ (WebKit::JSNPObject::callObject):
+ Call the NPClass::invokeDefault function.
+
+ (WebKit::callNPJSObject):
+ Call JSNPObject::callObject.
+
+ (WebKit::JSNPObject::getCallData):
+ Check if the NPClass has an invokeDefault function.
+
+ * WebProcess/Plugins/JSNPObject.h:
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
+ Remove ExecState parameter.
+
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
+ Remove ExecState parameter.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::scriptObject):
+ Remove ExecState parameter.
+
+2010-07-30 Adam Roben <aroben@apple.com>
+
+ Roll our r64361 and r64363
+
+ We can't make these changes until QuartzCore.lib is included in
+ WebKitSupportLibrary.
+
+2010-07-30 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2Apple.vsprops: Always link against QuartzCore, since
+ WebKitSystemInterface requires it.
+
+2010-07-30 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Unreviewed build fix.
+
+ [Qt] Build fix for recent API changes in WebKit2.
+
+ * UIProcess/API/cpp/qt/WKStringQt.cpp:
+ (WKStringCopyQString):
+ * UIProcess/API/cpp/qt/WKURLQt.cpp:
+ (WKURLCopyQUrl):
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+
+2010-07-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Setting empty document schemes on the WKContext shouldn't start the WebProcess
+ <rdar://problem/8253734> and https://bugs.webkit.org/show_bug.cgi?id=43222
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::ensureWebProcess):
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ * UIProcess/WebContext.h:
+
+2010-07-29 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Make all public facing client setters take const pointers
+ https://bugs.webkit.org/show_bug.cgi?id=43219
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetInjectedBundleClient):
+ (WKContextSetHistoryClient):
+ * UIProcess/API/C/WKContext.h:
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageSetPageLoaderClient):
+ (WKPageSetPagePolicyClient):
+ (WKPageSetPageUIClient):
+ * UIProcess/API/C/WKPage.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeInjectedBundleClient):
+ (WebKit::WebContext::initializeHistoryClient):
+ * UIProcess/WebContext.h:
+
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ (WebKit::WebContextInjectedBundleClient::initialize):
+ * UIProcess/WebContextInjectedBundleClient.h:
+
+ * UIProcess/WebHistoryClient.cpp:
+ (WebKit::WebHistoryClient::initialize):
+ * UIProcess/WebHistoryClient.h:
+
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::initialize):
+ * UIProcess/WebLoaderClient.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::initializeLoaderClient):
+ (WebKit::WebPageProxy::initializePolicyClient):
+ (WebKit::WebPageProxy::initializeUIClient):
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/WebPolicyClient.cpp:
+ (WebKit::WebPolicyClient::initialize):
+ * UIProcess/WebPolicyClient.h:
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::initialize):
+ * UIProcess/WebUIClient.h:
+
+2010-07-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_SetProperty
+ https://bugs.webkit.org/show_bug.cgi?id=43217
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::setProperty):
+ Convert the NPVariant to a JSValue and set it on the underlying JSObject.
+
+ (WebKit::NPJSObject::NP_SetProperty):
+ Call NPJSObject::setProperty.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetProperty):
+ Remove unused parameter name.
+
+ (WebKit::NPN_SetProperty):
+ Call the NPClass::setProperty function.
+
+2010-07-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_Enumerate
+ https://bugs.webkit.org/show_bug.cgi?id=43215
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ Get the UTF-8 string representation instead of the lossy ASCII representation.
+
+ (WebKit::JSNPObject::getOwnPropertyNames):
+ Implement by calling the NPClass::enumerate function.
+
+ * WebProcess/Plugins/JSNPObject.h:
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+ Implement by calling JSObject::getPropertyNames.
+
+ (WebKit::NPJSObject::npClass):
+ (WebKit::NPJSObject::NP_Enumerate):
+ Call NPJSObject::enumerate.
+
+ * WebProcess/Plugins/NPJSObject.h:
+ * WebProcess/Plugins/NPRuntimeUtilities.cpp:
+ (WebKit::createNPObject):
+ Fix a comment.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_Enumerate):
+ Call the NPClass::enumerate function.
+
+2010-07-29 John Sullivan <sullivan@apple.com>
+
+ <https://bugs.webkit.org/show_bug.cgi?id=43203>
+ WebBackForwardList::back/ForwardListWithLimit() crashes if passed a limit larger than max int
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/WebBackForwardList.cpp:
+ (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
+ Fixed casting so that a large unsigned won't become a negative int.
+ (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
+ Ditto.
+
+2010-07-29 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_Status
+ https://bugs.webkit.org/show_bug.cgi?id=43205
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_Status):
+ Convert the message char* to a String and call NetscapePlugin::setStatusbarText.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::setStatusbarText):
+ Call PluginController::setStatusbarText.
+
+ * WebProcess/Plugins/PluginController.h:
+ Add setStatusbarText.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setStatusbarText):
+ Call the Chrome member function.
+
+2010-07-29 Adam Roben <aroben@apple.com>
+
+ Always say "plugins directory" when referring to a directory
+ containing one or more plugins
+
+ Fixes <http://webkit.org/b/43197> WebKit2 often says "plugin
+ directory" when it means "plugins directory"
+
+ Reviewed by John Sullivan.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetAdditionalPluginsDirectory):
+ * UIProcess/API/C/WKContextPrivate.h:
+ Renamed from _WKContextSetAdditionalPluginDirectory.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::setAdditionalPluginsDirectories): Renamed
+ from setAdditionalPluginDirectories.
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
+
+ * UIProcess/Plugins/PluginInfoStore.h: Renamed
+ m_additionalPluginDirectories to m_additionalPluginsDirectories.
+
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::pluginsDirectories):
+ Renamed from pluginDirectories.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setAdditionalPluginsDirectory):
+ * UIProcess/WebContext.h:
+ Renamed from setAdditionalPluginDirectory.
+
+2010-07-29 Adam Roben <aroben@apple.com>
+
+ Always say "directory" when referring to a plugin directory
+
+ Fixes <http://webkit.org/b/43195> WebKit2 often says "plugin path"
+ when it means "plugin directory"
+
+ Reviewed by John Sullivan.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetAdditionalPluginDirectory):
+ * UIProcess/API/C/WKContextPrivate.h:
+ Renamed from _WKContextSetAdditionalPluginPath.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::setAdditionalPluginDirectories): Renamed
+ from setAdditionalPluginPaths.
+ (WebKit::PluginInfoStore::loadPluginsIfNecessary): Updated for rename.
+
+ * UIProcess/Plugins/PluginInfoStore.h: Renamed m_additionalPluginPaths
+ to m_additionalPluginDirectories.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setAdditionalPluginDirectory):
+ * UIProcess/WebContext.h:
+ Renamed from setAdditionalPluginPath, and updated for PluginInfoStore
+ rename.
+
+2010-07-29 Adam Roben <aroben@apple.com>
+
+ Remove PluginInfoStore::mimeTypeFromExtension
+
+ WebCore::MIMETypeRegistry already provides a cross-platform interface
+ for this.
+
+ Fixes <http://webkit.org/b/43188>
+ PluginInfoStore::mimeTypeFromExtension is unnecessary
+
+ Reviewed by Nikolas Zimmermann.
+
+ * UIProcess/Plugins/PluginInfoStore.cpp:
+ (WebKit::PluginInfoStore::findPlugin): Changed to use
+ MIMETypeRegistry.
+
+ * UIProcess/Plugins/PluginInfoStore.h:
+ * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+ * UIProcess/Plugins/qt/PluginInfoStoreQt.cpp:
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ Removed mimeTypeFromExtension.
+
+2010-07-28 Sam Weinig <sam@webkit.org>
+
+ Another Windows build fix.
+
+ * UIProcess/API/C/WKBase.h:
+ * win/WebKit2Generated.make:
+
+2010-07-28 Sam Weinig <sam@webkit.org>
+
+ Fix builds.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::ProxyingRefPtr::operator APIType):
+ (toURLRef):
+ (toCopiedRef):
+ (toCopiedURLRef):
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::type):
+
+2010-07-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43163
+ Add a CF-style base type (WKTypeRef) as a base for polymorphic functions.
+
+ - Add first polymorphic function, WKGetTypeID.
+ - Add functions to each WK type to get their respective TypeIDs.
+ - Adds WebURL to complement WebString.
+
+ * Shared/APIObject.h:
+ (WebKit::APIObject::):
+ (WebKit::APIObject::~APIObject):
+ * Shared/ImmutableArray.h:
+ (WebKit::ImmutableArray::type):
+ * Shared/WebString.h:
+ (WebKit::WebString::type):
+ * Shared/WebURL.h: Added.
+ (WebKit::WebURL::create):
+ (WebKit::WebURL::type):
+ (WebKit::WebURL::isNull):
+ (WebKit::WebURL::isEmpty):
+ (WebKit::WebURL::string):
+ (WebKit::WebURL::WebURL):
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::ProxyingRefPtr::ProxyingRefPtr):
+ (WebKit::ProxyingRefPtr::operator APIType):
+ (toRef):
+ (toURLRef):
+ (toCopiedURLRef):
+ * UIProcess/API/C/WKArray.cpp:
+ (WKArrayGetTypeID):
+ * UIProcess/API/C/WKArray.h:
+ * UIProcess/API/C/WKBackForwardList.cpp:
+ (WKBackForwardListGetTypeID):
+ * UIProcess/API/C/WKBackForwardList.h:
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemGetTypeID):
+ * UIProcess/API/C/WKBackForwardListItem.h:
+ * UIProcess/API/C/WKBase.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetTypeID):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameGetTypeID):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKFramePolicyListener.cpp:
+ (WKFramePolicyListenerGetTypeID):
+ * UIProcess/API/C/WKFramePolicyListener.h:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ (WKNavigationDataGetTypeID):
+ * UIProcess/API/C/WKNavigationData.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetTypeID):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/C/WKPageNamespace.cpp:
+ (WKPageNamespaceGetTypeID):
+ * UIProcess/API/C/WKPageNamespace.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesGetTypeID):
+ * UIProcess/API/C/WKPreferences.h:
+ * UIProcess/API/C/WKString.cpp:
+ (WKStringGetTypeID):
+ * UIProcess/API/C/WKString.h:
+ * UIProcess/API/C/WKType.cpp: Added.
+ (WKGetTypeID):
+ * UIProcess/API/C/WKType.h: Added.
+ * UIProcess/API/C/WKURL.cpp:
+ (WKURLGetTypeID):
+ * UIProcess/API/C/WKURL.h:
+ * UIProcess/API/win/WKView.cpp:
+ (WKViewGetTypeID):
+ * UIProcess/API/win/WKView.h:
+ * UIProcess/WebBackForwardList.h:
+ (WebKit::WebBackForwardList::type):
+ * UIProcess/WebBackForwardListItem.h:
+ (WebKit::WebBackForwardListItem::type):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::type):
+ * UIProcess/WebFramePolicyListenerProxy.h:
+ (WebKit::WebFramePolicyListenerProxy::type):
+ * UIProcess/WebFrameProxy.h:
+ (WebKit::WebFrameProxy::type):
+ * UIProcess/WebNavigationData.h:
+ (WebKit::WebNavigationData::type):
+ * UIProcess/WebPageNamespace.h:
+ (WebKit::WebPageNamespace::type):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::type):
+ * UIProcess/WebPreferences.h:
+ (WebKit::WebPreferences::type):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetTypeID):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageGetTypeID):
+ (WKBundlePageSetEditorClient):
+ (WKBundlePageSetLoaderClient):
+ (WKBundlePageSetUIClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/WebPage/WebFrame.h:
+ (WebKit::WebFrame::type):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::type):
+ * win/WebKit2.vcproj:
+
+2010-07-28 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs to support layoutTestController.execCommand
+ <https://bugs.webkit.org/show_bug.cgi?id=42538>
+
+ WebKitTestRunner needs layoutTestController.isCommandEnabled
+ <https://bugs.webkit.org/show_bug.cgi?id=42671>
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageExecuteEditingCommand): Added.
+ (WKBundlePageIsEditingCommandEnabled): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Ditto.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::executeEditingCommand): Added.
+ (WebKit::WebPage::isEditingCommandEnabled): Added.
+ * WebProcess/WebPage/WebPage.h: Ditto.
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Fix 64-bit build.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+
+2010-07-28 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ First pass at visited link support for WK2
+ https://bugs.webkit.org/show_bug.cgi?id=43157
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+ (WebProcessProxyMessage::):
+
+ Move HistoryClient support from the page...:
+ * UIProcess/API/C/WKPage.cpp:
+ * UIProcess/API/C/WKPage.h:
+
+ ...to the Context
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetHistoryClient):
+ * UIProcess/API/C/WKContext.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeHistoryClient):
+ (WebKit::WebContext::ensureWebProcess): When a new WebProcess is created, set its "should track visited links" mode.
+ (WebKit::WebContext::didNavigateWithNavigationData):
+ (WebKit::WebContext::didPerformClientRedirect):
+ (WebKit::WebContext::didPerformServerRedirect):
+ (WebKit::WebContext::didUpdateHistoryTitle):
+ (WebKit::WebContext::populateVisitedLinks):
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::hasValidProcess):
+
+ * UIProcess/WebHistoryClient.cpp:
+ (WebKit::WebHistoryClient::initialize):
+ (WebKit::WebHistoryClient::didNavigateWithNavigationData):
+ (WebKit::WebHistoryClient::didPerformClientRedirect):
+ (WebKit::WebHistoryClient::didPerformServerRedirect):
+ (WebKit::WebHistoryClient::didUpdateHistoryTitle):
+ (WebKit::WebHistoryClient::populateVisitedLinks):
+ * UIProcess/WebHistoryClient.h:
+ (WebKit::WebHistoryClient::shouldTrackVisitedLinks):
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didReceiveMessage):
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::populateVisitedLinks):
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+ (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+ (WebKit::WebFrameLoaderClient::setTitle):
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::didReceiveMessage):
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add JSNPObject::getConstructData
+ https://bugs.webkit.org/show_bug.cgi?id=43165
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::callMethod):
+ Add a null check for m_npObject.
+
+ (WebKit::JSNPObject::callConstructor):
+ Call NPClass::construct.
+
+ (WebKit::JSNPObject::getConstructData):
+ Set up the construct data.
+
+ (WebKit::JSNPObject::propertyGetter):
+ convertNPVariantToJSValue now takes a JSGlobalObject as well.
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::invoke):
+ (WebKit::NPJSObject::invokeDefault):
+ (WebKit::NPJSObject::construct):
+ convertNPVariantToJSValue now takes a JSGlobalObject as well.
+
+ * WebProcess/Plugins/NPJSObject.h:
+ Make isNPJSObject and toNPJSObject public.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue):
+ Convert NPObjects correctly.
+
+ (WebKit::NPRuntimeObjectMap::globalObject):
+ Get the globalObject from the frame.
+
+ (WebKit::NPRuntimeObjectMap::globalExec):
+ Call globalObject.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_InvokeDefault and NPN_Construct
+ https://bugs.webkit.org/show_bug.cgi?id=43160
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::invoke):
+ Just call invoke directly.
+
+ (WebKit::NPJSObject::invokeDefault):
+ Call invoke.
+
+ (WebKit::NPJSObject::construct):
+ Implement this.
+
+ (WebKit::NPJSObject::invoke):
+ Add new invoke overload that takes the function as a JSValue.
+
+ (WebKit::NPJSObject::npClass):
+ Add NP_Construct.
+
+ (WebKit::NPJSObject::NP_InvokeDefault):
+ Call NPJSObject::invokeDefault.
+
+ (WebKit::NPJSObject::NP_Construct):
+ Call NPJSObject::construct.
+
+ * WebProcess/Plugins/NPJSObject.h:
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_GetValue):
+ Handle the Core Animation drawing model and the Carbon event model.
+
+ (WebKit::NPN_InvokeDefault):
+ Call the NPClass::invokeDefault function.
+
+ (WebKit::NPN_Construct):
+ Call the NPClass::construct function.
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_Invoke
+ https://bugs.webkit.org/show_bug.cgi?id=43158
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::hasMethod):
+ Use the free getCallData function.
+
+ (WebKit::NPJSObject::invoke):
+ Get the JavaScript function and call it.
+
+ (WebKit::NPJSObject::NP_Invoke):
+ Call NPJSObject::invoke.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_Invoke):
+ Call the NPClass::invoke function.
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement NPN_HasMethod
+ https://bugs.webkit.org/show_bug.cgi?id=43155
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::hasMethod):
+ Check if the JSObject has a property with the given name. If it does, check that the value is a function.
+
+ (WebKit::NPJSObject::hasProperty):
+ Add a JSLock.
+
+ (WebKit::NPJSObject::npClass):
+ Add some stubbed out functions.
+
+ (WebKit::NPJSObject::NP_HasMethod):
+ Call NPJSObject::hasMethod.
+
+ (WebKit::NPJSObject::NP_Invoke):
+ (WebKit::NPJSObject::NP_InvokeDefault):
+ (WebKit::NPJSObject::NP_SetProperty):
+ Stub out functions.
+
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::NPN_HasMethod):
+ Call the NPClass::hasMethod function.
+
+2010-07-28 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Sam Weinig.
+
+ Make sure new pages are always added to the same PageGroup (for now).
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+
+2010-07-28 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43097
+ Make all objects in the WebKit2 API inherit from a single base class
+
+ - Adds an APIObject base class for all objects which one can get through
+ the C API to inherit from.
+ - Adds a WebString class which wraps WebCore::String for now. I am not too fond of
+ this solution, so we should continue to iterate on it.
+ - This is a first step toward make a CF-style base type (eg. CFTypeRef) for the C-API.
+
+ * Shared/APIObject.h: Added.
+ (WebKit::APIObject::APIObject):
+ Base class for API objects.
+
+ * Shared/ImmutableArray.h:
+ Make inherit from APIObject.
+
+ * Shared/WebString.h: Added.
+ (WebKit::WebString::create):
+ (WebKit::WebString::isNull):
+ (WebKit::WebString::isEmpty):
+ (WebKit::WebString::string):
+ (WebKit::WebString::WebString):
+ Wraps a WebCore::String so that it can be passed out to the API
+ and still inherit from APIObject.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::WebStringAdaptor::WebStringAdaptor):
+ (WebKit::WebStringAdaptor::operator WKStringRef):
+ (WebKit::WebStringAdaptor::operator WKURLRef):
+ Update conversion methods to deal in terms of WebStrings. Added WebStringAdaptor
+ to ease passing strings to client functions.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextCreateWithInjectedBundlePath):
+ (WKContextPostMessageToInjectedBundle):
+ (_WKContextSetAdditionalPluginPath):
+ (_WKContextRegisterURLSchemeAsEmptyDocument):
+ Get the WebCore::String from the WebString.
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageLoadURL):
+ Ditto.
+
+ * UIProcess/API/C/WKString.cpp:
+ (WKStringIsEmpty):
+ Implement in terms of WebString.
+
+ * UIProcess/API/C/WKURL.cpp:
+ * UIProcess/API/C/cf/WKStringCF.cpp:
+ (WKStringCreateWithCFString):
+ (WKStringCopyCFString):
+ Ditto.
+
+ * UIProcess/API/C/cf/WKURLCF.cpp:
+ (WKURLCreateWithCFURL):
+ (WKURLCopyCFURL):
+ Ditto.
+
+ * UIProcess/WebBackForwardList.h:
+ Make inherit from APIObject.
+
+ * UIProcess/WebBackForwardListItem.h:
+ Ditto.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
+ (WebKit::WebContext::postMessageToInjectedBundle):
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ Use String instead of StringImpl to be consistent.
+
+ * UIProcess/WebContext.h:
+ Make inherit from APIObject.
+
+ * UIProcess/WebFramePolicyListenerProxy.h:
+ Ditto.
+
+ * UIProcess/WebFrameProxy.h:
+ Ditto.
+
+ * UIProcess/WebNavigationData.h:
+ Ditto.
+
+ * UIProcess/WebPageNamespace.h:
+ Ditto.
+
+ * UIProcess/WebPageProxy.h:
+ Ditto.
+
+ * UIProcess/WebPreferences.h:
+ Ditto.
+
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::runJavaScriptPrompt):
+ Implement in terms of WebString.
+
+ * UIProcess/win/WebView.h:
+ Make inherit from APIObject.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePostMessage):
+ Get the WebCore::String from the WebString.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFramePauseAnimationOnElementWithId):
+ Ditto.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::postMessage):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ Use String instead of StringImpl to be consistent.
+
+ * WebProcess/WebPage/WebFrame.h:
+ Make inherit from APIObject.
+
+ * WebProcess/WebPage/WebPage.h:
+ Make inherit from APIObject.
+
+ * win/WebKit2.vcproj:
+ Add new files.
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement JSNPObject::put
+ https://bugs.webkit.org/show_bug.cgi?id=43149
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::getOwnPropertySlot):
+ Fix a typo.
+
+ (WebKit::JSNPObject::getOwnPropertyDescriptor):
+ Implement this in the same way as it's implemented in RuntimeObject.
+
+ (WebKit::JSNPObject::put):
+ Implement this, call NPClass::setProperty.
+
+ * WebProcess/Plugins/JSNPObject.h:
+
+2010-07-28 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add support for calling NPObject methods
+ https://bugs.webkit.org/show_bug.cgi?id=43145
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add JSNPMethod.cpp and JSNPMethod.h
+
+ * WebProcess/Plugins/JSNPMethod.cpp: Added.
+ * WebProcess/Plugins/JSNPMethod.h: Added.
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::):
+ Add a ClassInfo static variable for JSNPObject.
+
+ (WebKit::JSNPObject::callMethod):
+ Convert the passed in arguments, call the method and convert the result back.
+
+ (WebKit::JSNPObject::getOwnPropertySlot):
+ Check if the NPObject has a method.
+
+ (WebKit::JSNPObject::methodGetter):
+ Return a new JSNPMethod.
+
+ * WebProcess/Plugins/JSNPObject.h:
+ (WebKit::JSNPObject::classInfo):
+ Return the s_info.
+
+ * WebProcess/Plugins/NPJSObject.cpp:
+ (WebKit::NPJSObject::getProperty):
+ Get the property from the JSObject.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
+ Convert the given JSValue to an NPVariant.
+
+ * win/WebKit2.vcproj:
+ Add JSNPMethod.cpp and JSNPMethod.h
+
+2010-07-28 Adam Roben <aroben@apple.com>
+
+ Teach CoreIPC how to handle with a pipe closing during a write
+
+ Fixes <http://webkit.org/b/43131> Assertion failure in
+ Connection::sendOutgoingMessage if the other process exits at just the
+ wrong time
+
+ Reviewed by Darin Adler.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::sendOutgoingMessage): If ::WriteFile fails with
+ ERROR_NO_DATA, the pipe (and thus the connection) has closed.
+
+2010-07-28 Adam Roben <aroben@apple.com>
+
+ Teach CoreIPC the right way to send large messages on Windows
+
+ r63776 added support for ::WriteFile failing with ERROR_IO_PENDING,
+ but it had a major flaw: we didn't ensure that the data being sent
+ (which is owned by the ArgumentEncoder) stayed around until the write
+ finished. We'd destroy the data immediately, leading to ::WriteFile
+ accessing that freed memory later. This seemed to always manifest
+ itself as a crash in ::WaitForMultipleObjects.
+
+ The correct solution (as hinted above) is to make sure that the data
+ being written is not destroyed until the write completes. When
+ ::WriteFile fails with ERROR_IO_PENDING, we store the data being sent
+ in Connection::m_pendingWriteArguments, and don't send any more
+ messages until that write completes. We use an event in the OVERLAPPED
+ structure passed to ::WriteFile to detect when the write has completed
+ (similar to what we do for reads).
+
+ Fixes <http://webkit.org/b/42785> <rdar://problem/8218522> Crash in
+ WebKit2WebProcess in WaitForMultipleObjects beneath
+ WorkQueue::workQueueThreadBody when running tests that produce a lot
+ of output
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::canSendOutgoingMessages): Added. This calls out
+ to a platform-specific function to allow each platform to have its own
+ policy for when messages can and can't be sent.
+ (CoreIPC::Connection::sendOutgoingMessages): Use the new
+ canSendOutgoingMessages to determine whether we can send any messages
+ right now. We now remove one message at a time from m_outgoingMessages
+ and send it. We stop sending messages when sendOutgoingMessage returns
+ false.
+
+ * Platform/CoreIPC/Connection.h: Added m_pendingWriteArguments and
+ m_writeState on Windows.
+ (CoreIPC::Connection::Message::Message): Added this default
+ constructor.
+
+ * Platform/CoreIPC/MessageID.h:
+ (CoreIPC::MessageID::MessageID): Made the default constructor public
+ for Message's benefit.
+
+ * Platform/CoreIPC/mac/ConnectionMac.cpp:
+ (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Always
+ returns true.
+ (CoreIPC::Connection::sendOutgoingMessage): Changed to return a
+ boolean indicating whether more messages can be sent at this time.
+
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. Returns
+ true if we have a socket.
+ (CoreIPC::Connection::sendOutgoingMessage): Changed a null-check of
+ m_socket to an assertion since it should be checked for null in
+ platformCanSendOutgoingMessages. Changed to return a boolean
+ indicating whether more messages can be sent at this time.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInitialize): Added initialization of
+ m_writeState.
+ (CoreIPC::Connection::platformInvalidate): Close m_writeState's event
+ handle.
+ (CoreIPC::Connection::writeEventHandler): Added. Checks if the pending
+ write has completed, cleans up our pending write state, and sends any
+ remaining messages.
+ (CoreIPC::Connection::open): Register our write event with the
+ WorkQueue so that writeEventHandler will be called when the event is
+ signaled.
+ (CoreIPC::Connection::platformCanSendOutgoingMessages): Added. We can
+ only send messages if there isn't a write pending.
+ (CoreIPC::Connection::sendOutgoingMessage): Changed to return a
+ boolean indicating whether more messages can be sent at this time. We
+ now pass m_writeState to ::WriteFile instead of an empty OVERLAPPED
+ struct so that our write event will be signaled when the write
+ completes. We also no longer pass a pointer to receive how many bytes
+ were written, as recommended by MSDN. If ::WriteFile fails with
+ ERROR_IO_PENDING, we save the ArgumentEncoder for this message and
+ return false to indicate that no more messages can be sent at this
+ time.
+
+2010-07-28 Adam Roben <aroben@apple.com>
+
+ Stop leaking Connection::m_readState.hEvent on Windows
+
+ Fixes <http://webkit.org/b/43129> CoreIPC::Connection leaks its read
+ event on Windows
+
+ Reviewed by Darin Adler.
+
+ * Platform/CoreIPC/win/ConnectionWin.cpp:
+ (CoreIPC::Connection::platformInvalidate): Close the event handle.
+
+2010-07-26 Steve Block <steveblock@google.com>
+
+ Reviewed by Jeremy Orlow.
+
+ Page clients should be passed to Page constructor via structure of pointers
+ https://bugs.webkit.org/show_bug.cgi?id=42834
+
+ * WebKit2/WebProcess/WebPage/WebPage.cpp:
+ (WebPage::WebPage):
+
+2010-07-28 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed trivial build fix.
+
+ [Qt] Follow the API changes after r64172.
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::url):
+ (QWKPage::title):
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::propertyGetter):
+ Remove unreachable code.
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement JSNPObject::propertyGetter
+ https://bugs.webkit.org/show_bug.cgi?id=43091
+
+ * WebProcess/Plugins/JSNPObject.cpp:
+ (WebKit::JSNPObject::propertyGetter):
+ Ask the NPObject for its property.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::jsNPObjectDestroyed):
+ Add a stub.
+
+ (WebKit::NPRuntimeObjectMap::convertNPVariantToValue):
+ Implement this for everything except objects.
+
+2010-07-27 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43087
+ Clean up handling of strings at the WebKit2 API layer.
+
+ - Always use the "copy" rule for functions that return WKStringRefs or WKURLRefs.
+ - Never return a null WKStringRef or WKURLRef.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (toRef):
+ (toURLRef):
+ (toCopiedRef):
+ (toCopiedURLRef):
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemCopyOriginalURL):
+ (WKBackForwardListItemCopyURL):
+ (WKBackForwardListItemCopyTitle):
+ * UIProcess/API/C/WKBackForwardListItem.h:
+ * UIProcess/API/C/WKFrame.cpp:
+ (WKFrameIsMainFrame):
+ (WKFrameCopyProvisionalURL):
+ (WKFrameCopyURL):
+ (WKFrameGetPage):
+ (WKFrameRetain):
+ (WKFrameRelease):
+ * UIProcess/API/C/WKFrame.h:
+ * UIProcess/API/C/WKNavigationData.cpp:
+ (WKNavigationDataCopyTitle):
+ (WKNavigationDataCopyURL):
+ * UIProcess/API/C/WKNavigationData.h:
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageCopyTitle):
+ * UIProcess/API/C/WKPage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameCopyURL):
+ (WKBundleFrameCopyName):
+ (WKBundleFrameCopyCounterValue):
+ (WKBundleFrameCopyMarkerText):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp:
+ (WKBundleNodeCopyNodeName):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageCopyRenderTreeExternalRepresentation):
+
+2010-07-27 Adam Roben <aroben@apple.com>
+
+ Fix PageClient ownership in WebPageProxy
+
+ WKView now owns the PageClient, similar to how things work on Windows
+ (where the WebView is the PageClient).
+
+ Fixes <http://webkit.org/b/40185> WebPageProxy should keep a weak
+ reference to the PageClient
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView initWithFrame:pageNamespaceRef:]): Store the PageClientImpl
+ on our WKViewData object and pass it to the WebPageProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setPageClient):
+ * UIProcess/WebPageProxy.h:
+ Removed Mac-specific code that put the PageClient in an OwnPtr. We now
+ store it in a bare pointer just like on Windows.
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add JSNPObject, a JSObject that wraps an NPObject
+ https://bugs.webkit.org/show_bug.cgi?id=43079
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add JSNPObject.cpp and JSNPObject.h
+
+ * WebProcess/Plugins/JSNPObject.cpp: Added.
+ (WebKit::npIdentifierFromIdentifier):
+ (WebKit::JSNPObject::JSNPObject):
+ (WebKit::JSNPObject::~JSNPObject):
+ (WebKit::JSNPObject::getOwnPropertySlot):
+ Check if the NPObject has the given property.
+
+ (WebKit::JSNPObject::propertyGetter):
+ (WebKit::JSNPObject::throwInvalidAccessError):
+ * WebProcess/Plugins/JSNPObject.h: Added.
+ (WebKit::JSNPObject::createStructure):
+ * WebProcess/Plugins/NPJSObject.h:
+
+ * win/WebKit2.vcproj:
+ Add JSNPObject.cpp and JSNPObject.h
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Expose interface for returning the plug-in script JSObject
+ https://bugs.webkit.org/show_bug.cgi?id=43074
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
+ Add empty stub.
+
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::pluginScriptableNPObject):
+ Ask the plug-in for it's scriptable NPObject.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ * WebProcess/Plugins/Plugin.h:
+ Add pluginScritableNPObject.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ Call PluginViewBase constructor.
+
+ (WebKit::PluginView::scriptObject):
+ Ask the plug-in for its scriptable object and wrap it.
+
+ * WebProcess/Plugins/PluginView.h:
+ PluginView now inherits from PluginViewBase.
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Move NPJSObject out into separate files
+ https://bugs.webkit.org/show_bug.cgi?id=43068
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/NPJSObject.cpp: Added.
+ (WebKit::NPJSObject::create):
+ (WebKit::NPJSObject::NPJSObject):
+ (WebKit::NPJSObject::~NPJSObject):
+ (WebKit::NPJSObject::isNPJSObject):
+ (WebKit::NPJSObject::initialize):
+ (WebKit::identifierFromIdentifierRep):
+ (WebKit::NPJSObject::hasProperty):
+ (WebKit::NPJSObject::getProperty):
+ (WebKit::NPJSObject::npClass):
+ (WebKit::NPJSObject::NP_Allocate):
+ (WebKit::NPJSObject::NP_Deallocate):
+ (WebKit::NPJSObject::NP_HasProperty):
+ (WebKit::NPJSObject::NP_GetProperty):
+ * WebProcess/Plugins/NPJSObject.h: Added.
+ (WebKit::NPJSObject::jsObject):
+ (WebKit::NPJSObject::toNPJSObject):
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::npJSObjectDestroyed):
+ (WebKit::NPRuntimeObjectMap::globalExec):
+ * WebProcess/Plugins/NPRuntimeObjectMap.h:
+ * win/WebKit2.vcproj:
+
+2010-07-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Rename NPJSObjectMap to NPRuntimeObjectMap
+ https://bugs.webkit.org/show_bug.cgi?id=43066
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/NPJSObjectMap.cpp: Removed.
+ * WebProcess/Plugins/NPJSObjectMap.h: Removed.
+ * WebProcess/Plugins/NPRuntimeObjectMap.cpp: Added.
+ (WebKit::NPJSObject::NPJSObject):
+ (WebKit::NPJSObject::~NPJSObject):
+ (WebKit::NPJSObject::toNPJSObject):
+ (WebKit::NPJSObject::create):
+ (WebKit::NPJSObject::isNPJSObject):
+ (WebKit::NPJSObject::initialize):
+ (WebKit::identifierFromIdentifierRep):
+ (WebKit::NPJSObject::hasProperty):
+ (WebKit::NPJSObject::getProperty):
+ (WebKit::NPJSObject::npClass):
+ (WebKit::NPJSObject::NP_Allocate):
+ (WebKit::NPJSObject::NP_Deallocate):
+ (WebKit::NPJSObject::NP_HasProperty):
+ (WebKit::NPJSObject::NP_GetProperty):
+ (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
+ (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
+ (WebKit::NPRuntimeObjectMap::invalidate):
+ * WebProcess/Plugins/NPRuntimeObjectMap.h: Added.
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::PluginView):
+ (WebKit::PluginView::~PluginView):
+ (WebKit::PluginView::windowScriptNPObject):
+ (WebKit::PluginView::pluginElementNPObject):
+ * WebProcess/Plugins/PluginView.h:
+ * win/WebKit2.vcproj:
+
+2010-07-27 Adam Roben <aroben@apple.com>
+
+ Make preferences APIs robust against web process crashes
+
+ Fixes <http://webkit.org/b/43049> Crash in
+ WebPageNamespace::preferencesDidChange if preferences are changed
+ after the web process crashes
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::preferencesDidChange): Bail out if we don't have
+ a web process. The new preference values will get propogated to the
+ web process if and when it launches.
+
+2010-07-27 Adam Roben <aroben@apple.com>
+
+ Add a ProcessDidExit callback to the WKPageLoaderClient
+
+ Fixes <http://webkit.org/b/43048> UI process needs a way to find out
+ when the web process crashes
+
+ Reviewed by Anders Carlsson.
+
+ * UIProcess/API/C/WKPage.h: Added WKPageProcessDidExitCallback, and a
+ processDidExit member of that type to WKPageLoaderClient.
+
+ * UIProcess/WebLoaderClient.cpp:
+ (WebKit::WebLoaderClient::processDidExit): Added. Calls through to the
+ WKPageLoaderClient.
+
+ * UIProcess/WebLoaderClient.h: Added processDidExit.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::processDidExit): Tell the loader client the
+ process exited.
+
+2010-07-27 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebEventFactory::createWebMouseEvent should follow WebKit2 API changes
+ https://bugs.webkit.org/show_bug.cgi?id=43042
+
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ Set deltaX, deltaY and deltaZ arguments.
+
+2010-07-27 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebKit::PageClient implementation needs a dedicated class
+
+ https://bugs.webkit.org/show_bug.cgi?id=42974
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (PageClientImpl::PageClientImpl): Added.
+ (PageClientImpl::pageDidEnterAcceleratedCompositing): Moved from QWKPagePrivate.
+ (PageClientImpl::pageDidLeaveAcceleratedCompositing): Ditto.
+ (PageClientImpl::processDidExit): Ditto.
+ (PageClientImpl::processDidRevive): Ditto.
+ (PageClientImpl::setCursor): Ditto.
+ (PageClientImpl::takeFocus): Ditto.
+ (PageClientImpl::toolTipChanged): Ditto.
+ (QWKPagePrivate::QWKPagePrivate): Set a new instance of the PageClientImpl as PageClient rather than 'this'.
+ * UIProcess/API/qt/qwkpage_p.h: Removed PageClient implementation methods from QWKPagePrivate.
+
+2010-07-26 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKitTestRunner needs to support layoutTestController.counterValueForElementById
+ https://bugs.webkit.org/show_bug.cgi?id=42537
+
+ WebKitTestRunner needs layoutTestController.markerTextForListItem
+ https://bugs.webkit.org/show_bug.cgi?id=42549
+
+ * UIProcess/API/C/WKString.cpp:
+ (WKStringIsEmpty): Added.
+ * UIProcess/API/C/WKString.h: Added WKStringIsEmpty.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (copiedString): Added. Helper for functions that return a
+ WKStringRef that follows the copy rule.
+ (WKBundleFrameCopyName): Use copiedString.
+ (WKBundleFrameCopyCounterValue): Added. Calls counterValue.
+ (WKBundleFrameCopyMarkerText): Added. Calls markerText.
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
+ Added WKBundleFrameCopyCounterValue and WKBundleFrameCopyMarkerText.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
+ Renamed argument to streamline function a bit.
+ (WebKit::WebFrame::counterValue): Added.
+ (WebKit::WebFrame::markerText): Added.
+ * WebProcess/WebPage/WebFrame.h: Added counterValue and markerText.
+
+2010-07-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Part 2 of https://bugs.webkit.org/show_bug.cgi?id=43013
+ <rdar://problem/8152434>
+ Add support for scrolling using the keyboard in WebKit2
+
+ Add support for scrolling with the space bar and ensure that we don't scroll
+ if WebCore is handling the event in another way.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::keyEvent):
+ (WebKit::getScrollMapping):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-07-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=43013
+ Part of <rdar://problem/8152434>
+ Add support for scrolling using the keyboard in WebKit2
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::getScrollMapping):
+ (WebKit::WebPage::keyEvent):
+ Scroll the page in response to keyDown.
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ Use WindowsKeyboardCodes.h instead of redefining the constants.
+
+2010-07-26 Ada Chan <adachan@apple.com>
+
+ Fix Windows build.
+
+ * win/WebKit2Generated.make:
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Handle mouseenter/mouseleave + focus events
+ https://bugs.webkit.org/show_bug.cgi?id=42997
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::handleMouseEnterEvent):
+ Call platformHandleMouseEnterEvent.
+
+ (WebKit::NetscapePlugin::handleMouseLeaveEvent):
+ Call platformHandleMouseExitEvent.
+
+ (WebKit::NetscapePlugin::setFocus):
+ Call platformSetFocus.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::fillInCocoaEventFromMouseEvent):
+ Factor out code that fills in an NPCocoaEvent from a WebMouseEvent.
+
+ (WebKit::initializeMouseEvent):
+ Call fillInCocoaEventFromMouseEvent.
+
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ Send an NPCocoaEventMouseEntered event.
+
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ Send an NPCocoaEventMouseExited event.
+
+ (WebKit::NetscapePlugin::platformSetFocus):
+ Send an NPCocoaEventFocusChanged.
+
+ * WebProcess/Plugins/Plugin.h:
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ Dispatch mouse enter and mouse leave events. Call focusPluginElement on mousedown.
+
+ (WebKit::PluginView::focusPluginElement):
+ Focus the plug-in's containing frame and its element.
+
+ (WebKit::PluginView::setFocus):
+ Call Plugin::setFocus.
+
+2010-07-26 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add ability for WK2 to register a scheme to always be displayed as an empty document
+ https://bugs.webkit.org/show_bug.cgi?id=42995
+
+ * Shared/CoreIPCSupport/WebProcessMessageKinds.h:
+ (WebProcessMessage::):
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextRegisterURLSchemeAsEmptyDocument):
+ * UIProcess/API/C/WKContextPrivate.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ * UIProcess/WebContext.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
+ (WebKit::WebProcess::didReceiveMessage):
+ * WebProcess/WebProcess.h:
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Get rid of the dummy plug-in.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/DummyPlugin.cpp: Removed.
+ * WebProcess/Plugins/DummyPlugin.h: Removed.
+ * win/WebKit2.vcproj:
+
+2010-07-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move some non-APIish functions into private headers.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundle.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundleFrame.h.
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Copied from WebProcess/InjectedBundle/API/c/WKBundle.h.
+ * win/WebKit2.vcproj:
+
+2010-07-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=42986
+ Add prompt and confirm client functions to WebKit2
+
+ * Shared/CoreIPCSupport/WebPageProxyMessageKinds.h:
+ (WebPageProxyMessage::):
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveSyncMessage):
+ (WebKit::WebPageProxy::runJavaScriptAlert):
+ (WebKit::WebPageProxy::runJavaScriptConfirm):
+ (WebKit::WebPageProxy::runJavaScriptPrompt):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::runJavaScriptAlert):
+ (WebKit::WebUIClient::runJavaScriptConfirm):
+ (WebKit::WebUIClient::runJavaScriptPrompt):
+ * UIProcess/WebUIClient.h:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::runJavaScriptConfirm):
+ (WebKit::WebChromeClient::runJavaScriptPrompt):
+
+2010-07-26 Adam Roben <aroben@apple.com>
+
+ Windows build fix
+
+ * win/WebKit2.vcproj:
+ * win/WebKit2WebProcess.vcproj:
+ Removed empty attributes so the values will be picked up from the
+ vsprops files. (Also removed a couple of attributes that accidentally
+ duplicated values from the vsprops files.)
+
+2010-07-26 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Composited layers don't scroll in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42771
+
+ In WebKit2, do the compositing layer geometry flipping on the drawing area's main
+ backing layer. This both avoids us having to flip the layer contents, and also avoids issues
+ with the positioning of the root platform layer, which we want top-left. Doing the flipping
+ lower down would require that the root platform layer know where the scrollbar is.
+
+ * WebProcess/WebPage/LayerBackedDrawingArea.cpp:
+ (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea):
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Deliver mouse and wheel events to plug-ins
+ https://bugs.webkit.org/show_bug.cgi?id=42988
+
+ * Shared/WebEvent.h:
+ (WebKit::WebMouseEvent::WebMouseEvent):
+ (WebKit::WebMouseEvent::deltaX):
+ (WebKit::WebMouseEvent::deltaY):
+ (WebKit::WebMouseEvent::deltaZ):
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ Add deltaX, deltaY and deltaZ member variables to WebMosueEvent.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Rename NetscapePluginMac.cpp to NetscapePluginMac.mm.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::NPP_HandleEvent):
+ Add NPP_ wrapper.
+
+ (WebKit::NetscapePlugin::handleMouseEvent):
+ (WebKit::NetscapePlugin::handleWheelEvent):
+ Call the platform variants.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: Added.
+ (WebKit::modifierFlags):
+ (WebKit::buttonNumber):
+ (WebKit::initializeMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ Create an NPCocoaEvent and send it to the plug-in.
+
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ Ditto.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::handleEvent):
+ Get the current WebEvent and send it to the plug-in if necessary.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::currentEvent):
+ (WebKit::CurrentEvent::CurrentEvent):
+ (WebKit::CurrentEvent::~CurrentEvent):
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::WebPage::keyEvent):
+ * WebProcess/WebPage/WebPage.h:
+ Add RAII object for keeping track of the current event.
+
+2010-07-26 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up event handling functions
+ https://bugs.webkit.org/show_bug.cgi?id=42977
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::mouseEvent):
+ (WebKit::WebPage::wheelEvent):
+ (WebKit::WebPage::keyEvent):
+ (WebKit::WebPage::didReceiveMessage):
+ * WebProcess/WebPage/WebPage.h:
+
+2010-07-25 Darin Adler <darin@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKitTestRunner needs to support layoutTestController.keepWebHistory
+ https://bugs.webkit.org/show_bug.cgi?id=42323
+
+ Added WKBundleSetShouldTrackVisitedLinks, WKBundleRemoveAllVisitedLinks,
+ and WKBundleFrameGetComputedStyleIncludingVisitedInfo.
+
+ Also fixed misspellings of the word "receive".
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleSetShouldTrackVisitedLinks): Added.
+ (WKBundleRemoveAllVisitedLinks): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundle.h: Added functions and
+ fixed mispellings of receive.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameGetJavaScriptContext): Moved the code from here into WebFrame,
+ to be consistent with the rest of the functions in this file.
+ (WKBundleFrameGetComputedStyleIncludingVisitedInfo): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Added
+ WKBundleFrameGetComputedStyleIncludingVisitedInfo and tried to rearrange the
+ file to be more logically ordered and grouped.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Added.
+ (WebKit::InjectedBundle::removeAllVisitedLinks): Added.
+ (WebKit::InjectedBundle::didReceiveMessage): Fixed mispellings of receive.
+ * WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::jsContext): Added. Contains the code that used to be in
+ WKBundleFrameGetJavaScriptContext.
+ (WebKit::WebFrame::computedStyleIncludingVisitedInfo): Added.
+ * WebProcess/WebPage/WebFrame.h: Ditto.
+
+ * UIProcess/API/C/WKContext.h: Fixed misspellings of receive.
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::didReceiveMessageFromInjectedBundle): Ditto.
+ * UIProcess/WebContext.h: Ditto.
+ * UIProcess/WebContextInjectedBundleClient.cpp:
+ (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): Ditto.
+ * UIProcess/WebContextInjectedBundleClient.h: Ditto.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::forwardMessageToWebContext): Ditto.
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::forwardMessageToInjectedBundle): Ditto.
+
+2010-07-25 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42193
+ Support layoutTestController.dumpEditingDelegates in WebKitTestRunner
+
+ Step 2 - add the rest of editing delegates.
+
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ Added enums for EditorInsertAction and EAffinity. Also added a dummy type for
+ CSSStyleDeclaration - neither DumpRenderTree not WebKitTestRunner actually use that.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
+ (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
+ (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
+ (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
+ (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
+ (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
+ (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
+ (WebKit::InjectedBundlePageEditorClient::didBeginEditing):
+ (WebKit::InjectedBundlePageEditorClient::didEndEditing):
+ (WebKit::InjectedBundlePageEditorClient::didChange):
+ (WebKit::InjectedBundlePageEditorClient::didChangeSelection):
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::shouldDeleteRange):
+ (WebKit::WebEditorClient::shouldEndEditing):
+ (WebKit::WebEditorClient::shouldInsertNode):
+ (WebKit::WebEditorClient::shouldInsertText):
+ (WebKit::WebEditorClient::shouldChangeSelectedRange):
+ (WebKit::WebEditorClient::shouldApplyStyle):
+ (WebKit::WebEditorClient::didBeginEditing):
+ (WebKit::WebEditorClient::respondToChangedContents):
+ (WebKit::WebEditorClient::respondToChangedSelection):
+ (WebKit::WebEditorClient::didEndEditing):
+ Added remaining delagates that are needed for WebKitTestRunner.
+
+2010-07-19 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Setup the QtWebProcess
+
+ https://bugs.webkit.org/show_bug.cgi?id=42623
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ Remove the framework entry point from here to WebProcess/qt/WebProcessMainQt.cpp to match with with the mac and the win port.
+ * WebKit2.pro: Added.
+ * WebProcess/qt/WebProcessMainQt.cpp: Added.
+ (WebKit::WebProcessMainQt): Framework entry point for Qt.
+ * qt/MainQt.cpp: Added.
+ (main):
+
+2010-07-22 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Eliminate unneeded WKBundleFrameCopyInnerText function from WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=42847
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Removed WKBundleFrameCopyInnerText.
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Ditto.
+ * WebProcess/WebPage/WebFrame.cpp: Removed innerText.
+ * WebProcess/WebPage/WebFrame.h: Ditto.
+
+2010-07-22 Alexey Proskuryakov <ap@apple.com>
+
+ More Windows build fixing.
+
+ * win/WebKit2Generated.make: Copy the new public headers to $(WEBKITOUTPUTDIR)\include\WebKit2.
+
+2010-07-22 Alexey Proskuryakov <ap@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2.vcproj: Added new files.
+
+2010-07-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig and Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=42193
+ Support layoutTestController.dumpEditingDelegates in WebKitTestRunner
+
+ Step 1: Add the method, and implement one actual delegate call as proof of concept. No tests
+ fixed, but this makes difference one line smaller on many editing tests.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleBase.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.cpp: Added.
+ (WKBundleNodeCopyNodeName):
+ (WKBundleNodeGetParent):
+ * WebProcess/InjectedBundle/API/c/WKBundleNode.h: Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetEditorClient):
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.cpp: Added.
+ (WKBundleRangeGetStartOffset):
+ (WKBundleRangeGetStartContainer):
+ (WKBundleRangeGetEndOffset):
+ (WKBundleRangeGetEndContainer):
+ * WebProcess/InjectedBundle/API/c/WKBundleRange.h: Added.
+ Added WKBundleRangeRef and WKBundleNodeRef types for injected bundles. These are just pointers
+ to respective WebCore objects, without any WebKit2 wrappers.
+
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: Added.
+ (WebKit::InjectedBundlePageEditorClient::InjectedBundlePageEditorClient):
+ (WebKit::InjectedBundlePageEditorClient::initialize):
+ (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
+ * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: Added.
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::shouldBeginEditing):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleEditorClient):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleEditorClient):
+ Added the plumbing for invoking injected bundle code for editor client. There is no real API
+ for editor client yet.
+
+2010-07-22 Ivan Krstić <ike@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Adapt sandbox for new WebProcess bootstrap service naming scheme.
+ <rdar://problem/8225000>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2010-07-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ It should be possible to attach to the WebProcess in gdb during startup
+ https://bugs.webkit.org/show_bug.cgi?id=42853
+
+ Create an unique bootstrap service name and pass it to the web process, instead of registering a per process
+ name (which was incorrect anyway). This lets us get rid of the requirement that the UI process always should be
+ the parent process of the web process, something which is false when running under the debugger.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+
+2010-07-22 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Don't assert when Connection::invalidate is called before Connection::dispatchConnectionDidClose
+ https://bugs.webkit.org/show_bug.cgi?id=42851
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::dispatchConnectionDidClose):
+ Just return early if m_client is 0.
+
+2010-07-22 Adam Roben <aroben@apple.com>
+
+ Use ::MessageBox instead of ::DebugBreak to make the web process wait
+ for a debugger
+
+ While ::DebugBreak can make it easier to attach a debugger (because it
+ brings up the Just-in-Time debugger window), using ::MessageBox has
+ two advantages:
+ 1) It explains to the user what's going on, so it's harder to
+ mistake this debugging aid for a bug.
+ 2) It allows you to debug the UI process and the web process using
+ the same debugger, if desired.
+
+ Special thanks to John Sullivan for help with the text that's shown in
+ the alert.
+
+ Fixes <http://webkit.org/b/42848> WebKit2's wait-for-debugger
+ debugging aid should explain to the user what's happening
+
+ Reviewed by John Sullivan and Anders Carlsson.
+
+ * WebProcess/WebKitMain.cpp:
+ (WebKitMain): Use a ::MessageBox instead of a ::DebugBreak to wait for
+ the debugger. The alert explains to the user what's going on.
+
+2010-07-22 Adam Roben <aroben@apple.com>
+
+ Make WorkQueue aware of potential errors with ::WaitForMultipleObjects
+
+ Fixes <http://webkit.org/b/42846> WorkQueue should detect
+ ::WaitForMultipleObject failures
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/win/WorkQueueWin.cpp:
+ (WorkQueue::workQueueThreadBody): Added some assertions about the
+ various things that can fail with ::WaitForMultipleObjects,
+ specifically:
+ - Passing too many objects
+ - Timeouts (which shouldn't happen since we pass a timeout interval
+ of INFINITE)
+ - Abandoned mutexes (which shouldn't happen since we don't wait on
+ any mutexes currently)
+ - Miscellaneous failures
+
+2010-07-22 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
+ Add localized strings stubs for WebKit2.
+
+ Gets us below 200 tests failing in WebKitTestRunner.
+
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+ * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2010-07-22 Andras Becsi <abecsi@webkit.org>
+
+ Unreviewed trivial build fix.
+
+ [Qt] Mend remaining issues to fix the WebKit2 build.
+
+ * Shared/qt/UpdateChunk.h: add missing function
+ (WebKit::UpdateChunk::isEmpty):
+ * UIProcess/API/qt/qwkpage_p.h: Add stub implementation
+ (QWKPagePrivate::pageDidEnterAcceleratedCompositing):
+ (QWKPagePrivate::pageDidLeaveAcceleratedCompositing):
+
+2010-07-22 Andras Becsi <abecsi@webkit.org>
+
+ Reviewed by Antonio Gomes.
+
+ [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
+ https://bugs.webkit.org/show_bug.cgi?id=42830
+
+ * UIProcess/qt/WebContextQt.cpp: Added.
+ (WebKit::WebContext::applicationCacheDirectory):
+
+2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Unreviewed build fix.
+
+ [Qt] Fix WebKit2 build
+
+ https://bugs.webkit.org/show_bug.cgi?id=42638
+
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::setCursor): Added empty implementation.
+
+2010-07-22 Balazs Kelemen <kb@inf.u-szeged.hu>
+
+ Reviewed by Antonio Gomes.
+
+ Lazy cursor creation should be guarded by #if USE(LAZY_NATIVE_CURSOR) in WebKit2
+
+ https://bugs.webkit.org/show_bug.cgi?id=42622
+
+ * Shared/WebCoreArgumentCoders.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveMessage):
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::setCursor):
+
+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.