diff options
Diffstat (limited to 'Source/WebKit2/ChangeLog')
-rw-r--r-- | Source/WebKit2/ChangeLog | 38187 |
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. |