- 24 Jan, 2011 8 commits
-
-
jberlin@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=53029 Reviewed by Adam Roben. * UIProcess/win/TextCheckerWin.cpp: Disable the warnings for this file. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Sam Weinig. Wait for half a second if we're asked to paint when receiving a DidSetSize message https://bugs.webkit.org/show_bug.cgi?id=53028 * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::paint): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Sam Weinig. Implement forceRedisplay in the new drawing area https://bugs.webkit.org/show_bug.cgi?id=53026 * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::forceRepaint): * WebProcess/WebPage/DrawingAreaImpl.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
andersca@apple.com authored
Reviewed by Sam Weinig. Fill unpainted rects with the background color. https://bugs.webkit.org/show_bug.cgi?id=53025 * UIProcess/API/mac/WKView.mm: (drawPageBackground): Add new helper function. (-[WKView drawRect:]): Iterate over the unpainted rects and fill them with the background color. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
rdar://problem/6097826mitz@apple.com authored
WebKit2 version of <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter Reviewed by John Sullivan. * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::setCursor): If the current cursor comes from a cursor rect, do not override it. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76529 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
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> Reviewed by Csaba Osztrogonác. [Qt] Move project files into Source https://bugs.webkit.org/show_bug.cgi?id=52891 * declarative/declarative.pro: * docs/docs.pri: * tests/tests.pri: 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 * DerivedSources.pro: * WebKit2.pro: * WebProcess.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 * DerivedSources.pro: Renamed from DerivedSources.pro. * DumpRenderTree/qt/DumpRenderTree.pro: * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: * MiniBrowser/DerivedSources.pro: * MiniBrowser/qt/MiniBrowser.pro: * QtTestBrowser/QtTestBrowser.pro: * Scripts/webkitdirs.pm: * Tools.pro: Added. * WebKitTestRunner/DerivedSources.pro: * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: * WebKitTestRunner/qt/WebKitTestRunner.pro: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 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:]):...
-
- 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 5 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
-