- 21 Jan, 2011 2 commits
-
-
aroben@apple.com authored
Also renamed a few functions and data members to match. Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't Reviewed by Simon Fraser. Source/WebCore: * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths. * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include path. * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too. * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp. * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h. * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: Updated for renames. Source/WebKit/win: Update for WKCACFLayerRenderer -> CACFLayerTreeHost rename Also renamed WebView::m_layerRenderer to WebView::m_layerTreeHost to match. * WebPreferences.cpp: * WebView.cpp: (WebView::setAcceleratedCompositing): Also made sure to remove our HWND from the layer tree host before we get rid of the layer tree host itself. * WebView.h: Source/WebKit2: Update for WKCACFLayerRenderer -> CACFLayerView rename * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Just removed all the unnecessary #includes. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
darin@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52855 Reviewed by Dan Bernstein. Source/WebKit2: * Shared/WebPageCreationParameters.h: Added canRunModal. * UIProcess/API/C/WKPage.h: Added a runModal function pointer to WKPageUIClient. Also removed a lot of redundant typedefs and added a new one, WKPageCallback, for callbacks without arguments or return values. * UIProcess/API/qt/qwkpage.cpp: (QWKPage::QWKPage): Added a runModal function pointer of 0. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::creationParameters): Set canRunModal based on return value of WebUIClient::canRunModal. * UIProcess/WebPageProxy.h: Added runModal. Calls WebUIClient::runModal. * UIProcess/WebPageProxy.messages.in: Added RunModal message. Also removed the periods from the phrases in the comments as Maciej requested a while back. * UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::canRunModal): Added. Returns true or false based on whether a runModal function was supplied in the WKPageUIClient structure. (WebKit::WebUIClient::runModal): Added. Calls the runModal function from the WKPageUIClient structure. * UIProcess/WebUIClient.h: Declared the above functions. * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::canRunModal): Call through to WebPage. (WebKit::WebChromeClient::runModal): Ditto. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage): Initialize m_canRunModal based on the creation parameters. Initialize m_isRunningModal to false. (WebKit::WebPage::close): Stop the nested run loop if we are running modal. (WebKit::WebPage::runModal): Send a message to ask the UI process to run modal and then start a nested run loop. It gets stopped when the page is closed. * WebProcess/WebPage/WebPage.h: Defined the canRunModal function and declared the runModal function. Tools: This fixes WebKitTestRunner to compile, but more work is probably needed to get it to pass the tests. * WebKitTestRunner/TestController.cpp: (WTR::TestController::runModal): Added. Calls through to the platform-specific version of runModal. (WTR::TestController::createOtherPage): Changed to be a private static member function so it can refer to runModal, which is a private static member function. (WTR::TestController::initialize): Pass 0 for the runModal function since we don't need to run the main window modal. I suspect this is wrong and will need to change. * WebKitTestRunner/TestController.h: Added declarations for the functions added above. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::runModal): Added. Untested implementation. * WebKitTestRunner/qt/TestControllerQt.cpp: (WTR::TestController::runModal): Added. * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::runModal): Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Jan, 2011 11 commits
-
-
ap@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52849 Make window.print work with WebKit2 * UIProcess/API/qt/qwkpage.cpp: (QWKPage::QWKPage): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printFrame): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::printFrame): * UIProcess/WebUIClient.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::print): Just pass through deelagte call to a WebKit2 client. * UIProcess/API/C/WKPage.h: Also added "Callback" suffix to other printing related function types. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Darin Adler. Keep track of the latest update timestamp in the backing store https://bugs.webkit.org/show_bug.cgi?id=52848 * Shared/UpdateInfo.h: (WebKit::UpdateInfo::UpdateInfo): Initialize timestamp to 0. * UIProcess/BackingStore.cpp: (WebKit::BackingStore::BackingStore): Initialize m_latestUpdateTimestamp to 0. (WebKit::BackingStore::incorporateUpdate): If the update is too old, discard it. Otherwise, create a bitmap and pass it to platformIncorporateUpdate. Finally update the timestamp. * UIProcess/BackingStore.h: Add m_latestUpdateTimestamp. * UIProcess/mac/BackingStoreMac.mm: (WebKit::BackingStore::platformIncorporateUpdate): Update now that we are already given the shareable bitmap. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/8890255bdakin@apple.com authored
Reviewed by Geoffrey Garen. Source/WebCore: Allow WebKitSystemInterface to draw scrollbars when appropriate. * WebCore.exp.in: * platform/mac/ScrollbarThemeMac.mm: (WebCore::scrollbarMap): (+[ScrollbarPrefsObserver appearancePrefsChanged:]): (WebCore::ScrollbarThemeMac::registerScrollbar): (WebCore::ScrollbarThemeMac::unregisterScrollbar): (WebCore::ScrollbarThemeMac::paint): * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: Source/WebKit/mac: Allow WebKitSystemInterface to draw scrollbars when appropriate. * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Source/WebKit2: Allow WebKitSystemInterface to draw scrollbars when appropriate. * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76292 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52779 Reviewed by Dave Hyatt. Source/WebCore: Pipe all scrolling through the ScrollbarClient/ScrollAnimator rather than through the Scrollbar. The Scrollbar now is just a "view" on the scroll position of the scrollable area it is attached to. There are now two ways to scroll a scrollable area: - ScrollbarClient::scroll() - ScrollbarClient::scrollToOffsetWithoutAnimation() Both of these go through the ScrollAnimator (updating its state or starting an animation). The ScrollAnimator, in turn, now calls ScrollbarClient::setScrollOffsetFromAnimation, which tells the Scrollbars to pull a new offset (via Scrollbar::offsetDidChange) and tells the class that derives from ScrollbarClient to scroll its contents (via ScrollbarClient::setScrollOffset). * WebCore.xcodeproj/project.pbxproj: Move Scrollbar.cpp to the right place. * accessibility/AccessibilityScrollbar.cpp: (WebCore::AccessibilityScrollbar::setValue): Initiate the scroll through the scrollbar client, rather than the scrollbar itself. * page/FrameView.cpp: (WebCore::FrameView::scrollTo): * page/FrameView.h: Condense the two valueChanged overrides to a single override of the scrollTo function. * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::scroll): (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): (WebCore::ScrollAnimator::currentPosition): (WebCore::ScrollAnimator::notityPositionChanged): * platform/ScrollAnimator.h: * platform/ScrollAnimatorWin.cpp: (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation): (WebCore::ScrollAnimatorWin::animateScroll): * platform/ScrollAnimatorWin.h: * platform/mac/ScrollAnimatorMac.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation): (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation and bottleneck all client notification of changed position through a new notityPositionChanged() function. * platform/ScrollView.cpp: (WebCore::ScrollView::setScrollOffset): (WebCore::ScrollView::scrollTo): (WebCore::ScrollView::scrollPosition): (WebCore::ScrollView::scroll): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::wheelEvent): * platform/ScrollView.h: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): Update to scroll via the ScrollbarClient rather than the Scrollbar. * platform/Scrollbar.cpp: (WebCore::Scrollbar::offsetDidChange): (WebCore::Scrollbar::autoscrollPressedPart): (WebCore::Scrollbar::moveThumb): (WebCore::Scrollbar::mouseMoved): * platform/Scrollbar.h: (WebCore::Scrollbar::setPressedPos): Change the scrollbar to only updates its offset in response to an offsetDidChange call. * platform/ScrollbarClient.cpp: (WebCore::ScrollbarClient::scroll): (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation): (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation): (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation): (WebCore::ScrollbarClient::setScrollOffsetFromAnimation): * platform/ScrollbarClient.h: (WebCore::ScrollbarClient::horizontalScrollbar): (WebCore::ScrollbarClient::verticalScrollbar): Make the increasingly misnamed ScrollbarClient responsible for scrolling. * platform/efl/ScrollbarEfl.cpp: (scrollbarEflEdjeMessage): * platform/gtk/MainFrameScrollbarGtk.cpp: (MainFrameScrollbarGtk::gtkValueChanged): * platform/qt/ScrollbarQt.cpp: (WebCore::Scrollbar::contextMenu): Update to move scrolling through the client. * platform/win/PopupMenuWin.cpp: (WebCore::PopupMenuWin::scrollToRevealSelection): (WebCore::PopupMenuWin::scrollPosition): (WebCore::PopupMenuWin::setScrollOffset): (WebCore::PopupMenuWin::scrollTo): (WebCore::PopupMenuWin::wndProc): * platform/win/PopupMenuWin.h: (WebCore::PopupMenuWin::verticalScrollbar): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset): (WebCore::RenderLayer::scrollTo): (WebCore::RenderLayer::setScrollOffset): (WebCore::RenderLayer::scrollPosition): (WebCore::RenderLayer::updateScrollInfoAfterLayout): (WebCore::RenderLayer::scroll): * rendering/RenderLayer.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::scrollToRevealElementAtListIndex): (WebCore::RenderListBox::scroll): (WebCore::RenderListBox::logicalScroll): (WebCore::RenderListBox::scrollPosition): (WebCore::RenderListBox::setScrollOffset): (WebCore::RenderListBox::scrollTo): (WebCore::RenderListBox::setScrollTop): * rendering/RenderListBox.h: (WebCore::RenderListBox::verticalScrollbar): Update to scroll via the ScrollbarClient rather than the Scrollbar. * rendering/RenderMarquee.cpp: (WebCore::RenderMarquee::start): Simplify initial paint to just do an immediate scroll to the position. Source/WebKit/chromium: * src/WebScrollbarImpl.cpp: (WebKit::WebScrollbarImpl::WebScrollbarImpl): (WebKit::WebScrollbarImpl::value): (WebKit::WebScrollbarImpl::setValue): (WebKit::WebScrollbarImpl::scroll): (WebKit::WebScrollbarImpl::onMouseDown): (WebKit::WebScrollbarImpl::onMouseMove): (WebKit::WebScrollbarImpl::onMouseWheel): (WebKit::WebScrollbarImpl::onKeyDown): (WebKit::WebScrollbarImpl::scrollPosition): (WebKit::WebScrollbarImpl::setScrollOffset): * src/WebScrollbarImpl.h: Source/WebKit/qt: * Api/qwebframe.cpp: (QWebFrame::setScrollBarValue): Source/WebKit/win: * WebScrollBar.cpp: (WebScrollBar::WebScrollBar): (WebScrollBar::setValue): (WebScrollBar::value): (WebScrollBar::scroll): (WebScrollBar::scrollPosition): (WebScrollBar::setScrollOffset): * WebScrollBar.h: Source/WebKit2: * UIProcess/win/WebPopupMenuProxyWin.cpp: (WebKit::WebPopupMenuProxyWin::scrollPosition): (WebKit::WebPopupMenuProxyWin::setScrollOffset): (WebKit::WebPopupMenuProxyWin::scrollTo): (WebKit::WebPopupMenuProxyWin::onMouseWheel): (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection): * UIProcess/win/WebPopupMenuProxyWin.h: (WebKit::WebPopupMenuProxyWin::verticalScrollbar): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Adam Roben. Add a timestamp to UpdateInfo https://bugs.webkit.org/show_bug.cgi?id=52844 * Shared/UpdateInfo.cpp: (WebKit::UpdateInfo::encode): (WebKit::UpdateInfo::decode): * Shared/UpdateInfo.h: * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::setSize): (WebKit::DrawingAreaImpl::display): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76285 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Beth Dakin. Add Connection::waitForAndDispatchImmediately https://bugs.webkit.org/show_bug.cgi?id=52841 * Platform/CoreIPC/Connection.h: (CoreIPC::Connection::waitForAndDispatchImmediately): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
kdecker@apple.com authored
<rdar://problem/8880689> need a way to obtain the rendered rectangle for box elements https://bugs.webkit.org/show_bug.cgi?id=52823 * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: (WKBundleNodeHandleGetRenderRect): Added new method that will return a rendered rectangle for box elements * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: Ditto. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: Ditto. (WebKit::InjectedBundleNodeHandle::renderRect): Ditto. * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
Reviewed by Andreas Kling. Remove null ptr deref that happens when reattaching to a new web process. Implement didRelaunchProcess that sets the drawing area size after the drawing area is re-instantiated. [Qt][WK2] Null ptr deref in UI process after web process has crashed https://bugs.webkit.org/show_bug.cgi?id=52796 * UIProcess/API/qt/qgraphicswkview.cpp: (QGraphicsWKView::QGraphicsWKView): * UIProcess/API/qt/qwkpage.cpp: (QWKPagePrivate::QWKPagePrivate): (QWKPagePrivate::init): (QWKPagePrivate::createDrawingAreaProxy): (QWKPagePrivate::didRelaunchProcess): Reset drawing area size after crash. * UIProcess/API/qt/qwkpage_p.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs@apple.com authored
Reviewed by Adam Roben. WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld https://bugs.webkit.org/show_bug.cgi?id=42327 * platform/mac-wk2/Skipped: Unskip the tests that needed this. 2011-01-20 Maciej Stachowiak <mjs@apple.com> Reviewed by Adam Roben. WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld https://bugs.webkit.org/show_bug.cgi?id=42327 Added a new API call, WKBundleFrameForJavaScriptContext, that gets the WKBundleFrameRef that corresponds to a JSContextRef (or null if none). * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: (WKBundleFrameForJavaScriptContext): Simple wrapper, defers to a WebFrame static method. * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::frameForContext): Follow the maze of twisty pointers. * WebProcess/WebPage/WebFrame.h: 2011-01-20 Maciej Stachowiak <mjs@apple.com> Reviewed by Adam Roben. WebKitTestRunner needs to support layoutTestController.evaluateScriptInIsolatedWorld https://bugs.webkit.org/show_bug.cgi?id=42327 * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm: Add support for methods that take their normal arguments but also a JSContextRef. * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: IDL definition for evaluateScriptInIsolatedWorld. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::didClearWindowForFrame): Set a magic variable only if this call is for an isolated world. * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::worldMap): Helper to create a world map. (WTR::LayoutTestController::worldIDForWorld): Map from an ID to a world. (WTR::LayoutTestController::evaluateScriptInIsolatedWorld): The newly added LayoutTestController API. * WebKitTestRunner/InjectedBundle/LayoutTestController.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
alex@webkit.org authored
Fix compilation error in GTK WebKit2. * Platform/CoreIPC/gtk/ConnectionGtk.cpp: (CoreIPC::readBytesFromSocket): (CoreIPC::writeBytesToSocket): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ossy@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=49897 Patch by Zoltan Horvath <zoltan@webkit.org> on 2011-01-20 Reviewed by Csaba Osztrogonác. Source/JavaScriptCore: Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). The modification replaces Noncopyable and FastAllocBase classes and these inherits with their equivalent macro implementation at the necessary places. * wtf/FastAllocBase.h: Turn FastAllocBase's implementation into a macro. Source/WebCore: Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). The modification replaces Noncopyable and FastAllocBase classes and these inherits with their equivalent macro implementation at the necessary places. Source/WebKit: Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589). The modification replaces Noncopyable and FastAllocBase classes and these inherits with their equivalent macro implementation at the n...
-
- 19 Jan, 2011 14 commits
-
-
simon.fraser@apple.com authored
Fix the WebKit2 build. * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: (WebKit::LayerBackedDrawingArea::syncCompositingLayers): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
bweinstein@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52774 Reviewed by Darin Adler. Add the API to get the parent frame of a frame. * UIProcess/API/C/WKFrame.cpp: (WKFrameGetParentFrame): * UIProcess/API/C/WKFrame.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
enrica@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52343 <rdar://problem/7660558> Reviewed by Darin Adler. This patch contains the remaining work to support drag and drop on Mac. I've added a PasteboardTypes class to encapsulate all the pasteboard formats supported for drag and drop. In this implementation we don't support the promised types, since I could not find an efficient way to do this across processes. The bulk of the patch consists in creating a shareable bitmap for the drag image, pass its handle to the UI process and create a new NSImage from it to be given to AppKit for dragging. I've added the missing implementation of the methods in the drag client to hook up the placement of the data in the pasteboard. * Shared/mac/PasteboardTypes.h: Added. * Shared/mac/PasteboardTypes.mm: Added. (WebKit::PasteboardTypes::forEditing): (WebKit::PasteboardTypes::forURL): (WebKit::PasteboardTypes::forImages): (WebKit::PasteboardTypes::forImagesWithArchive): * UIProcess/API/mac/PageClientImpl.h: * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setDragImage): Added. * UIProcess/API/mac/WKView.mm: (-[WKView _registerDraggedTypes]): Refactored to use the new PasteboardTypes class. (-[WKView initWithFrame:contextRef:pageGroupRef:]): (-[WKView _setMouseDownEvent:]): (-[WKView _mouseHandler:]): (-[WKView mouseDown:]): (-[WKView mouseUp:]): (-[WKView mouseDragged:]): (-[WKView draggedImage:endedAt:operation:]): (-[WKView draggingEntered:]): (-[WKView _setDragImage:at:linkDrag:]): * UIProcess/API/mac/WKViewInternal.h: * UIProcess/PageClient.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::setDragImage): (WebKit::WebPageProxy::dragEnded): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * WebKit2.xcodeproj/project.pbxproj: * WebProcess/WebCoreSupport/WebDragClient.cpp: * WebProcess/WebCoreSupport/WebDragClient.h: * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: Added. (WebKit::fontFromNSFont): (WebKit::WebDragClient::startDrag): Added implementation. (WebKit::WebDragClient::createDragImageForLink): Ditto. (WebKit::writeURL): Helper function. (WebKit::writeImage): Helper function. (WebKit::WebDragClient::declareAndWriteDragImage): Added implementation. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::dragEnded): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Dan Bernstein. Put the deprecated Connection member functions next to eachother https://bugs.webkit.org/show_bug.cgi?id=52767 * Platform/CoreIPC/Connection.h: (CoreIPC::Connection::sendSync): (CoreIPC::Connection::send): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Sam Weinig. When resizing, the web process should repaint the page https://bugs.webkit.org/show_bug.cgi?id=52764 * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::didSetSize): Incorporate the update. (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Return early if the update bounds rect is empty. This can happen if painting is disabled and we get a DidSetSize message. * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::setSize): If painting is disabled, just send back an empty UpdateInfo struct. Otherwise, paint and fill in the UpdateInfo struct. (WebKit::DrawingAreaImpl::display): Assert that painting is not disabled. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76179 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52739 Make it possible for a WebKit2 client to print headers and footers * UIProcess/API/C/WKPage.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::headerHeight): (WebKit::WebPageProxy::footerHeight): (WebKit::WebPageProxy::drawHeader): (WebKit::WebPageProxy::drawFooter): * UIProcess/WebPageProxy.h: * UIProcess/WebUIClient.cpp: (WebKit::WebUIClient::headerHeight): (WebKit::WebUIClient::footerHeight): (WebKit::WebUIClient::drawHeader): (WebKit::WebUIClient::drawFooter): * UIProcess/WebUIClient.h: Pass UIClient calls through. * UIProcess/API/mac/WKView.mm: (currentPrintOperationScale): A helper to extract scale factor from the current NSPrintOperation. (-[WKView _adjustPrintingMarginsForHeaderAndFooter]): Copied from WebKit1. Change current print info to account for header and footer height as provided by the client. (-[WKView knowsPageRange:]): Call -[self _adjustPrintingMarginsForHeaderAndFooter]. (-[WKView drawPageBorderWithSize:]): When AppKit asks to print page border, call the client to do that. Code adapted form WebKit1. * UIProcess/API/qt/qwkpage: (QWKPage::QWKPage): Added zeroes for new WKPageUIClient members to avoid breaking the build. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
jberlin@webkit.org authored
died at least once https://bugs.webkit.org/show_bug.cgi?id=52730 Reviewed by Darin Adler. WebDatabaseManagerProxy::invalidate was setting m_webContext to 0, and invalidate gets called in WebContext::processDidClose. However, m_webContext is only set in the constructor, which is only called from the constructor of WebContext, so attempting to send a message to any new WebProcess after the first one died was causing a null deref. This patch moves setting m_webcontext into clearContext and clearContext is only called in the WebContext destructor. This patch also adds checks for a valid WebProcessProxy before attempting to send messages to the WebProcessProxy so that if the WebProcess has died and has not been revived, it does not attempt to dereference a null WebProcessProxy. * UIProcess/WebContext.cpp: (WebKit::WebContext::~WebContext): Call WebDatabaseManagerProxy::clearContext. * UIProcess/WebContext.h: (WebKit::WebContext::hasValidProcess): Make this method public so that it can be called from WebDatabaseManagerProxy. * UIProcess/WebDatabaseManagerProxy.cpp: (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin): If there isn't a valid process, invalidate the callback and return early. (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins): Ditto. (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin): If tehre isn't a valid process return early. (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin): Ditto. (WebKit::WebDatabaseManagerProxy::deleteAllDatabases): Ditto. (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin): Ditto. (WebKit::WebDatabaseManagerProxy::invalidate): Move setting m_webContext to 0 from here ... * UIProcess/WebDatabaseManagerProxy.h: (WebKit::WebDatabaseManagerProxy::clearContext): ... to here. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76163 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Sam Weinig. Suspend/resume painting as the WKView visibility changes https://bugs.webkit.org/show_bug.cgi?id=52738 * UIProcess/DrawingAreaProxy.h: (WebKit::DrawingAreaProxy::visibilityDidChange): Add new member function. It should really be pure virtual once setPageIsVisible is removed. * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::visibilityDidChange): Send SuspendPainting/ResumePainting messages based on whether the view is visible or not. (WebKit::DrawingAreaProxyImpl::setPageIsVisible): Make this a stub; it should really be removed. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::viewStateDidChange): Call visibilityDidChange. * UIProcess/WebPageProxy.h: (WebKit::WebPageProxy::isViewVisible): Add new getter. * WebProcess/WebPage/DrawingArea.messages.in: Add SuspendPainting and ResumePainting messages. * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize m_isPaintingSuspended. (WebKit::DrawingAreaImpl::suspendPainting): Set m_isPaintingSuspended to true and stop the display timer. (WebKit::DrawingAreaImpl::resumePainting): Set m_isPaintingSuspended to false. (WebKit::DrawingAreaImpl::scheduleDisplay): (WebKit::DrawingAreaImpl::display): Bail if m_isPaintingSuspended is true. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andreas.kling@nokia.com authored
Reviewed by Simon Hausmann. [Qt][WK2] Implement formatLocalizedString() for Qt. * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::formatLocalizedString): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Simon Fraser. WK2 - Multiple crashes in PlatformCALayer::replaceSublayer https://bugs.webkit.org/show_bug.cgi?id=52695 Added a hostingLayer as the parent of the existing drawingLayer. The hostingLayer is now the root which is passed to the remote context. It never changes except to track the size of the window. The backingLayer is now a child of the hostingLayer, which allow it to switch between tiled and non-tiled. I also now give back accurate settings for debug borders and repaint counters. * WebProcess/WebPage/LayerBackedDrawingArea.cpp: (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): (WebKit::LayerBackedDrawingArea::setSize): (WebKit::LayerBackedDrawingArea::showDebugBorders): (WebKit::LayerBackedDrawingArea::showRepaintCounter): * WebProcess/WebPage/LayerBackedDrawingArea.h: * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: (WebKit::LayerBackedDrawingArea::platformInit): (WebKit::LayerBackedDrawingArea::attachCompositingContext): (WebKit::LayerBackedDrawingArea::syncCompositingLayers): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
cmarrin@apple.com authored
Reviewed by Simon Fraser. WK2 - Multiple crashes in PlatformCALayer::replaceSublayer https://bugs.webkit.org/show_bug.cgi?id=52695 Added a hostingLayer as the parent of the existing drawingLayer. The hostingLayer is now the root which is passed to the remote context. It never changes except to track the size of the window. The backingLayer is now a child of the hostingLayer, which allow it to switch between tiled and non-tiled. I also now give back accurate settings for debug borders and repaint counters. * WebProcess/WebPage/LayerBackedDrawingArea.cpp: (WebKit::LayerBackedDrawingArea::LayerBackedDrawingArea): (WebKit::LayerBackedDrawingArea::setSize): (WebKit::LayerBackedDrawingArea::showDebugBorders): (WebKit::LayerBackedDrawingArea::showRepaintCounter): * WebProcess/WebPage/LayerBackedDrawingArea.h: * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: (WebKit::LayerBackedDrawingArea::platformInit): (WebKit::LayerBackedDrawingArea::attachCompositingContext): (WebKit::LayerBackedDrawingArea::syncCompositingLayers): 2011-01-19 Chris Marrin <cmarrin@apple.com> Reviewed by Simon Fraser. WK2 - Multiple crashes in PlatformCALayer::replaceSublayer https://bugs.webkit.org/show_bug.cgi?id=52695 Added ASSERTs to the places we assume a non-null superlayer. * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::ensureStructuralLayer): (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Darin Adler. Throttle sending of SetSize messages https://bugs.webkit.org/show_bug.cgi?id=52727 * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize m_isWaitingForDidSetSize to false. (WebKit::DrawingAreaProxyImpl::didSetSize): Null out the backing store. (WebKit::DrawingAreaProxyImpl::sendSetSize): If m_isWaitingForDidSetSize is true, do nothing. Otherwise, set m_isWaitingForDidSetSize to true and send a SetSize message. * UIProcess/DrawingAreaProxyImpl.h: Add m_isWaitingForDidSetSize. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76139 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Darin Adler. Pass WebPageCreationParameters to DrawingArea::create https://bugs.webkit.org/show_bug.cgi?id=52726 * WebProcess/WebPage/DrawingArea.cpp: (WebKit::DrawingArea::create): * WebProcess/WebPage/DrawingArea.h: * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::create): (WebKit::DrawingAreaImpl::DrawingAreaImpl): * WebProcess/WebPage/DrawingAreaImpl.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::WebPage): (WebKit::WebPage::changeAcceleratedCompositingMode): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76135 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ossy@webkit.org authored
after moving source files into Source is finished. Reviewed by Laszlo Gombos and Tor Arne Vestbø. Source/JavaScriptCore: * JavaScriptCore.pri: Source/WebCore: * WebCore.pri: * WebCore.pro: Source/WebKit/qt: * Api/DerivedSources.pro: Source/WebKit2: * DerivedSources.pro: * WebKit2.pro: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 18 Jan, 2011 13 commits
-
-
mjs@apple.com authored
Reviewed by Sam Weinig. WebKitTestRunner should track loading more like DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=52692 Change load tracking to track the current top loading frame, in the manner of DumpRenderTree. This makes some tests that call notifyDone multiple times pass. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::InjectedBundle): (WTR::InjectedBundle::done): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: (WTR::InjectedBundle::topLoadingFrame): (WTR::InjectedBundle::setTopLoadingFrame): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::InjectedBundlePage): (WTR::InjectedBundlePage::stopLoading): (WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): (WTR::InjectedBundlePage::didFinishLoadForFrame): (WTR::InjectedBundlePage::didFailLoadWithErrorForFrame): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: (WTR::LayoutTestController::notifyDone): * WebKitTestRunner/TestController.cpp: (WTR::TestController::didReceiveMessageFromInjectedBundle): 2011-01-18 Maciej Stachowiak <mjs@apple.com> Reviewed by Sam Weinig. WebKitTestRunner should track loading more like DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=52692 Relax the message check in didSaveFrameToPageCache a bit more, since layout tests were still hitting the old one. * UIProcess/WebPageProxy.cpp: (WebKit::isDisconnectedFrame): (WebKit::WebPageProxy::didSaveFrameToPageCache): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76092 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/8860833https://bugs.webkit.org/show_bug.cgi?id=52599beidson@apple.com authored
UIProcess crash in WebPageProxy::reattachToWebProcess when web process crashes with a new tab/window. Reviewed by Darin Adler. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::reattachToWebProcessWithItem): Null check item *both* places it is used. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/8752200https://bugs.webkit.org/show_bug.cgi?id=52664beidson@apple.com authored
Need WebKit2 API to asynchronously get the resource data for a URL Reviewed by Maciej Stachowiak. Rename WKFrameGetMainResourceDataFunction to WKFrameGetResourceDataFunction, and add new API to get a resource by URL: * UIProcess/API/C/WKFrame.cpp: (WKFrameGetMainResourceData): (WKFrameGetResourceData): (callGetResourceDataBlockAndDispose): (WKFrameGetMainResourceData_b): (WKFrameGetResourceData_b): * UIProcess/API/C/WKFrame.h: Implement the new API in the UIProcess side: * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::getResourceData): * UIProcess/WebFrameProxy.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::getResourceDataFromFrame): * UIProcess/WebPageProxy.h: Have the WebProcess get the data and call back to the UIProcess: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::getResourceDataFromFrame): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Dan Bernstein. Make PageClientImpl::scrollView do hardware blitting https://bugs.webkit.org/show_bug.cgi?id=52689 * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::scrollView): Clip the scroll rect and scroll the view. * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Scroll before painting. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76086 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Darin Adler. Artifacts when scrolling with new drawing area https://bugs.webkit.org/show_bug.cgi?id=52682 * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::scroll): When scrolling, we want the intersection of the scroll rect and clip rect. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76085 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Darin Adler. Use a CGLayer for the backing store when possible https://bugs.webkit.org/show_bug.cgi?id=52679 * UIProcess/mac/BackingStoreMac.mm: (WebKit::BackingStore::paint): If there is a layer, paint it into the given context. (WebKit::BackingStore::backingStoreContext): If we can get the containing window graphics context, use it to create a CGLayer that we'll use for the backing store. (WebKit::BackingStore::scroll): Paint the layer into itself. * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::containingWindowGraphicsContext): Call the page client. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Dan Bernstein. Pass the web page proxy to BackingStore::create https://bugs.webkit.org/show_bug.cgi?id=52673 * UIProcess/BackingStore.cpp: (WebKit::BackingStore::create): Add WebPageProxy parameter. (WebKit::BackingStore::BackingStore): Add WebPageProxy parameter. * UIProcess/BackingStore.h: Add WebPageProxy member variable. * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Pass the web page proxy when creating the backing store. * UIProcess/mac/BackingStoreMac.mm: (WebKit::BackingStore::backingStoreContext): Set the default blend mode. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Darin Adler. Factor code to create the backing store bitmap context out into a new function https://bugs.webkit.org/show_bug.cgi?id=52670 * UIProcess/BackingStore.h: * UIProcess/mac/BackingStoreMac.mm: (WebKit::BackingStore::backingStoreContext): Create the backing store context. (WebKit::BackingStore::incorporateUpdate): Call backingStoreContext. (WebKit::BackingStore::scroll): Assert that the context is not null. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Dan Bernstein. Add PageClientImpl::containingWindowGraphicsContext https://bugs.webkit.org/show_bug.cgi?id=52666 * UIProcess/API/mac/PageClientImpl.h: * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::containingWindowGraphicsContext): * UIProcess/PageClient.h: * UIProcess/WebPageProxy.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
Reviewed by Sam Weinig. WK2 methods WKPageScaleWebView and WKPageGetViewScaleFactor need to have consistent names https://bugs.webkit.org/show_bug.cgi?id=52647 * UIProcess/API/C/WKPage.cpp: (WKPageSetScaleFactor): (WKPageGetScaleFactor): * UIProcess/API/C/WKPage.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Dan Bernstein. Ask the web page proxy to scroll the view when needed https://bugs.webkit.org/show_bug.cgi?id=52665 * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::incorporateUpdate): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::scrollView): * UIProcess/WebPageProxy.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
* UIProcess/win/WebView.cpp: (WebKit::WebView::scrollView): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Sam Weinig. Add PageClient::scrollView https://bugs.webkit.org/show_bug.cgi?id=52663 * UIProcess/API/mac/PageClientImpl.h: * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::scrollView): * UIProcess/API/qt/qwkpage.cpp: (QWKPagePrivate::scrollView): * UIProcess/API/qt/qwkpage_p.h: * UIProcess/PageClient.h: * UIProcess/win/WebView.cpp: (WebKit::PageClientImpl::scrollView): * UIProcess/win/WebView.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-