2010-10-20 Sheriff Bot Unreviewed, rolling out r70040. http://trac.webkit.org/changeset/70040 https://bugs.webkit.org/show_bug.cgi?id=48042 "Reverting a performance regression detected by page_cycler" (Requested by hayato on #webkit). * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): (WebCore::CSSStyleSelector::checkSelector): * css/CSSStyleSelector.h: 2010-10-19 Simon Fraser Reviewed by Gavin Barraclough. https://bugs.webkit.org/show_bug.cgi?id=47851 Avoid buffer overflows in CSSPrimitiveValue's use of DecimalNumber, and pass the buffer size in InspectorBasicValue. Test: fast/css/large-value-csstext.html * css/CSSPrimitiveValue.cpp: (WebCore::formatNumber): * inspector/InspectorValues.cpp: (WebCore::InspectorBasicValue::writeJSON): 2010-10-20 Dumitru Daniliuc Reviewed by David Levin. Add SecurityOrigin::threadsafeCopy() to the list of exported symbols. https://bugs.webkit.org/show_bug.cgi?id=40655 * WebCore.exp.in: 2010-10-20 Sheriff Bot Unreviewed, rolling out r70165. http://trac.webkit.org/changeset/70165 https://bugs.webkit.org/show_bug.cgi?id=48007 It broke tests on Qt bot (Requested by Ossy on #webkit). * ForwardingHeaders/wtf/text/TextPosition.h: Removed. * bindings/js/ScriptSourceCode.h: (WebCore::ScriptSourceCode::ScriptSourceCode): * bindings/v8/ScheduledAction.cpp: (WebCore::ScheduledAction::ScheduledAction): * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::eventHandlerLineNumber): (WebCore::ScriptController::eventHandlerColumnNumber): * bindings/v8/ScriptController.h: * bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): * bindings/v8/ScriptSourceCode.h: (WebCore::ScriptSourceCode::ScriptSourceCode): (WebCore::ScriptSourceCode::startLine): * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): (WebCore::V8LazyEventListener::prepareListenerObject): * bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::create): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::compileScript): (WebCore::V8Proxy::evaluate): (WebCore::V8Proxy::runScript): * bindings/v8/V8Proxy.h: * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::evaluate): (WebCore::WorkerContextExecutionProxy::runScript): * bindings/v8/WorkerContextExecutionProxy.h: * bindings/v8/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): * dom/PendingScript.cpp: (WebCore::PendingScript::releaseElementAndClear): * dom/PendingScript.h: (WebCore::PendingScript::PendingScript): (WebCore::PendingScript::operator=): (WebCore::PendingScript::startingLineNumber): * dom/ScriptableDocumentParser.h: * dom/XMLDocumentParser.h: * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::XMLDocumentParser): (WebCore::XMLDocumentParser::startElementNs): (WebCore::XMLDocumentParser::endElementNs): (WebCore::XMLDocumentParser::lineNumber): (WebCore::XMLDocumentParser::columnNumber): * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::XMLDocumentParser): (WebCore::XMLDocumentParser::parseStartElement): (WebCore::XMLDocumentParser::parseEndElement): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): (WebCore::HTMLDocumentParser::columnNumber): * html/parser/HTMLDocumentParser.h: * html/parser/HTMLScriptRunner.cpp: (WebCore::HTMLScriptRunner::sourceFromPendingScript): (WebCore::HTMLScriptRunner::execute): (WebCore::HTMLScriptRunner::runScript): * html/parser/HTMLScriptRunner.h: * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::takeScriptToProcess): (WebCore::HTMLTreeBuilder::processEndTag): (WebCore::HTMLTreeBuilder::processScriptStartTag): * html/parser/HTMLTreeBuilder.h: 2010-10-20 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=48001 Make boxes place themselves properly in the block direction. Get basic painting working for spans and add a test that verifies that span painting and replaced element painting (like images) works correctly. Added fast/blockflow/basic-vertical-line.html * rendering/InlineBox.cpp: (WebCore::InlineBox::logicalHeight): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesInInlineDirection): (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): (WebCore::verticalPositionForBox): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesInBlockDirection): (WebCore::InlineFlowBox::flipLinesInBlockDirection): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask): * rendering/InlineFlowBox.h: * rendering/style/RenderStyle.h: (WebCore::InheritedFlags::isFlippedLinesWritingMode): 2010-10-20 Beth Dakin Reviewed by Dave Hyatt. Fix for https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should affect scrolling This patch causes topmostPosition, lowestPosition, leftmostPosition, and rightmostPosition to take transforms into account. Compute the topmost/lowest/leftmost/rightmost position without factoring in the block's transform until the end. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::topmostPosition): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): * rendering/RenderBlock.h: transformedFrameRect() returns the frameRect() transformed to the layer's transform. applyLayerTransformToRect() does the same thing for the input rect. * rendering/RenderBox.cpp: (WebCore::RenderBox::applyLayerTransformToRect): (WebCore::RenderBox::transformedFrameRect): (WebCore::RenderBox::topmostPosition): (WebCore::RenderBox::lowestPosition): (WebCore::RenderBox::rightmostPosition): (WebCore::RenderBox::leftmostPosition): * rendering/RenderBox.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::topmostPosition): (WebCore::RenderMedia::lowestPosition): (WebCore::RenderMedia::rightmostPosition): (WebCore::RenderMedia::leftmostPosition): * rendering/RenderMedia.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::topmostPosition): (WebCore::RenderTableSection::lowestPosition): (WebCore::RenderTableSection::rightmostPosition): (WebCore::RenderTableSection::leftmostPosition): * rendering/RenderTableSection.h: 2010-10-20 Nikolas Zimmermann Not reviewed. Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty* https://bugs.webkit.org/show_bug.cgi?id=47973 Copy headers from svg/properties, otherwhise builds from scratch on win are broken. * WebCore.vcproj/copyForwardingHeaders.cmd: 2010-10-20 Peter Rybin Reviewed by Adam Barth. HTML parser should provide script column position within HTML document to JavaScript engine https://bugs.webkit.org/show_bug.cgi?id=45271 Replaces line number with TextPosition struct so that script engine gets script starting line/column. * ForwardingHeaders/wtf/text/TextPosition.h: Added. * bindings/js/ScriptSourceCode.h: (WebCore::ScriptSourceCode::ScriptSourceCode): * bindings/v8/ScheduledAction.cpp: (WebCore::ScheduledAction::ScheduledAction): * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::eventHandlerPosition): * bindings/v8/ScriptController.h: * bindings/v8/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): * bindings/v8/ScriptSourceCode.h: (WebCore::ScriptSourceCode::ScriptSourceCode): (WebCore::ScriptSourceCode::startLine): (WebCore::ScriptSourceCode::startPosition): * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): (WebCore::V8LazyEventListener::prepareListenerObject): * bindings/v8/V8LazyEventListener.h: (WebCore::V8LazyEventListener::create): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::compileScript): (WebCore::V8Proxy::evaluate): (WebCore::V8Proxy::runScript): * bindings/v8/V8Proxy.h: * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::evaluate): (WebCore::WorkerContextExecutionProxy::runScript): * bindings/v8/WorkerContextExecutionProxy.h: * bindings/v8/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): * dom/PendingScript.cpp: (WebCore::PendingScript::releaseElementAndClear): * dom/PendingScript.h: (WebCore::PendingScript::PendingScript): (WebCore::PendingScript::operator=): (WebCore::PendingScript::startingPosition): * dom/ScriptableDocumentParser.h: * dom/XMLDocumentParser.h: * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::XMLDocumentParser): (WebCore::XMLDocumentParser::startElementNs): (WebCore::XMLDocumentParser::endElementNs): (WebCore::XMLDocumentParser::lineNumber): (WebCore::XMLDocumentParser::columnNumber): (WebCore::XMLDocumentParser::textPosition): (WebCore::XMLDocumentParser::textPositionOneBased): * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::XMLDocumentParser): (WebCore::XMLDocumentParser::textPosition): (WebCore::XMLDocumentParser::parseStartElement): (WebCore::XMLDocumentParser::parseEndElement): * html/parser/HTMLDocumentParser.cpp: (WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): (WebCore::HTMLDocumentParser::textPosition): * html/parser/HTMLDocumentParser.h: * html/parser/HTMLScriptRunner.cpp: (WebCore::HTMLScriptRunner::sourceFromPendingScript): (WebCore::HTMLScriptRunner::execute): (WebCore::HTMLScriptRunner::runScript): * html/parser/HTMLScriptRunner.h: * html/parser/HTMLTreeBuilder.cpp: (WebCore::uninitializedPositionValue1): (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::takeScriptToProcess): (WebCore::HTMLTreeBuilder::processEndTag): (WebCore::HTMLTreeBuilder::processScriptStartTag): * html/parser/HTMLTreeBuilder.h: 2010-10-20 David Hyatt Reviewed by Simon Fraser. https://bugs.webkit.org/show_bug.cgi?id=47994 Make computeBlockDirectionPositionsForLine writing-mode-aware. None of the functions it calls are patched yet. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeBlockDirectionPositionsForLine): 2010-10-20 John Abd-El-Malek Reviewed by Darin Fisher. [chromium] Fix crash when mousing over scrollview https://bugs.webkit.org/show_bug.cgi?id=47956 Test: plugins/mouse-move-over-plugin-in-frame.html * platform/Widget.h: (WebCore::Widget::isPluginContainer): 2010-10-20 Sheriff Bot Unreviewed, rolling out r70149. http://trac.webkit.org/changeset/70149 https://bugs.webkit.org/show_bug.cgi?id=47989 "Build breaks in mac and win" (Requested by satish on #webkit). * dom/Element.cpp: (WebCore::Element::computeInheritedLanguage): * page/SpeechInput.cpp: (WebCore::SpeechInput::startRecognition): * page/SpeechInput.h: * page/SpeechInputClient.h: * platform/mock/SpeechInputClientMock.cpp: (WebCore::SpeechInputClientMock::startRecognition): (WebCore::SpeechInputClientMock::setRecognitionResult): (WebCore::SpeechInputClientMock::timerFired): * platform/mock/SpeechInputClientMock.h: * rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerElement::attachInnerElement): (WebCore::SearchFieldCancelButtonElement::detach): (WebCore::SpinButtonElement::defaultEventHandler): (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): (WebCore::InputFieldSpeechButtonElement::detach): 2010-10-19 Leandro Gracia Gil Reviewed by Jeremy Orlow. Patch the current speech input implementation to use and validate the nearest language tag. The language is now passed to the startRecognition methods so that language-specific recognition could be used. Also added a second parameter to setMockSpeechInputResult for the language used in speech recognition. https://bugs.webkit.org/show_bug.cgi?id=47089 This is the 2nd of a 4-sided patch in Chromium and WebKit. For more details see http://codereview.chromium.org/3615005/show and http://codereview.chromium.org/3595018/show. Test: fast/speech/input-text-language-tag.html * dom/Element.cpp: (WebCore::Element::computeInheritedLanguage): includes a brief character validation for the BCP 47 language tag. * page/SpeechInput.cpp: (WebCore::SpeechInput::startRecognition): * page/SpeechInput.h: * page/SpeechInputClient.h: * platform/mock/SpeechInputClientMock.cpp: (WebCore::SpeechInputClientMock::startRecognition): (WebCore::SpeechInputClientMock::setRecognitionResult): results are now stored by language using a hash map. (WebCore::SpeechInputClientMock::timerFired): * platform/mock/SpeechInputClientMock.h: * rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerElement::attachInnerElement): (WebCore::SearchFieldCancelButtonElement::detach): (WebCore::SpinButtonElement::defaultEventHandler): (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): (WebCore::InputFieldSpeechButtonElement::detach): 2010-10-20 Dirk Schulze Reviewed by Nikolas Zimmermann. Merge ColorSpace and ImageColorSpace enums https://bugs.webkit.org/show_bug.cgi?id=47922 Merging these two enums makes it easier to implement color-interpolation as well as color-interpolation-filter for SVG. Added ColorSpaceLinearRGB to the ColorSpace enum and changed ImageColorSpace to ColorSpace in all related files. Renamed enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB to follow webkit style rules. Removed gray scale support in ImageBuffer since it is not used anymore on WebKit. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ColorSpace): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::paint): * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault): (WebCore::CanvasRenderingContext2D::setShadow): (WebCore::CanvasRenderingContext2D::applyShadow): (WebCore::CanvasRenderingContext2D::drawImage): (WebCore::CanvasRenderingContext2D::drawImageFromRect): (WebCore::CanvasRenderingContext2D::drawTextInternal): * html/canvas/CanvasStyle.cpp: (WebCore::CanvasStyle::applyStrokeColor): (WebCore::CanvasStyle::applyFillColor): * inspector/InspectorController.cpp: (WebCore::drawOutlinedQuad): (WebCore::InspectorController::drawElementTitle): * mathml/RenderMathMLBlock.cpp: (WebCore::RenderMathMLBlock::paint): * mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::paint): * mathml/RenderMathMLRoot.cpp: (WebCore::RenderMathMLRoot::paint): * mathml/RenderMathMLSquareRoot.cpp: (WebCore::RenderMathMLSquareRoot::paint): * page/FrameView.cpp: (WebCore::FrameView::paintContents): * page/PrintContext.cpp: (WebCore::PrintContext::spoolAllPagesWithBoundaries): * platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent): * platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::paintScrollCorner): * platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paintScrollCorner): * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupContainer::paintBorder): (WebCore::PopupListBox::paint): (WebCore::PopupListBox::paintRow): * platform/chromium/ScrollbarThemeChromium.cpp: (WebCore::ScrollbarThemeChromium::paintTickmarks): * platform/chromium/ScrollbarThemeChromiumMac.mm: (WebCore::ScrollbarThemeChromiumMac::paint): * platform/graphics/ColorSpace.h: * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContextPrivate.h: (WebCore::GraphicsContextState::GraphicsContextState): * platform/graphics/ImageBuffer.cpp: (WebCore::ImageBuffer::transformColorSpace): * platform/graphics/ImageBuffer.h: (WebCore::ImageBuffer::create): * platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::ImageBuffer): * platform/graphics/cg/ColorCG.cpp: (WebCore::cachedCGColorSpace): (WebCore::cachedCGColor): * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::linearRGBColorSpaceRef): * platform/graphics/cg/GraphicsContextCG.h: * platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::ImageBuffer): (WebCore::cgImage): (WebCore::ImageBuffer::draw): * platform/graphics/cg/ImageBufferData.h: * platform/graphics/cg/ImageCG.cpp: (WebCore::imageWithColorSpace): * platform/graphics/chromium/GLES2Canvas.cpp: (WebCore::GLES2Canvas::clearRect): (WebCore::GLES2Canvas::fillRect): * platform/graphics/chromium/TransparencyWin.cpp: (WebCore::TransparencyWin::setupLayerForWhiteLayer): * platform/graphics/filters/FEColorMatrix.cpp: (WebCore::FEColorMatrix::apply): * platform/graphics/filters/FEComposite.cpp: (WebCore::FEComposite::apply): * platform/graphics/filters/FEFlood.cpp: (WebCore::FEFlood::apply): * platform/graphics/filters/FEMerge.cpp: (WebCore::FEMerge::apply): * platform/graphics/filters/FEOffset.cpp: (WebCore::FEOffset::apply): * platform/graphics/filters/FETile.cpp: (WebCore::FETile::apply): * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::effectContext): * platform/graphics/filters/SourceAlpha.cpp: (WebCore::SourceAlpha::apply): * platform/graphics/filters/SourceGraphic.cpp: (WebCore::SourceGraphic::apply): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::paint): * platform/graphics/gtk/FontGtk.cpp: (WebCore::Font::drawComplexText): * platform/graphics/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::setLayerBorderColor): (WebCore::setLayerBackgroundColor): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::GraphicsContext): * platform/graphics/qt/ImageBufferQt.cpp: (WebCore::ImageBuffer::ImageBuffer): (WebCore::ImageBuffer::draw): * platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::ImageBuffer::ImageBuffer): * platform/graphics/skia/PlatformContextSkia.cpp: (WebCore::PlatformContextSkia::uploadSoftwareToHardware): * platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): * platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::drawFocusRing): * platform/graphics/win/GraphicsLayerCACF.cpp: (WebCore::setLayerBorderColor): (WebCore::setLayerBackgroundColor): * platform/graphics/win/ImageCGWin.cpp: (WebCore::BitmapImage::getHBITMAPOfSize): * platform/graphics/win/ImageCairoWin.cpp: (WebCore::BitmapImage::getHBITMAPOfSize): (WebCore::BitmapImage::drawFrameMatchingSourceSize): * platform/graphics/win/WebLayer.cpp: (WebCore::WebLayer::drawInContext): * platform/graphics/wince/GraphicsContextWinCE.cpp: (WebCore::GraphicsContext::clearRect): (WebCore::GraphicsContext::fillRect): * platform/graphics/wince/ImageWinCE.cpp: (WebCore::BitmapImage::getHBITMAPOfSize): * platform/graphics/wx/GraphicsContextWx.cpp: (WebCore::GraphicsContext::GraphicsContext): * platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): (WebCore::paintMediaButton): (WebCore::RenderThemeGtk::paintMediaSliderTrack): (WebCore::RenderThemeGtk::paintMediaSliderThumb): * platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::paint): * platform/win/PopupMenuWin.cpp: (WebCore::PopupMenuWin::paint): * platform/win/WebCoreTextRenderer.cpp: (WebCore::doDrawTextAtPoint): * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: (WebCore::drawTextWithSpacing): * plugins/PluginView.cpp: (WebCore::PluginView::paintMissingPluginIcon): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::beginTransparencyLayers): (WebCore::RenderLayer::paintResizer): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): * rendering/RenderMediaControlsChromium.cpp: (WebCore::paintMediaButton): (WebCore::paintMediaSlider): (WebCore::paintMediaVolumeSlider): (WebCore::paintMediaTimelineContainer): * rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): * rendering/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::applyClippingToContext): * rendering/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::applyResource): (WebCore::RenderSVGResourceFilter::postApplyResource): * rendering/RenderSVGResourceGradient.cpp: (WebCore::createMaskAndSwapContextForTextGradient): * rendering/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::applyResource): (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): * rendering/RenderSVGResourcePattern.cpp: (WebCore::RenderSVGResourcePattern::createTileImage): * rendering/RenderSVGResourceSolidColor.cpp: (WebCore::RenderSVGResourceSolidColor::applyResource): * rendering/RenderScrollbarTheme.cpp: (WebCore::RenderScrollbarTheme::paintScrollCorner): * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintProgressBar): (WebCore::RenderThemeMac::paintMenuListButton): * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintMenuListButton): * rendering/RenderThemeWinCE.cpp: (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton): (WebCore::RenderThemeWinCE::paintSliderTrack): (WebCore::RenderThemeWinCE::paintSliderThumb): * rendering/SVGImageBufferTools.cpp: (WebCore::SVGImageBufferTools::createImageBuffer): * rendering/SVGImageBufferTools.h: * rendering/style/StyleRareInheritedData.cpp: (WebCore::StyleRareInheritedData::StyleRareInheritedData): * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::build): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::nativeImageForCurrentFrame): * svg/graphics/filters/SVGFEImage.cpp: (WebCore::FEImage::apply): 2010-10-20 Dirk Schulze Reviewed by Andreas Kling. Remove left over code after moving Cairo port to ShadowContext https://bugs.webkit.org/show_bug.cgi?id=47929 ImageBufferFilter is not needed anymore, since Cairo is using ShadowContext now. Made kernelPosition() in FEGaussianBlur a inline function instead of a static function. * CMakeLists.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * platform/graphics/filters/FEGaussianBlur.cpp: (WebCore::kernelPosition): * platform/graphics/filters/FEGaussianBlur.h: * platform/graphics/filters/ImageBufferFilter.cpp: Removed. * platform/graphics/filters/ImageBufferFilter.h: Removed. 2010-10-20 Nikolas Zimmermann Not reviewed. Fix efl build, by adding the new svg/properties include directory. * CMakeLists.txt: 2010-10-19 Andrey Kosyakov Reviewed by Pavel Feldman. Web Inspector: expose request/response cookies in HAR https://bugs.webkit.org/show_bug.cgi?id=47894 Test: inspector/cookie-parser.html * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/CookieParser.js: Added. * inspector/front-end/HAREntry.js: (WebInspector.HAREntry.prototype._buildRequest): (WebInspector.HAREntry.prototype._buildResponse): (WebInspector.HAREntry.prototype._buildCookies): (WebInspector.HAREntry.prototype._buildCookie): * inspector/front-end/Resource.js: Parse Cookie/Set-Cookie headers and expose cookies. (WebInspector.Resource.prototype.set requestHeaders): (WebInspector.Resource.prototype.get requestCookies): (WebInspector.Resource.prototype.set responseHeaders): (WebInspector.Resource.prototype.get responseCookies): (WebInspector.Resource.prototype._parseRequestCookies): (WebInspector.Resource.prototype._parseResponseCookies): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.html: 2010-10-20 Nikolas Zimmermann Not reviewed. Fix non-mac builds, by adding the new svg/properties include directory. * GNUmakefile.am: * WebCore.gyp/WebCore.gyp: * WebCore.pro: * WebCore.vcproj/WebCoreCommon.vsprops: 2010-10-20 Nikolas Zimmermann Reviewed by Adam Roben. Rename SVGAnimatedProperty* -> DeprecatedSVGAnimatedProperty* https://bugs.webkit.org/show_bug.cgi?id=47973 Prepare fixing bug 47905, redesigning SVGAnimatedProperty. As we're going to move type by type to the new animated property concept, keep the old one around, marked deprecated, until the transition is finished. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/scripts/CodeGeneratorObjC.pm: * bindings/scripts/CodeGeneratorV8.pm: * svg/DeprecatedSVGAnimatedProperty.h: Copied from svg/SVGAnimatedProperty.h. (WebCore::DeprecatedSVGAnimatedPropertyTearOff::DeprecatedSVGAnimatedPropertyTearOff): (WebCore::DeprecatedSVGAnimatedPropertyTearOff::~DeprecatedSVGAnimatedPropertyTearOff): (WebCore::DeprecatedSVGAnimatedProperty::~DeprecatedSVGAnimatedProperty): (WebCore::DeprecatedSVGAnimatedProperty::DeprecatedSVGAnimatedProperty): (WebCore::DeprecatedSVGAnimatedProperty::value): (WebCore::DeprecatedSVGAnimatedProperty::baseValue): * svg/DeprecatedSVGAnimatedPropertyTraits.h: Copied from svg/SVGAnimatedPropertyTraits.h. * svg/DeprecatedSVGAnimatedTemplate.h: Copied from svg/SVGAnimatedTemplate.h. (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::DeprecatedSVGAnimatedTypeWrapperKey): (WebCore::DeprecatedSVGAnimatedTypeWrapperKey::operator==): (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::hash): (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHash::equal): (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): (WebCore::DeprecatedSVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): (WebCore::DeprecatedSVGAnimatedTemplate::~DeprecatedSVGAnimatedTemplate): (WebCore::DeprecatedSVGAnimatedTemplate::forgetWrapper): (WebCore::lookupOrCreateWrapper): * svg/SVGAnimatedProperty.h: Removed. * svg/SVGAnimatedPropertySynchronizer.h: Removed. * svg/SVGAnimatedPropertyTraits.h: Removed. * svg/SVGAnimatedTemplate.h: Removed. * svg/SVGElement.h: * svg/SVGExternalResourcesRequired.h: * svg/SVGFitToViewBox.h: * svg/SVGURIReference.h: * svg/properties: Added. * svg/properties/SVGAnimatedPropertySynchronizer.h: Copied from svg/SVGAnimatedPropertySynchronizer.h. 2010-10-20 Shinichiro Hamaji Reviewed by Kent Tamura. absolutely positioned list in inline element crashes https://bugs.webkit.org/show_bug.cgi?id=45095 Add a NULL check to avoid crash. The rendering result isn't ideal yet. Test: fast/lists/positioned-count-crash.html * rendering/RenderListItem.cpp: (WebCore::previousListItem): 2010-10-19 Adam Roben Remove uses of CACFContextRef and CARender* from WebCore These types are now wrapped in a WKCACFContext type exported by WebKitSystemInterface. Fixes . Reviewed by Sam Weinig. * platform/graphics/win/WKCACFContextFlusher.cpp: (WebCore::WKCACFContextFlusher::addContext): (WebCore::WKCACFContextFlusher::removeContext): (WebCore::WKCACFContextFlusher::flushAllContexts): * platform/graphics/win/WKCACFContextFlusher.h: Changed to use WKCACFContext. We don't retain/release the context when putting it into/taking it out of the set. WKCACFContext is not a ref-counted type, so we can't retain/release it, but the retain/release was also unnecessary as WKCACFLayerRenderer calls removeContext before the context is destroyed. * platform/graphics/win/WKCACFLayer.cpp: (WebCore::WKCACFLayer::becomeRootLayerForContext): * platform/graphics/win/WKCACFLayer.h: Changed to use WKCACFContext. * platform/graphics/win/WKCACFLayerRenderer.cpp: (WebCore::WKCACFLayerRenderer::didFlushContext): (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): (WebCore::WKCACFLayerRenderer::layerTreeDidChange): (WebCore::WKCACFLayerRenderer::createRenderer): (WebCore::WKCACFLayerRenderer::destroyRenderer): (WebCore::WKCACFLayerRenderer::render): Also replaced uses of CGSRegion with WebKitSystemInterface functions/types. (WebCore::WKCACFLayerRenderer::resetDevice): * platform/graphics/win/WKCACFLayerRenderer.h: Replaced our CACFContextRef, CARenderContext, and CARenderOGLContext with a single WKCACFContext, which wraps all three. We hold a bare pointer to it and destroy it in our destructor. 2010-10-19 Yongjun Zhang Reviewed by Dan Bernstein. Pixel cracks when using background image sprite on transformed element at certain scales. https://bugs.webkit.org/show_bug.cgi?id=47868 The pixel bleeding happens when the current context has scale and interpolation is kCGInterpolationHigh or kCGInterpolationDefault. If the source rect size is smaller than the intrinsic image size, some pixels outside of the clip rect will also be used to interpolate the color value for clip edges, which results in unwanted thin lines around the painted area. We need to use sub-image patch to get rid of the artifacts in this case. Test: fast/images/pixel-crack-image-background-webkit-transform-scale.html * platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw): 2010-10-19 Evan Martin Reviewed by Tony Chang. sqlite: remove unused member variable https://bugs.webkit.org/show_bug.cgi?id=47957 There's no need to save the error code into a member variable because nobody ever looks at it. * platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::open): * platform/sql/SQLiteDatabase.h: 2010-10-19 Jia Pu Reviewed by James Robinson. Moving cursor back to autocorrected word in the same line shouldn't remove the underline https://bugs.webkit.org/show_bug.cgi?id=47629 Patch breaks some Chromium Mac hehavior. This patch fixes that. * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): Add "!PLATFORM(MAC)" to make sure nothing changes on non-Mac platforms. 2010-10-19 Alexey Proskuryakov Build fix (EFL, maybe more). * CMakeLists.txt: Added platform/Language.cpp here, too. 2010-10-19 Jian Li Reviewed by Darin Fisher. Rename createBlobURL to createObjectURL and revokeBlobURL to revokeObjectURL per the latest File API spec. https://bugs.webkit.org/show_bug.cgi?id=47934 * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype._contextMenu): * inspector/front-end/utilities.js: * page/DOMWindow.cpp: (WebCore::DOMWindow::createObjectURL): (WebCore::DOMWindow::revokeObjectURL): * page/DOMWindow.h: * page/DOMWindow.idl: * workers/WorkerContext.cpp: (WebCore::WorkerContext::createObjectURL): (WebCore::WorkerContext::revokeObjectURL): * workers/WorkerContext.h: * workers/WorkerContext.idl: 2010-10-19 Alexey Proskuryakov Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=47933 navigator.language doesn't work in WebKit2 * CMakeListsEfl.txt: * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/chromium/Language.cpp: Removed. * platform/chromium/LanguageChromium.cpp: Copied from WebCore/platform/chromium/Language.cpp. * platform/efl/Language.cpp: Removed. * platform/efl/LanguageEfl.cpp: Copied from WebCore/platform/efl/Language.cpp. * platform/gtk/Language.cpp: Removed. * platform/gtk/LanguageGtk.cpp: Copied from WebCore/platform/gtk/Language.cpp. * platform/qt/Language.cpp: Removed. * platform/qt/LanguageQt.cpp: Copied from WebCore/platform/qt/Language.cpp. * platform/win/Language.cpp: Removed. * platform/win/LanguageWin.cpp: Copied from WebCore/platform/win/Language.cpp. * platform/Language.cpp: Added. Cross platform code is now in platform/Language.cpp. So, I renamed platform files to match the common pattern. * WebCore.exp.in: Exported new functions. * platform/Language.h: Added an ability to force the language, and an ability to set up listeners for changes (if the platform implements that). Web process will always use the forced language, as sent to it from UI process. * platform/mac/Language.mm: Moved code from WebKit. (WebCore::platformDefaultLanguage): Added code to synchronize user defaults. For some reason, they come unsynchronized in WebKit2 here, unlike WebKit1. * page/mac/WebCoreViewFactory.h: Removed defaultLanguageCode. WebCore no longer goes to WebKit to ask for that. * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: Added wkCopyCFLocalizationPreferredName(). 2010-10-19 James Simonsen Reviewed by Adam Barth. Add "in select" insertion mode to parser. This was added to the spec in: http://html5.org/tools/web-apps-tracker?from=5520&to=5522 And as a result of: http://www.w3.org/Bugs/Public/show_bug.cgi?id=10314 https://bugs.webkit.org/show_bug.cgi?id=47706 No new tests. Open to ideas. * html/parser/HTMLElementStack.cpp: Added "in select" mode. (WebCore::HTMLNames::isSelectScopeMarker): Ditto. (WebCore::HTMLElementStack::inSelectScope): Ditto. * html/parser/HTMLElementStack.h: Ditto. * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::processStartTag): Use "in select" instead of "in table." (WebCore::HTMLTreeBuilder::processEndTag): Ditto. 2010-10-19 Jeremy Orlow Reviewed by Nate Chapin. Fix multiple index support in IndexedDB https://bugs.webkit.org/show_bug.cgi?id=47919 Fix 2 bugs that caused the IndexData of all but the last index to be properly updated: * The objectStoreDataId is NOT unique if there are multiple indexes. So remove the constraint. * Do not delete all existing entries with that objectStoreDataId before adding an entry for each index. Only do it once at the beginning. Test: storage/indexeddb/queued-commands.html + index-basics.html modified * storage/IDBFactoryBackendImpl.cpp: (WebCore::createTables): * storage/IDBObjectStoreBackendImpl.cpp: (WebCore::deleteIndexData): (WebCore::putIndexData): (WebCore::IDBObjectStoreBackendImpl::putInternal): 2010-10-19 Martin Robinson Fix the GTK+ build after r70072. The logic looks incorrect, but this fix tries to preserves it, even so. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (baselinePositionForAccessibilityRenderObject): (getAttributeSetForAccessibilityObject): 2010-10-06 Jer Noble Reviewed by Eric Carlson. Windows: Implement 'preload=none' https://bugs.webkit.org/show_bug.cgi?id=47317 Implement the 'preload=none' identically to the mac implementation. Add three new ivars: m_preload, m_delayLoad and m_movieURL; and override the MediaPlayerPrivate functions: prepareToPlay() and setPreload(). * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): Initialize new ivars m_delayLoad and m_preload. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::resumeLoad): Added; new. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Split contents between load and loadInternal. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Added; new. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::prepareToPlay): Added; overrides MediaPlayerPrivate. (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPreload): Added; overrides MediaPlayerPrivate. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: 2010-10-19 Enrica Casucci Reviewed by Alexey Proskuryakov. Upstream support of KeyCodes for iOS https://bugs.webkit.org/show_bug.cgi?id=47857 * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Added special handling of keyCodes for iOS. 2010-10-19 Joseph Pecoraro Reviewed by David Kilzer. iOS: ASSERT in Cache::adjustSize running layout tests https://bugs.webkit.org/show_bug.cgi?id=47873 Inside Cache::pruneDeadResources we loop over the LRU lists and make resources purgeable with Cache::makeResourcePurgeable(). This wasn't taking into account whether the resource was already purgeable or not, and the makeResourcePurgeable call was always calling adjustSize(). Now we make sure makeResourcePurgable only adjusts the size of the Cache's dead sizes when it first marks the resource purgeable. Likewise, if a resource is marked as purgeable and then evicted, we should not adjust the size again. The balancing call is when we have a resource that has been marked as purgeable and we successfully mark it as no longer purgeable in Cache::resourceForURL. No test added because this requires testing purgeable memory. * loader/Cache.cpp: (WebCore::Cache::makeResourcePurgeable): (WebCore::Cache::evict): 2010-10-19 Vangelis Kokkevis Reviewed by Kenneth Russell. [chromium] Disable mipmapping for ImageLayer's to prevent memory use and performance regression. https://bugs.webkit.org/show_bug.cgi?id=47913 This patch is a straight revert of the patch committed with issue 46493 * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::SharedValues::SharedValues): (WebCore::ContentLayerChromium::updateTextureRect): * platform/graphics/chromium/ContentLayerChromium.h: (WebCore::ContentLayerChromium::SharedValues::initialized): * platform/graphics/chromium/ImageLayerChromium.cpp: (WebCore::ImageLayerChromium::updateContents): 2010-10-18 Zhenyao Mo Reviewed by Kenneth Russell. gl-teximage.html fails on chromium webkit mac bot https://bugs.webkit.org/show_bug.cgi?id=47034 * platform/graphics/GraphicsContext3D.cpp: Deal with endians in 16 bit image data. (WebCore::convertColor16LittleTo8): (WebCore::convertColor16BigTo8): (WebCore::doPacking): * platform/graphics/GraphicsContext3D.h: Ditto. * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto. (WebCore::GraphicsContext3D::getImageData): 2010-10-19 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=47841 Rework baselinePosition and lineHeight to be writing-mode-aware. There's a lot of refactoring here to clean up the method parameters to be more readable and to simplify the subclassing of the various methods in order to keep the horizontal/vertical querying to a minimum. * WebCore.xcodeproj/project.pbxproj: * mathml/RenderMathMLFraction.cpp: (WebCore::RenderMathMLFraction::baselinePosition): * mathml/RenderMathMLFraction.h: * mathml/RenderMathMLOperator.cpp: (WebCore::RenderMathMLOperator::baselinePosition): * mathml/RenderMathMLOperator.h: * mathml/RenderMathMLRow.cpp: (WebCore::RenderMathMLRow::baselinePosition): * mathml/RenderMathMLRow.h: * mathml/RenderMathMLSubSup.cpp: (WebCore::RenderMathMLSubSup::baselinePosition): * mathml/RenderMathMLSubSup.h: * mathml/RenderMathMLUnderOver.cpp: (WebCore::RenderMathMLUnderOver::layout): (WebCore::RenderMathMLUnderOver::baselinePosition): * mathml/RenderMathMLUnderOver.h: * rendering/InlineBox.h: (WebCore::InlineBox::baselinePosition): (WebCore::InlineBox::lineHeight): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesInBlockDirection): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::baselinePosition): (WebCore::InlineTextBox::lineHeight): * rendering/InlineTextBox.h: * rendering/RenderBR.cpp: (WebCore::RenderBR::lineHeight): * rendering/RenderBR.h: (WebCore::toRenderBR): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::lineHeight): (WebCore::RenderBlock::baselinePosition): (WebCore::RenderBlock::firstLineBoxBaseline): (WebCore::RenderBlock::lastLineBoxBaseline): (WebCore::RenderBlock::localCaretRect): * rendering/RenderBlock.h: * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): * rendering/RenderBox.cpp: (WebCore::RenderBox::lineHeight): (WebCore::RenderBox::baselinePosition): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::verticalPosition): * rendering/RenderBoxModelObject.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RenderInline.cpp: (WebCore::RenderInline::lineHeight): (WebCore::RenderInline::baselinePosition): * rendering/RenderInline.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::baselinePosition): * rendering/RenderListBox.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::lineHeight): (WebCore::RenderListMarker::baselinePosition): * rendering/RenderListMarker.h: * rendering/RenderObject.cpp: * rendering/RenderObject.h: * rendering/RenderReplaced.cpp: * rendering/RenderReplaced.h: * rendering/RenderSVGRoot.cpp: * rendering/RenderSVGRoot.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::baselinePosition): * rendering/RenderSlider.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::baselinePosition): * rendering/RenderTableCell.h: * rendering/RenderTableCol.h: (WebCore::RenderTableCol::isTableCol): * rendering/RenderTableRow.h: * rendering/RenderTableSection.h: * rendering/RenderText.cpp: * rendering/RenderText.h: * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::computeLogicalHeight): * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::baselinePosition): * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::createInnerTextStyle): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::baselinePosition): (WebCore::RootInlineBox::lineHeight): * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateBoundaries): 2010-10-19 Jia Pu Reviewed by Adele Peterson. Moving cursor back to autocorrected word in the same line shouldn't remove the underline https://bugs.webkit.org/show_bug.cgi?id=47629 Tests: platform/mac/editing/spelling/click-autocorrected-word.html platform/mac/editing/spelling/delete-into-autocorrected-word.html platform/mac/editing/spelling/delete-into-misspelled-word.html platform/mac/editing/spelling/forward-delete-into-autocorrected-word.html platform/mac/editing/spelling/move-cursor-around-misspelled-word.html platform/mac/editing/spelling/move-cursor-to-autocorrected-word.html platform/mac/editing/spelling/move-cursor-to-beginning-of-autocorrected-word.html * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): Don't remove misspelling or autocorrection underlines when cursor is moved onto a word. 2010-10-19 Eric Carlson Not reviewed. Build fix. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectNextSourceChild): Initialize variable to avoid Windows "potentially uninitialized local variable" warning. 2010-10-19 Eric Carlson Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=46763 CRASH in WebCore::ThreadTimers::sharedTimerFiredInternal Fix crashes caused by moving and deleting element(s) of active media element. Tests: media/video-source-moved.html media/video-source-removed.html * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Add logging. Initialize selectNextSourceChild. (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto. (WebCore::HTMLMediaElement::insertedIntoDocument): Ditto. (WebCore::HTMLMediaElement::removedFromDocument): Ditto. (WebCore::HTMLMediaElement::scheduleLoad): Ditto. (WebCore::HTMLMediaElement::setNetworkState): Deal with m_currentSourceNode being null when the media engine signals a failure by skipping the error message and continuing as usual. (WebCore::HTMLMediaElement::setVolume): Fix logging typo. (WebCore::HTMLMediaElement::havePotentialSourceChild): Save and restore m_nextChildNodeToConsider around call to selectNextSourceChild because they are both significant. (WebCore::HTMLMediaElement::selectNextSourceChild): Use m_nextChildNodeToConsider to pick the first node to consider. Bail immediately if it signals that we have already processed every node. Stach the node following the current source element in m_nextChildNodeToConsider so we can resume the search even if m_currentSourceNode is removed while it is being processed. (WebCore::HTMLMediaElement::sourceWasAdded): New, move logic from HTMLSourceElement::insertedIntoTree here and correct it to deal with a node being inserted immediately after the current node and a new node being inserted at the end of the list after all candidates have failed. (WebCore::HTMLMediaElement::sourceWillBeRemoved): New, deal with current source node and next potential node being removed. * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::sourceChildEndOfListValue): New, define sentinal value used to indicate that all nodes have been processed. * html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement): Add logging. (WebCore::HTMLSourceElement::insertedIntoTree): Call mediaElement->sourceWasAdded instead of having logic here. (WebCore::HTMLSourceElement::willRemove): New, call mediaElement->sourceWillBeRemoved (WebCore::HTMLSourceElement::scheduleErrorEvent): Add logging. (WebCore::HTMLSourceElement::cancelPendingErrorEvent): Add logging. * html/HTMLSourceElement.h: 2010-10-19 Luiz Agostini Reviewed by Antti Koivisto. [Qt] WebKit2 MacOS build fix https://bugs.webkit.org/show_bug.cgi?id=47897 Qt WebKit2 MacOS build fix. * bridge/npapi.h: 2010-10-19 Philippe Normand Reviewed by Xan Lopez. [GTK] Soup cache code still has some warnings https://bugs.webkit.org/show_bug.cgi?id=47733 Fixed some compilation warnings happening with gcc 4.4.5 on 64-bits architecture. * platform/network/soup/cache/webkit/soup-cache.c: (webkit_soup_cache_entry_set_freshness): (close_ready_cb): 2010-10-19 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: crash while trying to step over a function using inspector https://bugs.webkit.org/show_bug.cgi?id=47902 * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.reset): reset scripts panel to resumed state on navigation. 2010-10-19 Ryuan Choi Unreviewed attempt to remove warning in EFL build. Fix #if to #ifdef. No new features, so no tests added. * platform/efl/WidgetEfl.cpp: (WebCore::Widget::applyFallbackCursor): 2010-10-19 Andreas Kling Reviewed by Tor Arne Vestbø. [Qt] getImageData returns wrong data for non-0,0 source offset https://bugs.webkit.org/show_bug.cgi?id=47898 Test: fast/canvas/canvas-getImageData-negative-source.html * platform/graphics/qt/ImageBufferQt.cpp: (WebCore::getImageData): Add missing *4's to get correct pixel offset. 2010-10-19 Andreas Kling Reviewed by Kenneth Rohde Christiansen. [Qt] Correct initial state of ImageBuffer QPen https://bugs.webkit.org/show_bug.cgi?id=47804 Have the QPen on ImageBuffers start in Qt::SvgMiterJoin mode. * platform/graphics/qt/ImageBufferQt.cpp: (WebCore::ImageBufferData::ImageBufferData): 2010-10-19 Philippe Normand Reviewed by Martin Robinson. GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay https://bugs.webkit.org/show_bug.cgi?id=46790 Simple API addition to PlatformVideoWindow to allow implementations to optionally prepare their own PlatformWidget before applying the GStreamer XOverlay to it. This will likely be needed on Mac OSX only. * platform/graphics/gstreamer/GStreamerGWorld.cpp: (WebCore::GStreamerGWorld::setWindowOverlay): * platform/graphics/gstreamer/PlatformVideoWindow.h: * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: (PlatformVideoWindow::prepareForOverlay): * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp: (PlatformVideoWindow::prepareForOverlay): 2010-10-19 Ben Murdoch Reviewed by Steve Block. Missing support for document.createTouch and document.createTouchList https://bugs.webkit.org/show_bug.cgi?id=47676 These APIs are used by many sites to detect support for touch events. Implement the APIs according to the documentation at: http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/DocumentAdditionsReference/DocumentAdditions/DocumentAdditions.html Tests: fast/events/touch/document-create-touch-list.html fast/events/touch/document-create-touch.html * bindings/js/JSBindingsAllInOne.cpp: Add new files to list. * bindings/js/JSTouchCustom.cpp: Added. (WebCore::toJSNewlyCreated): * bindings/js/JSTouchListCustom.cpp: Added. (WebCore::toJSNewlyCreated): * bindings/scripts/CodeGeneratorJS.pm: * dom/Document.cpp: (WebCore::Document::createTouch): (WebCore::Document::createTouchList): * dom/Document.h: * dom/Document.idl: Add createTouch and createTouchList functions. * Android.jscbindings.mk: Update makefiles. * CMakeLists.txt: Ditto. * GNUmakefile.am: Ditto. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. 2010-10-19 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: migrate from legacy Object.properties to Object.keys, remove dead code. https://bugs.webkit.org/show_bug.cgi?id=47890 * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._reportCompletions): * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel): * inspector/front-end/ExtensionServer.js: (WebInspector.ExtensionServer.prototype._onGetResources): * inspector/front-end/HAREntry.js: (WebInspector.HARLog.prototype.build): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.): (WebInspector.StylePropertyTreeElement.prototype): * inspector/front-end/utilities.js: 2010-10-19 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: do not access ResourcePanel from resources directly. https://bugs.webkit.org/show_bug.cgi?id=47892 * inspector/front-end/Resource.js: (WebInspector.Resource.prototype.set documentURL): (WebInspector.Resource.prototype.set startTime): (WebInspector.Resource.prototype.set responseReceivedTime): (WebInspector.Resource.prototype.set endTime): (WebInspector.Resource.prototype.set resourceSize): (WebInspector.Resource.prototype.set expectedContentLength): (WebInspector.Resource.prototype.set category): (WebInspector.Resource.prototype.set cached): (WebInspector.Resource.prototype.set mimeType): (WebInspector.Resource.prototype.get requestHeaders): (WebInspector.Resource.prototype.set requestHeaders): (WebInspector.Resource.prototype.get responseHeaders): (WebInspector.Resource.prototype.set responseHeaders): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.addResource): (WebInspector.ResourcesPanel.prototype.refreshResource): (WebInspector.ResourcesPanel.prototype._recreateViewForResourceIfNeeded): (WebInspector.ResourcesPanel.prototype._resourceViewIsConsistentWithCategory): (WebInspector.ResourceGraph): (WebInspector.ResourceGraph.prototype.refresh): * inspector/front-end/inspector.js: (WebInspector.updateResource): 2010-10-19 Yuta Kitamura Reviewed by Pavel Feldman. Make sure WebSocket resource has the url field when it is created. Web Inspector: Uncaught TypeError when connection to WebSocket server is refused https://bugs.webkit.org/show_bug.cgi?id=47891 * inspector/InspectorResource.cpp: (WebCore::InspectorResource::createWebSocket): 2010-10-19 Hayato Ito Reviewed by Darin Adler. Make CSS style selector non-recursive. https://bugs.webkit.org/show_bug.cgi?id=43783 This change is one of the required changes to fix the following master bug: https://bugs.webkit.org/show_bug.cgi?id=42806 To avoid recursion, we prepare a call stack and maintain a list of function call state by ourselves and try matching iteratively. Test: fast/css/long-css-selector-matches.html * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): (WebCore::CSSStyleSelector::checkSelector): * css/CSSStyleSelector.h: 2010-10-19 Sheriff Bot Unreviewed, rolling out r70034. http://trac.webkit.org/changeset/70034 https://bugs.webkit.org/show_bug.cgi?id=47889 "Gustavo's bot is lame" (Requested by xan_ on #webkit). * platform/network/soup/CookieJarSoup.cpp: (WebCore::defaultCookieJar): (WebCore::setCookies): * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::prepareForURL): (WebCore::restartedCallback): (WebCore::startHttp): * platform/network/soup/ResourceRequestSoup.cpp: (WebCore::ResourceRequest::toSoupMessage): (WebCore::ResourceRequest::updateFromSoupMessage): 2010-10-19 Xan Lopez Reviewed by Martin Robinson. [GTK] Bump minimum requirement for libsoup to 2.30 https://bugs.webkit.org/show_bug.cgi?id=46176 Bump minimum required libsoup version to 2.30. * platform/network/soup/CookieJarSoup.cpp: (WebCore::defaultCookieJar): (WebCore::setCookies): * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::prepareForURL): (WebCore::restartedCallback): (WebCore::startHttp): * platform/network/soup/ResourceRequestSoup.cpp: (WebCore::ResourceRequest::toSoupMessage): (WebCore::ResourceRequest::updateFromSoupMessage): 2010-10-19 Xan Lopez Reviewed by Martin Robinson. Fix distcheck, take 2. * GNUmakefile.am: also move the generated CSS hash files to the build dir. 2010-10-18 Kent Tamura Reviewed by Dimitri Glazkov. Should not save state of a detached form control. https://bugs.webkit.org/show_bug.cgi?id=47811 Test: fast/forms/state-save-of-detached-control.html * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState): If the node is detached, don't save the state. 2010-10-18 Xan Lopez Reviewed by Martin Robinson. * GNUmakefile.am: add missing files. 2010-10-18 Oliver Hunt Reviewed by Sam Weinig. REGRESSION: Feedly extension crashes Webkit https://bugs.webkit.org/show_bug.cgi?id=45811 The basic problem was the deserializer was holding a pointer into the constant pool, but if you were sufficiently unlucky then the constant pool would be moved while still relying on the pointer, which leads to badness. I looked at just making all the sites this could happen extract the right string/jsstring before any possible allocations, but it seemed too fragile so i've gone for a forwarding object as the solution. * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneDeserializer::CachedStringRef::CachedStringRef): (WebCore::CloneDeserializer::CachedStringRef::operator->): (WebCore::CloneDeserializer::readStringData): (WebCore::CloneDeserializer::readFile): (WebCore::CloneDeserializer::readTerminal): (WebCore::CloneDeserializer::deserialize): 2010-10-18 Chris Rogers Reviewed by Chris Fleizach. Add AudioResampler files https://bugs.webkit.org/show_bug.cgi?id=47623 No new tests since audio API is not yet implemented. * platform/audio/AudioResampler.cpp: Added. (WebCore::AudioResampler::AudioResampler): (WebCore::AudioResampler::configureChannels): (WebCore::AudioResampler::process): (WebCore::AudioResampler::setRate): (WebCore::AudioResampler::reset): * platform/audio/AudioResampler.h: Added. (WebCore::AudioResampler::~AudioResampler): (WebCore::AudioResampler::rate): 2010-10-18 Vangelis Kokkevis Reviewed by James Robinson. [chromium] Prevent the creation of very large textures for layers by switching to "large layer" mode when a texture is larger than some fixed reasonable size (set to 2000 pixels for now). https://bugs.webkit.org/show_bug.cgi?id=47751 The code also changes the large layer logic to use the current scissor rect used by the compositor instead of the visible rect to determine how to clip large layers. This will provide additional texture savings. In addition, the various layer rects have been converted to use integers instead of floats to preserve uniformity in the code. Tests: Existing large layer layout tests including huge-layer and huge-layer-img * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::requiresClippedUpdateRect): (WebCore::ContentLayerChromium::calculateClippedUpdateRect): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::getDrawRect): * platform/graphics/chromium/LayerChromium.h: * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::drawLayers): (WebCore::LayerRendererChromium::drawLayersRecursive): (WebCore::LayerRendererChromium::scissorToRect): * platform/graphics/chromium/LayerRendererChromium.h: (WebCore::LayerRendererChromium::currentScissorRect): 2010-10-18 Jia Pu Reviewed by Stephanie Lewis. Correct the description of manual test: autocorrection-cancelled-by-typing-1.html https://bugs.webkit.org/show_bug.cgi?id=47722 * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Update description to match the test content. 2010-10-18 Martin Robinson Build fix for newer versions of GTK+ 2.0. Instead of using GDK_DISPLAY() use GDK_DRAWABLE_XDISPLAY(gdk_display_get_default()). GDK_DISPLAY() was recently deprecated and the latter method has been available since GTK+ 2.2. * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::paint): (WebCore::PluginView::initXEvent): (WebCore::PluginView::platformGetValue): (WebCore::getVisualAndColormap): (WebCore::PluginView::platformStart): (WebCore::PluginView::platformDestroy): 2010-10-18 Ryosuke Niwa Reviewed by Adam Barth. elementCannotHaveEndTag should be a member function of MarkupAccumulator https://bugs.webkit.org/show_bug.cgi?id=47846 Moved elementCannotHaveEndTag into MarkupAccumulator. No new tests are added since this is a cleanup. * editing/MarkupAccumulator.cpp: (WebCore::MarkupAccumulator::elementCannotHaveEndTag): Added. * editing/MarkupAccumulator.h: Added MarkupAccumulator::elementCannotHaveEndTag. * editing/markup.cpp: Removed elementCannotHaveEndTag. * editing/markup.h: Removed elementCannotHaveEndTag. 2010-10-18 Johnny Ding Reviewed by Adam Barth. Set the right referent sourceURL for the script with force user gesture. https://bugs.webkit.org/show_bug.cgi?id=37138 Because empty sourceURL indicates running script with force user gesture, make WebKit use document.url() as referent sourceURL (Since it uses blank URL instead empty if the input URL is empty) if WebKit isn't running the script from a hyper-link. Test: fast/events/popup-blocked-from-window-open.html * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::executeScriptInWorld): 2010-10-18 Darin Adler * dom/Node.h: Fix ancient typo in just-modified comment. 2010-10-18 Darin Adler Reviewed by Alexey Proskuryakov. Remove some functions from class Node and make a few others non-virtual https://bugs.webkit.org/show_bug.cgi?id=47735 Refactoring. No new tests. * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): Added a FIXME about the use of the virtual ownerDocument function. * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Removed the unused return value. * dom/ContainerNode.h: Made insertBefore, replaceChild, removeChild, and appendChild non-virtual for clarity and performance. Made removeChildren non-virtual and removed its return value. Moved the inline Node functions that call through to ContainerNode into this file since the old way involved an extra level of inline function but otherwise had no advantages. * dom/Element.h: Moved isMathMLElement here because there is no call site that needs to call it on a Node*. We can always move it back if we need to, but it's better to have less in the Node class. * dom/Node.cpp: (WebCore::Node::insertBefore): Added an isContainerNode check so this can be non-virtual. There are very few callers who call this function on Node. If we want to optimize them further we can make the isContainerNode check inline in the future. (WebCore::Node::replaceChild): Ditto. (WebCore::Node::removeChild): Ditto. (WebCore::Node::appendChild): Ditto. (WebCore::Node::remove): Removed unneeded ref/unref because ContainerNode::removeChild already does this. (WebCore::Node::createRendererIfNeeded): Removed #if around call to childShouldCreateRenderer since it's needed even without SVG and XHTMLMP. * dom/Node.h: Moved definitions of inline functions that depend on ContainerNode to the ContainerNode.h header. They already required inclusion of that header, so there is no functional change. Made insertBefore, replaceChild, removeChild, and appendChild non-virtual. There are very few callers of these functions on this class. Moved isMathMLElement to Element. Added a FIXME about the name of eventAncestors. Fixed comment formatting. Eliminated unused isEditableBlock function. Moved the body of the enclosingInlineElement function to the editing file that was the only call site. Removed the previousEditable and nextEditable functions, incorporating their bodies into the one place they were called. Took the childShouldCreateRenderer function out of #if since it's now used by the implementation of the