- 24 Jan, 2011 3 commits
-
-
kbalazs@webkit.org authored
Rubber-stamped by Csaba Osztrogonác. * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: (WebKit::ProcessLauncher::launchProcess): Move the bracket to the right place. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
Reviewed by Kenneth Rohde Christiansen. [Qt] Remove CleanupHandler by passing file descriptors. Deleting files in signal handler of UI process is not a good idea, because the memory where filenames are stored might not be valid after a crash. To avoid the need of using signal handlers for cleanup, change following: 1) Avoid passing filenames between processes, pass fds 2) When mmap'ing files, delete them immediately after opening and mmap'ing them. 3) Pass sockets with fds during fork+exec instead of passing them via the filesystem. 4) Use mmap'ed files for implementation of SharedMemory. QSharedMemory does not support cleanup correctly. Consquences: - Move MappedMemory to SharedMemory, make UpdateChunk use this. - Implement CoreIPC::Attachment using mmaped files. - Send messages using datagram socket. This solution works similiarly to Mach ports on Mac. - Send big messages out-of-line and thus avoid increasing the receive buffer. - Remove MemoryMappedPool and rely on libc/kernel caching of mmapped areas. - Unmap memory areas after use. - When UI process crashes, kill the web process using SIGKILL. This is possible again because cleanup handler is not needed. [WK2][Qt] Multiple problems with MemoryMappedPool https://bugs.webkit.org/show_bug.cgi?id=51984 * Platform/CoreIPC/Attachment.cpp: (CoreIPC::Attachment::Attachment): * Platform/CoreIPC/Attachment.h: (CoreIPC::Attachment::size): (CoreIPC::Attachment::releaseFileDescriptor): (CoreIPC::Attachment::fileDescriptor): * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/qt/ConnectionQt.cpp: (CoreIPC::MessageInfo::MessageInfo): (CoreIPC::MessageInfo::setMessageBodyOOL): (CoreIPC::MessageInfo::isMessageBodyOOL): (CoreIPC::MessageInfo::bodySize): (CoreIPC::MessageInfo::messageID): (CoreIPC::MessageInfo::attachmentCount): (CoreIPC::Connection::platformInitialize): (CoreIPC::Connection::platformInvalidate): (CoreIPC::SocketNotifierDisableGuard::SocketNotifierDisableGuard): (CoreIPC::SocketNotifierDisableGuard::~SocketNotifierDisableGuard): (CoreIPC::Connection::readyReadHandler): (CoreIPC::Connection::open): (CoreIPC::Connection::platformCanSendOutgoingMessages): (CoreIPC::Connection::sendOutgoingMessage): * Platform/SharedMemory.h: * Platform/WorkQueue.h: * Platform/qt/MappedMemoryPool.cpp: Removed. * Platform/qt/MappedMemoryPool.h: Removed. * Platform/qt/SharedMemoryQt.cpp: (WebKit::SharedMemory::Handle::Handle): (WebKit::SharedMemory::Handle::~Handle): (WebKit::SharedMemory::Handle::isNull): (WebKit::SharedMemory::Handle::encode): (WebKit::SharedMemory::Handle::decode): (WebKit::SharedMemory::Handle::releaseToAttachment): (WebKit::SharedMemory::Handle::adoptFromAttachment): (WebKit::SharedMemory::create): (WebKit::accessModeMMap): (WebKit::SharedMemory::~SharedMemory): (WebKit::accessModeFile): (WebKit::SharedMemory::createHandle): * Platform/qt/WorkQueueQt.cpp: (WorkQueue::registerSocketEventHandler): * Shared/qt/UpdateChunk.cpp: (WebKit::UpdateChunk::UpdateChunk): (WebKit::UpdateChunk::~UpdateChunk): (WebKit::UpdateChunk::encode): (WebKit::UpdateChunk::decode): (WebKit::UpdateChunk::createImage): * Shared/qt/UpdateChunk.h: * UIProcess/Launcher/ProcessLauncher.h: * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: (WebKit::QtWebProcess::QtWebProcess): (WebKit::QtWebProcess::setupChildProcess): (WebKit::ProcessLauncher::launchProcess): (WebKit::ProcessLauncher::platformInvalidate): * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: (WebKit::webThreadBody): (WebKit::ThreadLauncher::createWebThread): * WebKit2.pro: * WebProcess/qt/WebProcessMainQt.cpp: (WebKit::WebProcessMainQt): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
abecsi@webkit.org authored
Reviewed by Csaba Osztrogonác. [Qt] Move project files into Source https://bugs.webkit.org/show_bug.cgi?id=52891 * Source/DerivedSources.pro: Copied from DerivedSources.pro. * Source/WebKit.pri: Renamed from WebKit.pri. * Source/WebKit.pro: Added. * Source/common.pri: Renamed from common.pri. * WebKit.pro: Removed. 2011-01-24 Andras Becsi <abecsi@webkit.org> Reviewed by Csaba Osztrogonác. [Qt] Move project files into Source https://bugs.webkit.org/show_bug.cgi?id=52891 * JavaScriptCore.pri: * JavaScriptCore.pro: * jsc.pro: 2011-01-24 Andras Becsi <abecsi@webkit.org> Reviewed by Csaba Osztrogonác. [Qt] Move project files into Source https://bugs.webkit.org/show_bug.cgi?id=52891 No new tests needed. * WebCore.pri: * WebCore.pro: 2011-01-24 Andras Becsi <abecsi@webkit.org> Review...
-
- 23 Jan, 2011 2 commits
-
-
kdecker@apple.com authored
Reviewed by Kevin Decker. <rdar://problem/8905171> https://bugs.webkit.org/show_bug.cgi?id=52985 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::scaleWebView): Eliminated early return inside WebPageProxy::scaleWebView, making it consistent with WebKit1. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@apple.com authored
Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=52968 Use a separate NSView for printing Also addresses <rdar://problem/8900148> Improper check for -[NSGraphicsContext currentContextDrawingToScreen] * UIProcess/API/mac/WKPrintingView.h: Added. * UIProcess/API/mac/WKPrintingView.mm: Added. (-[WKPrintingView initWithFrameProxy:]): (-[WKPrintingView isFlipped]): (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): (-[WKPrintingView knowsPageRange:]): (-[WKPrintingView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): (-[WKPrintingView drawPageBorderWithSize:]): (-[WKPrintingView _provideTotalScaleFactorForPrintOperation:]): (-[WKPrintingView rectForPage:]): * UIProcess/API/mac/WKView.mm: (-[WKView drawRect:]): (-[WKView canChangeFrameLayout:]): (-[WKView printOperationWithPrintInfo:forFrame:]): * WebKit2.xcodeproj/project.pbxproj: Moved printing code to a separate view, simplifying as appropriate. The view is currently not referenced by anything in WebKit2 directly, being owned by NSPrintOperation. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 22 Jan, 2011 5 commits
-
-
andersca@apple.com authored
Reviewed by Sam Weinig. Transparent windows with compositing WebKit2 content show garbage https://bugs.webkit.org/show_bug.cgi?id=52966 <rdar://problem/8765051> * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: (WebKit::LayerBackedDrawingAreaProxy::paint): If the WKView should draw transparent background, do so. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Sam Weinig. Add an asynchronous WKPageForceRepaint https://bugs.webkit.org/show_bug.cgi?id=52964 <rdar://problem/8898527> * UIProcess/API/C/WKPage.cpp: (WKPageForceRepaint): Call WebPageProxy::forceRepaint. * UIProcess/API/C/WKPage.h: Add WKPageForceRepaint. * UIProcess/GenericCallback.h: Add a "generic" VoidCallback class. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::forceRepaint): Insert the callback in the m_voidCallbacks map and send a forceRepaint message. (WebKit::WebPageProxy::voidCallback): Call the right void callback. (WebKit::WebPageProxy::processDidCrash): Invalidate m_voidCallbacks. * UIProcess/WebPageProxy.messages.in: Add a VoidCallback message. * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp: (WebKit::ChunkedUpdateDrawingArea::forceRepaint): Force a repaint. * WebProcess/WebPage/ChunkedUpdateDrawingArea.h: Add forceRepaint. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::forceRepaint): Call forceRepaint on the drawing area. * WebProcess/WebPage/WebPage.messages.in: Add a ForceRepaint message. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
zimmermann@webkit.org authored
Reviewed by Dirk Schulze. Introduce FontMetrics abstraction https://bugs.webkit.org/show_bug.cgi?id=51456 * src/ExternalPopupMenu.cpp: Use FontMetrics instead of Font to access the metrics. (WebKit::ExternalPopupMenu::getPopupMenuInfo): * src/WebFontImpl.cpp: Ditto. (WebKit::WebFontImpl::ascent): (WebKit::WebFontImpl::descent): (WebKit::WebFontImpl::height): (WebKit::WebFontImpl::lineSpacing): (WebKit::WebFontImpl::xHeight): 2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Introduce FontMetrics abstraction https://bugs.webkit.org/show_bug.cgi?id=51456 * FullscreenVideoController.cpp: Use FontMetrics instead of Font to access the metrics. (FullscreenVideoController::draw): * WebCoreSupport/WebDragClient.cpp: Ditto. (WebDragClient::createDragImageForLink): * WebKitGraphics.cpp: Ditto. (FontMetrics): 2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Introduce FontMetrics abstraction https://bugs.webkit.org/show_bug.cgi?id=51456 Encapsulate ascent/descent/lineHeight/lineGap methods in a single FontMetrics class, instead of having to define them in both Font & SimpleFontData. Changed to store floating point values as default, in order to get accurate information for small sized fonts. All these methods now have floating-point and integer versions. Whenever an integer variant of these functions is called, lroundf() is used to round the value. This makes it possible to support small font-sizes for SVG in a follow-up patch, as well as fixing rounding issues when using SVG Fonts. Shouldn't affect existing tests. * GNUmakefile.am: Add FontMetrics.h to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. (baselinePositionForAccessibilityRenderObject): * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::computeLengthDouble): * html/canvas/CanvasRenderingContext2D.cpp: Ditto. (WebCore::CanvasRenderingContext2D::drawTextInternal): * inspector/InspectorController.cpp: Ditto. (WebCore::InspectorController::drawElementTitle): * platform/chromium/PopupMenuChromium.cpp: Ditto. (WebCore::PopupListBox::paintRow): (WebCore::PopupListBox::getRowHeight): * platform/graphics/Font.h: Remove ascent/descent/height/lineGap/lineSpacing/xHeight/unitsPerEm accessor... (WebCore::Font::fontMetrics): ... and only expose a single FontMetrics object here. * platform/graphics/FontFastPath.cpp: Use fontMetrics() to query metrics information. (WebCore::Font::emphasisMarkAscent): (WebCore::Font::emphasisMarkDescent): (WebCore::Font::emphasisMarkHeight): (WebCore::Font::floatWidthForSimpleText): * platform/graphics/FontMetrics.h: Added. (WebCore::FontMetrics::FontMetrics): Creates a FontMetrics object, stored in SimpleFontData. (WebCore::FontMetrics::unitsPerEm): Returns an unsigned describing the unitsPerEm. (WebCore::FontMetrics::setUnitsPerEm): Sets the unitsPerEm value. (WebCore::FontMetrics::floatAscent): Returns the stored m_ascent float. (WebCore::FontMetrics::setAscent): Sets the stored m_ascent float. (WebCore::FontMetrics::floatDescent): Returns the stored m_descent float. (WebCore::FontMetrics::setDescent): Sets the stored m_descent float. (WebCore::FontMetrics::floatHeight): Returns floatAscent() + floatDescent(). (WebCore::FontMetrics::floatLineGap): Returns the stored m_lineGap float. (WebCore::FontMetrics::setLineGap): Sets the stored m_lineGap float. (WebCore::FontMetrics::floatLineSpacing): Returns the stored m_lineSpacing float. (WebCore::FontMetrics::setLineSpacing): Sets the stored m_lineSpacing float. (WebCore::FontMetrics::xHeight): Returns the stored m_xHeight float (no integer version available, hence no 'float' prefix). (WebCore::FontMetrics::setXHeight): Sets the stored m_xHeight float. (WebCore::FontMetrics::ascent): Returns a rounded version of ascent(). (WebCore::FontMetrics::descent): Ditto (for descent). (WebCore::FontMetrics::height): Returns ascent() + descent(). (WebCore::FontMetrics::lineGap): Returns a rounded version of lineGap(). (WebCore::FontMetrics::lineSpacing): Ditto (for lineSpacing). (WebCore::FontMetrics::reset): Nulls all members, used only by the platform variants of SimpleFontData. * platform/graphics/SimpleFontData.cpp: Adapt SVG Fonts code, to initialize the FontMetrics object, as the m_ascent/etc.. members are gone. (WebCore::SimpleFontData::SimpleFontData): (WebCore::SimpleFontData::initCharWidths): * platform/graphics/SimpleFontData.h: Remove ascent/descent/height/lineSpacing/lineGap/xHeight/unitsPerEm accessors, and members, just store a FontMetrics object and expose it. (WebCore::SimpleFontData::fontMetrics): (WebCore::SimpleFontData::avgCharWidth): * platform/graphics/chromium/FontChromiumWin.cpp: Use fontMetrics() to query font metrics. (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds): (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds): (WebCore::Font::drawComplexText): * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Adapt platform code, to initialize the FontMetrics object. (WebCore::SimpleFontData::platformInit): * platform/graphics/chromium/SimpleFontDataLinux.cpp: Ditto. (WebCore::SimpleFontData::platformInit): * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Use fontMetrics() to query font metrics. (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): (WebCore::UniscribeHelperTextRun::nextWinFontData): * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Adapt platform code, to initialize the FontMetrics object. (WebCore::SimpleFontData::platformInit): * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Ditto. (WebCore::SimpleFontData::platformInit): * platform/graphics/mac/FontComplexTextMac.cpp: Use fontMetrics() to query font metrics. (WebCore::Font::floatWidthForComplexText): * platform/graphics/mac/FontMac.mm: Ditto. (WebCore::showGlyphsWithAdvances): * platform/graphics/mac/SimpleFontDataMac.mm: Adapt platform code, to initialize the FontMetrics object. (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformCharWidthInit): * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto. (WebCore::SimpleFontData::platformInit): * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto. (+ Switch to QFontMetricsF to get floating-point accurancy.) (WebCore::SimpleFontData::platformInit): * platform/graphics/win/FontCGWin.cpp: Use fontMetrics() to query font metrics. (WebCore::drawGDIGlyphs): * platform/graphics/win/FontWin.cpp: Ditto. (WebCore::Font::floatWidthForComplexText): * platform/graphics/win/SimpleFontDataCGWin.cpp: Adapt platform code, to initialize the FontMetrics object. (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformBoundsForGlyph): * platform/graphics/win/SimpleFontDataCairoWin.cpp: Ditto. (WebCore::SimpleFontData::platformInit): * platform/graphics/win/SimpleFontDataWin.cpp: Ditto. (WebCore::SimpleFontData::initGDIFont): * platform/graphics/wince/GraphicsContextWinCE.cpp: Use fontMetrics() to query font metrics. (WebCore::GraphicsContext::drawText): * platform/graphics/wince/SimpleFontDataWinCE.cpp: Adapt platform code, to initialize the FontMetrics object. (WebCore::SimpleFontData::platformInit): * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto. (WebCore::SimpleFontData::platformInit): * platform/win/PopupMenuWin.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. (WebCore::PopupMenuWin::calculatePositionAndSize): (WebCore::PopupMenuWin::paint): * rendering/EllipsisBox.cpp: Ditto. (WebCore::EllipsisBox::paint): (WebCore::EllipsisBox::nodeAtPoint): * rendering/InlineBox.cpp: Ditto. (WebCore::InlineBox::logicalHeight): * rendering/InlineFlowBox.cpp: Ditto. (WebCore::verticalPositionForBox): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesInBlockDirection): * rendering/InlineTextBox.cpp: Ditto. (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintCompositionUnderline): * rendering/RenderBlock.cpp: Ditto. (WebCore::RenderBlock::baselinePosition): (WebCore::RenderBlock::firstLineBoxBaseline): (WebCore::RenderBlock::lastLineBoxBaseline): * rendering/RenderBox.cpp: Ditto. (WebCore::RenderBox::localCaretRect): * rendering/RenderEmbeddedObject.cpp: Ditto. (WebCore::RenderEmbeddedObject::paintReplaced): * rendering/RenderImage.cpp: Ditto. (WebCore::RenderImage::setImageSizeForAltText): (WebCore::RenderImage::paintReplaced): * rendering/RenderInline.cpp: Ditto. (WebCore::RenderInline::baselinePosition): * rendering/RenderListBox.cpp: Ditto. (WebCore::RenderListBox::paintItemForeground): (WebCore::RenderListBox::itemHeight): * rendering/RenderListMarker.cpp: Ditto. (WebCore::RenderListMarker::paint): (WebCore::RenderListMarker::layout): (WebCore::RenderListMarker::computePreferredLogicalWidths): (WebCore::RenderListMarker::updateMargins): (WebCore::RenderListMarker::getRelativeMarkerRect): * rendering/RenderTextControl.cpp: Ditto. (WebCore::RenderTextControl::paintPlaceholder): * rendering/RenderTextControlSingleLine.cpp: Ditto. (WebCore::RenderTextControlSingleLine::createInnerTextStyle): * rendering/RenderThemeWin.cpp: Ditto. (WebCore::RenderThemeWin::adjustMenuListButtonStyle): * rendering/mathml/RenderMathMLFraction.cpp: Ditto. (WebCore::RenderMathMLFraction::baselinePosition): * rendering/style/RenderStyle.h: Add "const FontMetrics& fontMetrics() const" accessor. (WebCore::InheritedFlags::fontMetrics): (WebCore::InheritedFlags::computedLineHeight): * rendering/svg/RenderSVGInlineText.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. (WebCore::RenderSVGInlineText::positionForPoint): * rendering/svg/SVGInlineTextBox.cpp: Ditto. (WebCore::SVGInlineTextBox::selectionRectForTextFragment): (WebCore::positionOffsetForDecoration): (WebCore::SVGInlineTextBox::paintDecorationWithStyle): (WebCore::SVGInlineTextBox::paintTextWithShadows): (WebCore::SVGInlineTextBox::calculateBoundaries): * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Ditto. (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift): (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift): (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation): * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Ditto. (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): * rendering/svg/SVGTextMetrics.cpp: Ditto. (WebCore::SVGTextMetrics::SVGTextMetrics): * rendering/svg/SVGTextQuery.cpp: Ditto. (WebCore::calculateGlyphBoundaries): * svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::unitsPerEm): Rename defaultUnitsPerEm global to gDefaultUnitsPerEm. * svg/SVGLength.cpp: Use style->fontMetrics() instead of style->font() to access the metrics. (WebCore::SVGLength::convertValueFromUserUnitsToEXS): (WebCore::SVGLength::convertValueFromEXSToUserUnits): 2011-01-21 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Introduce FontMetrics abstraction https://bugs.webkit.org/show_bug.cgi?id=51456 * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Use FontMetrics instead of Font to access the metrics. (WebKit::WebPopupMenu::setUpPlatformData): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@apple.com authored
Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=52950 Leak in WebPage::drawRectToPDF * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::drawRectToPDF): Use RetainPtr here, too. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@apple.com authored
Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=52951 WebKit2 generates a bad PDF for cross process messaging * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually draw inside the requested rectangle. 2011-01-22 Alexey Proskuryakov <ap@apple.com> Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=52951 WebKit2 generates a bad PDF for cross process messaging * UIProcess/API/mac/WKView.mm: (-[WKView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): Use a correct offset when flipping. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 21 Jan, 2011 9 commits
-
-
ap@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52943 Objective-C files should use #import, not #include * UIProcess/API/C/WebKit2.h: This is an interesting one, because it's cross-platform, and there is more than one WKView.h. * Platform/mac/ModuleMac.mm: * Platform/mac/RunLoopMac.mm: * PluginProcess/mac/PluginControllerProxyMac.mm: * PluginProcess/mac/PluginProcessMac.mm: * PluginProcess/mac/PluginProcessMainMac.mm: * Shared/API/c/mac/WKCertificateInfoMac.mm: * Shared/API/c/mac/WKURLRequestNS.mm: * Shared/API/c/mac/WKURLResponseNS.mm: * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: * Shared/mac/PlatformCertificateInfo.mm: * Shared/mac/SandboxExtensionMac.mm: * Shared/mac/WebCoreArgumentCodersMac.mm: * Shared/mac/WebMemorySampler.mac.mm: * Shared/mac/WebURLRequestMac.mm: * Shared/mac/WebURLResponseMac.mm: * UIProcess/API/mac/FindIndicatorWindow.mm: * UIProcess/API/mac/WKTextInputWindowController.mm: * UIProcess/Launcher/mac/ProcessLauncherMac.mm: * UIProcess/Launcher/mac/ThreadLauncherMac.mm: * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: * UIProcess/mac/BackingStoreMac.mm: * UIProcess/mac/ChunkedUpdateDrawingAreaProxyMac.mm: * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: * UIProcess/mac/TextCheckerMac.mm: * UIProcess/mac/WebContextMac.mm: * UIProcess/mac/WebContextMenuProxyMac.mm: * UIProcess/mac/WebPageProxyMac.mm: * UIProcess/mac/WebPopupMenuProxyMac.mm: * UIProcess/mac/WebPreferencesMac.mm: * WebProcess/Downloads/mac/DownloadMac.mm: * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm: * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm: * WebProcess/WebCoreSupport/mac/WebDatabaseManagerMac.mm: * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm: * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: * WebProcess/WebPage/mac/WebPageMac.mm: * WebProcess/mac/WebProcessMac.mm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76418 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mrowe@apple.com authored
Reviewed by Sam Weinig. * Scripts/webkit2/messages.py: Add some more structs to the list. * UIProcess/DrawingAreaProxy.h: Forward-declare UpdateInfo as a class. * UIProcess/TextChecker.h: Forward-declare TextCheckerState as a struct. * UIProcess/WebPageProxy.h: Forward-declare ContextMenuState as a struct. * UIProcess/mac/TextCheckerMac.mm: Fix the type of the string constants so that they can be passed to functions expecting NSString* without generating warnings. * WebProcess/WebPage/DrawingArea.h: Forward-declare WebPageCreationParameters as a struct. * WebProcess/WebPage/DrawingAreaImpl.h: Forward-declare UpdateInfo as a class. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::getResourceDataFromFrame): Add parens around the assignment in the condition of the if statement to suppress a warning. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76417 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
bweinstein@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52925 Reviewed by Adam Roben. * UIProcess/API/C/WKFrame.cpp: (WKFrameStopLoading): Call through to WebFrameProxy::stopLoading. * UIProcess/API/C/WKFrame.h: * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::stopLoading): Send a message to the WebProcess to stop loading the frame with the passed in ID. * UIProcess/WebFrameProxy.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::stopLoadingFrame): Call stopForUserCancel on the passed-in frame. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Add StopLoadingFrame. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/8894125https://bugs.webkit.org/show_bug.cgi?id=52916beidson@apple.com authored
Expose "suggested filename" for a resource based on its resource response. Reviewed by Adam Roben. API pieces: * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: (WKBundleFrameCopySuggestedFilenameForResourceURL): * WebProcess/InjectedBundle/API/c/WKBundleFrame.h: Implementation: * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::suggestedFilenameForResourceURL): See if the DocumentLoader has a resource for this URL and, if so, return the response's suggested filename. * WebProcess/WebPage/WebFrame.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Dan Bernstein. DrawingAreaProxyImpl::paint should return the unpainted region https://bugs.webkit.org/show_bug.cgi?id=52918 * UIProcess/API/mac/WKView.mm: (-[WKView drawRect:]): Add unpaintedRegion parameter. * UIProcess/BackingStore.h: (WebKit::BackingStore::size): Add a size getter. * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::paint): Initialize the unpainted region to the dirty region, then subtract the painted region. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/8896057andersca@apple.com authored
Reviewed by Dan Bernstein and Maciej Stachowiak. Give the Web Process access to the PubSub agent. * WebProcess/com.apple.WebProcess.sb: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=52779 Reviewed by Anders Carlsson. Rename ScrollbarClient -> ScrollableArea. Source/WebCore: - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea since that was its only use case. * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * accessibility/AccessibilityScrollbar.cpp: (WebCore::AccessibilityScrollbar::setValue): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): * page/FrameView.h: * platform/PopupMenuClient.h: * platform/ScrollAnimator.cpp: (WebCore::ScrollAnimator::create): (WebCore::ScrollAnimator::ScrollAnimator): (WebCore::ScrollAnimator::scroll): (WebCore::ScrollAnimator::notityPositionChanged): * platform/ScrollAnimator.h: * platform/ScrollAnimatorWin.cpp: (WebCore::ScrollAnimator::create): (WebCore::ScrollAnimatorWin::ScrollAnimatorWin): (WebCore::ScrollAnimatorWin::scroll): * platform/ScrollAnimatorWin.h: * platform/ScrollView.cpp: (WebCore::ScrollView::scroll): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::wheelEvent): * platform/ScrollView.h: * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp. (WebCore::ScrollableArea::ScrollableArea): (WebCore::ScrollableArea::~ScrollableArea): (WebCore::ScrollableArea::scroll): (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation): (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation): (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation): (WebCore::ScrollableArea::setScrollOffsetFromAnimation): * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h. * platform/Scrollbar.cpp: (WebCore::Scrollbar::createNativeScrollbar): (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::offsetDidChange): (WebCore::Scrollbar::autoscrollPressedPart): (WebCore::Scrollbar::moveThumb): (WebCore::Scrollbar::mouseMoved): (WebCore::Scrollbar::isWindowActive): (WebCore::Scrollbar::invalidateRect): (WebCore::Scrollbar::convertToContainingView): (WebCore::Scrollbar::convertFromContainingView): * platform/Scrollbar.h: (WebCore::Scrollbar::disconnectFromScrollableArea): (WebCore::Scrollbar::scrollableArea): * platform/ScrollbarClient.cpp: Removed. * platform/ScrollbarClient.h: Removed. * platform/ScrollbarThemeComposite.cpp: * platform/chromium/FramelessScrollView.h: * platform/chromium/ScrollbarThemeChromium.cpp: (WebCore::ScrollbarThemeChromium::paintTickmarks): * platform/efl/ScrollbarEfl.cpp: (Scrollbar::createNativeScrollbar): (ScrollbarEfl::ScrollbarEfl): (scrollbarEflEdjeMessage): * platform/efl/ScrollbarEfl.h: * platform/gtk/MainFrameScrollbarGtk.cpp: (MainFrameScrollbarGtk::create): (MainFrameScrollbarGtk::MainFrameScrollbarGtk): (MainFrameScrollbarGtk::gtkValueChanged): * platform/gtk/MainFrameScrollbarGtk.h: * platform/mac/ScrollAnimatorMac.h: * platform/mac/ScrollAnimatorMac.mm: (WebCore::ScrollAnimator::create): (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): (WebCore::ScrollAnimatorMac::scroll): * platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::paint): * platform/qt/ScrollbarQt.cpp: (WebCore::Scrollbar::contextMenu): * platform/win/PopupMenuWin.cpp: (WebCore::PopupMenuWin::scrollToRevealSelection): (WebCore::PopupMenuWin::wndProc): * platform/win/PopupMenuWin.h: * platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::paintTrackBackground): (WebCore::ScrollbarThemeSafari::paintButton): (WebCore::ScrollbarThemeSafari::paintThumb): * platform/wx/ScrollbarThemeWx.cpp: (WebCore::ScrollbarThemeWx::paint): * rendering/RenderDataGrid.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset): (WebCore::RenderLayer::destroyScrollbar): (WebCore::RenderLayer::scroll): * rendering/RenderLayer.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::scrollToRevealElementAtListIndex): (WebCore::RenderListBox::scroll): (WebCore::RenderListBox::logicalScroll): (WebCore::RenderListBox::setScrollTop): (WebCore::RenderListBox::destroyScrollbar): * rendering/RenderListBox.h: * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::createScrollbar): * rendering/RenderMenuList.h: * rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::createCustomScrollbar): (WebCore::RenderScrollbar::RenderScrollbar): * rendering/RenderScrollbar.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::createScrollbar): * rendering/RenderTextControlSingleLine.h: Source/WebKit/chromium: * src/AutoFillPopupMenuClient.cpp: (WebKit::AutoFillPopupMenuClient::createScrollbar): * src/AutoFillPopupMenuClient.h: * src/WebScrollbarImpl.cpp: (WebKit::WebScrollbarImpl::WebScrollbarImpl): (WebKit::WebScrollbarImpl::scroll): (WebKit::WebScrollbarImpl::onMouseWheel): (WebKit::WebScrollbarImpl::onKeyDown): * src/WebScrollbarImpl.h: * tests/PopupMenuTest.cpp: (WebKit::TestPopupMenuClient::createScrollbar): Source/WebKit/qt: * Api/qwebframe.cpp: (QWebFrame::setScrollBarValue): Source/WebKit/win: * WebScrollBar.cpp: (WebScrollBar::scroll): * WebScrollBar.h: Source/WebKit2: * UIProcess/win/WebPopupMenuProxyWin.cpp: (WebKit::WebPopupMenuProxyWin::onMouseWheel): (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection): * UIProcess/win/WebPopupMenuProxyWin.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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 10 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
-