diff options
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 14427 |
1 files changed, 14426 insertions, 1 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index c660e9d..83f63cc 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,14428 @@ +2010-10-20 Sheriff Bot <webkit.review.bot@gmail.com> + + 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 <simon.fraser@apple.com> + + 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 <dumi@chromium.org> + + 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 <webkit.review.bot@gmail.com> + + 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 <hyatt@apple.com> + + 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 <bdakin@apple.com> + + 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 <nzimmermann@rim.com> + + 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 <peter.rybin@gmail.com> + + 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 <hyatt@apple.com> + + 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 <jam@chromium.org> + + 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 <webkit.review.bot@gmail.com> + + 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 <leandrogracia@google.com> + + 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 <krit@webkit.org> + + 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 <krit@webkit.org> + + 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 <nzimmermann@rim.com> + + Not reviewed. + + Fix efl build, by adding the new svg/properties include directory. + + * CMakeLists.txt: + +2010-10-19 Andrey Kosyakov <caseq@chromium.org> + + 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 <nzimmermann@rim.com> + + 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 <nzimmermann@rim.com> + + 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 <hamaji@chromium.org> + + 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 <aroben@apple.com> + + Remove uses of CACFContextRef and CARender* from WebCore + + These types are now wrapped in a WKCACFContext type exported by + WebKitSystemInterface. + + Fixes <http://webkit.org/b/43244>. + + 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 <yongjun_zhang@apple.com> + + 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 <evan@chromium.org> + + 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 <jpu@apple.com> + + 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 + <rdar://problem/8546758> + + Patch <http://trac.webkit.org/changeset/70071> 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 <ap@apple.com> + + Build fix (EFL, maybe more). + + * CMakeLists.txt: Added platform/Language.cpp here, too. + +2010-10-19 Jian Li <jianli@chromium.org> + + 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 <ap@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=47933 + <rdar://problem/8494337> navigator.language doesn't work in WebKit2 + + * 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 <simonjam@chromium.org> + + 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 <jorlow@chromium.org> + + 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 <mrobinson@igalia.com> + + 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 <jer.noble@apple.com> + + Reviewed by Eric Carlson. + + Windows: Implement 'preload=none' + https://bugs.webkit.org/show_bug.cgi?id=47317 + <rdar://problem/7718442> + + 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 <enrica@apple.com> + + 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 <joepeck@webkit.org> + + 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 <vangelis@chromium.org> + + 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 <zmo@google.com> + + 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 <hyatt@apple.com> + + 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 <jpu@apple.com> + + 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 + <rdar://problem/8546758> + + 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 <eric.carlson@apple.com> + + 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 <eric.carlson@apple.com> + + 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 <source> 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 <source> 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 <source> node being inserted immediately after the + current <source> node and a new <source> 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 <luiz.agostini@openbossa.org> + + Reviewed by Antti Koivisto. + + [Qt] WebKit2 MacOS build fix + https://bugs.webkit.org/show_bug.cgi?id=47897 + + Qt WebKit2 MacOS build fix. + + * bridge/npapi.h: + +2010-10-19 Philippe Normand <pnormand@igalia.com> + + 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 <yurys@chromium.org> + + 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 <ryuan.choi@samsung.com> + + 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 <kling@webkit.org> + + 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 <kling@webkit.org> + + 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 <pnormand@igalia.com> + + 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 <benm@google.com> + + 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 <pfeldman@chromium.org> + + 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 <pfeldman@chromium.org> + + 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 <yutak@chromium.org> + + 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 <hayato@chromium.org> + + 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 <webkit.review.bot@gmail.com> + + 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 <xlopez@igalia.com> + + 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 <xlopez@igalia.com> + + 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 <tkent@chromium.org> + + 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 <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + * GNUmakefile.am: add missing files. + +2010-10-18 Oliver Hunt <oliver@apple.com> + + 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 <crogers@google.com> + + 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 <vangelis@chromium.org> + + 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 <jpu@apple.com> + + 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 + <rdar://problem/8556206> + + * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Update description + to match the test content. + +2010-10-18 Martin Robinson <mrobinson@igalia.com> + + 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 <rniwa@webkit.org> + + 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 <jnd@chromium.org> + + 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 <darin@apple.com> + + * dom/Node.h: Fix ancient typo in just-modified comment. + +2010-10-18 Darin Adler <darin@apple.com> + + 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 <noscript> element. + + * dom/Position.cpp: + (WebCore::nextRenderedEditable): Rewrote the function to use nextLeafNode + instead of nextEditable. + (WebCore::previousRenderedEditable): Rewrote the function to use + previousLeafNode instead of previousEditable. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::enclosingInline): Moved function here from the Node class. Also + fixed an incorrect cast this function did, which assumed the function + result was always an element, which the function does not guarantee. + (WebCore::ReplaceSelectionCommand::doApply): Call the function above. + + * history/HistoryItem.cpp: Added include of MathExtras.h. + +2010-10-18 Yongjun Zhang <yongjun_zhang@apple.com> + + Reviewed by Darin Adler. + + Missing support for document.createEvent("OrientationEvent") + https://bugs.webkit.org/show_bug.cgi?id=32492 + + Add support for document.createEvent("OrientationEvent") to help unit testing of + onOrientationChange event. + + Test: fast/dom/DeviceOrientation/create-event-onorientationchange.html + + * dom/Document.cpp: + (WebCore::Document::createEvent): + +2010-10-18 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Adler. + + DOMStringList should return null if the index is out of range + https://bugs.webkit.org/show_bug.cgi?id=47829 + + When item() returns a null string, it needs to be passed to JS as + null. The indexed getter will then magically do the right thing. + So all that's left is having DOMStringList::item() return null when + the index is out of bounds. + + * dom/DOMStringList.cpp: + (WebCore::DOMStringList::item): + * dom/DOMStringList.h: + * dom/DOMStringList.idl: + +2010-10-18 Girish Ramakrishnan <girish@forwardbias.in> + + Reviewed by Ariya Hidayat. + + [Qt] Implement Accelerated Composition for NPAPI Plugins. + + https://bugs.webkit.org/show_bug.cgi?id=35524 + + * plugins/PluginView.h: + (WebCore::PluginView::platformLayer): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginGraphicsLayerQt::PluginGraphicsLayerQt): + (WebCore::PluginGraphicsLayerQt::~PluginGraphicsLayerQt): + (WebCore::PluginGraphicsLayerQt::paint): + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::paint): + (WebCore::PluginView::invalidateRect): + (WebCore::PluginView::invalidateRegion): + (WebCore::PluginView::platformStart): + (WebCore::PluginView::platformLayer): + +2010-10-18 Stuart Morgan <stuartmorgan@chromium.org> + + Reviewed by Eric Seidel. + + Switch to using the new Carbon NPAPI event declarations, and remove + the old ones. + + https://bugs.webkit.org/show_bug.cgi?id=40784 + + * bridge/npapi.h: + * plugins/mac/PluginViewMac.mm: + (WebCore::PluginView::setFocus): + (WebCore::PluginView::handleMouseEvent): + +2010-10-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: comment out resource manager instantiation on front-end side. + https://bugs.webkit.org/show_bug.cgi?id=47823 + + * inspector/front-end/inspector.js: + +2010-10-18 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + The description parameter of IDBFactory::open() should be mandatory. + https://bugs.webkit.org/show_bug.cgi?id=47835 + + Makes the description parameter mandatory, as per the IndexedDatabase specification. + Modified existing tests to cover this change. + + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::extractMetaData): + (WebCore::setMetaData): + (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl): + * storage/IDBFactory.cpp: + (WebCore::IDBFactory::open): + * storage/IDBFactory.h: + * storage/IDBFactory.idl: + +2010-10-18 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Levin. + + Code cleanup: Move most function members in TextRunWorker from inlined. + https://bugs.webkit.org/show_bug.cgi?id=47732 + + No functionality change, so no tests added. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::setWordSpacingAdjustment): + (WebCore::TextRunWalker::setLetterSpacingAdjustment): + (WebCore::TextRunWalker::setXOffsetToZero): + (WebCore::TextRunWalker::rtl): + (WebCore::TextRunWalker::glyphs): + (WebCore::TextRunWalker::length): + (WebCore::TextRunWalker::xPositions): + (WebCore::TextRunWalker::advances): + (WebCore::TextRunWalker::width): + (WebCore::TextRunWalker::logClusters): + (WebCore::TextRunWalker::numCodePoints): + (WebCore::TextRunWalker::fontPlatformDataForScriptRun): + (WebCore::TextRunWalker::isCodepointSpace): + (WebCore::TextRunWalker::TextRunWalker): + (WebCore::TextRunWalker::~TextRunWalker): + (WebCore::TextRunWalker::isWordBreak): + (WebCore::TextRunWalker::setPadding): + (WebCore::TextRunWalker::reset): + (WebCore::TextRunWalker::setBackwardsIteration): + (WebCore::TextRunWalker::nextScriptRun): + (WebCore::TextRunWalker::widthOfFullRun): + (WebCore::TextRunWalker::getTextRun): + (WebCore::TextRunWalker::getNormalizedTextRun): + (WebCore::TextRunWalker::setupFontForScriptRun): + (WebCore::TextRunWalker::allocHarfbuzzFont): + (WebCore::TextRunWalker::deleteGlyphArrays): + (WebCore::TextRunWalker::createGlyphArrays): + (WebCore::TextRunWalker::resetGlyphArrays): + (WebCore::TextRunWalker::shapeGlyphs): + (WebCore::TextRunWalker::setGlyphXPositions): + (WebCore::TextRunWalker::mirrorCharacters): + +2010-10-18 No'am Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] AC rendering bugs + There were a few missing connections in Qt AC between GraphicsLayer and plugins, like changing the plugin's geometry to the layer's + contentsRect, and making sure media layers handle ParentChange events and setContentsNeedsDisplay. Now media layers behave correctly. + + https://bugs.webkit.org/show_bug.cgi?id=47571 + + No new tests. This is in preparation for fixing AC+plugins, which already has tests that don't work yet with Qt. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::flushChanges): + (WebCore::GraphicsLayerQt::setContentsNeedsDisplay): + * platform/graphics/qt/GraphicsLayerQt.h: + +2010-10-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Simon Fraser. + + Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages(). + https://bugs.webkit.org/show_bug.cgi?id=46224 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/InspectorClient.cpp: Added. + (WebCore::InspectorClient::doDispatchMessageOnFrontendPage): + * inspector/InspectorClient.h: + (WebCore::InspectorClient::InspectorClient): + +2010-10-18 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IDBKeyTree.h is no longer used. + https://bugs.webkit.org/show_bug.cgi?id=47824 + + No new tests, just removing unused files. + + * WebCore.gypi: + * WebCore.xcodeproj/project.pbxproj: + * storage/IDBKeyTree.h: Removed. + +2010-10-18 Andreas Kling <kling@webkit.org> + + Unreviewed buildfix for Qt + V8. + Add missing <wtf/text/CString.h> include. + + * inspector/InspectorInstrumentation.cpp: + +2010-10-18 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: toJSON serialization for Numbers should be fixed. + DecimalNumber is used instead of printf. + + https://bugs.webkit.org/show_bug.cgi?id=43832 + + * inspector/InspectorValues.cpp: + (WebCore::InspectorBasicValue::writeJSON): + +2010-10-18 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [REGRESSION] Inspector window visible during run-webkit-tests. + The initial state of an inspector setting should stay untouched + if the profile has no value for it. + + https://bugs.webkit.org/show_bug.cgi?id=47785 + + * inspector/InspectorState.cpp: + (WebCore::InspectorState::loadFromSettings): + +2010-10-18 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: tab headers on resource panel are 1px off on Mac. + https://bugs.webkit.org/show_bug.cgi?id=47798 + + * inspector/front-end/inspector.css: + (.tabbed-pane-header li): + +2010-10-18 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed. Build fix. + + * inspector/InspectorResourceAgent.cpp: + (WebCore::cachedResourceTypeString): + +2010-10-17 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Introduce InspectorResourceAgent.h/cpp and ResourceManager.js to + fill network panel with data. + https://bugs.webkit.org/show_bug.cgi?id=47779 + + InspectorResourceAgent instance / JS part are introduced in this patch. Agent's lifetime is equal + to the front-end's. This new resource agent does not have state, instead it covers two functions: + 1) forwards loader client messages to the front-end 2) is capable of building a tree of cached resources. + (1) feeds network panel with data, (2) shows the resource tree in the new ResourcesPanel concept. + This bug is for extracting this new InspectorResourceAgent class and its javascript counterpart. + Once resources panel is refactored for the new concept, InspectorResource, InspectorController's + resource-related routines, inspector.js's code dealing with resources, they all will be gone. + + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: + * inspector/InspectorApplicationCacheAgent.cpp: + (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::releaseFrontendLifetimeAgents): + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::frameDetachedFromParent): + (WebCore::InspectorController::didLoadResourceFromMemoryCache): + (WebCore::InspectorController::identifierForInitialRequest): + (WebCore::InspectorController::willSendRequest): + (WebCore::InspectorController::markResourceAsCached): + (WebCore::InspectorController::didReceiveResponse): + (WebCore::InspectorController::didReceiveContentLength): + (WebCore::InspectorController::didFinishLoading): + (WebCore::InspectorController::didFailLoading): + (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): + (WebCore::InspectorController::scriptImported): + (WebCore::InspectorController::didCreateWebSocket): + (WebCore::InspectorController::willSendWebSocketHandshakeRequest): + (WebCore::InspectorController::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorController::didCloseWebSocket): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::updateResponse): + (WebCore::cachedResourceType): + (WebCore::InspectorResource::type): + (WebCore::InspectorResource::sourceString): + (WebCore::InspectorResource::sourceBytes): + (WebCore::InspectorResource::endTiming): + * inspector/InspectorResourceAgent.cpp: + (WebCore::InspectorResourceAgent::resourceContent): + (WebCore::InspectorResourceAgent::resourceContentBase64): + (WebCore::InspectorResourceAgent::resourceData): + (WebCore::InspectorResourceAgent::cachedResource): + (WebCore::buildObjectForHeaders): + (WebCore::buildObjectForTiming): + (WebCore::buildObjectForResourceRequest): + (WebCore::buildObjectForResourceResponse): + (WebCore::buildObjectForMainResource): + (WebCore::cachedResourceTypeString): + (WebCore::buildObjectForCachedResource): + (WebCore::buildObjectForFrameResources): + (WebCore::InspectorResourceAgent::~InspectorResourceAgent): + (WebCore::InspectorResourceAgent::identifierForInitialRequest): + (WebCore::InspectorResourceAgent::willSendRequest): + (WebCore::InspectorResourceAgent::markResourceAsCached): + (WebCore::InspectorResourceAgent::didReceiveResponse): + (WebCore::InspectorResourceAgent::didReceiveContentLength): + (WebCore::InspectorResourceAgent::didFinishLoading): + (WebCore::InspectorResourceAgent::didFailLoading): + (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): + (WebCore::InspectorResourceAgent::setOverrideContent): + (WebCore::InspectorResourceAgent::didCommitLoad): + (WebCore::InspectorResourceAgent::frameDetachedFromParent): + (WebCore::createReadableStringFromBinary): + (WebCore::InspectorResourceAgent::didCreateWebSocket): + (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): + (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): + (WebCore::InspectorResourceAgent::didCloseWebSocket): + (WebCore::InspectorResourceAgent::cachedResources): + (WebCore::InspectorResourceAgent::InspectorResourceAgent): + * inspector/InspectorResourceAgent.h: + (WebCore::InspectorResourceAgent::create): + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::resourceStyleSheetText): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource): + (WebInspector.ExtensionServer.prototype._onGetResourceContent): + * inspector/front-end/Resource.js: + (WebInspector.Resource.prototype.get responseReceivedTime): + (WebInspector.Resource.prototype.set endTime): + * inspector/front-end/Settings.js: + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): + * inspector/front-end/WebKit.qrc: + * inspector/front-end/inspector.css: + (.tabbed-pane-header li): + * inspector/front-end/inspector.html: + * inspector/front-end/inspector.js: + (WebInspector.updateResource): + * loader/ResourceLoadNotifier.cpp: + (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didReceiveResponse): + +2010-10-16 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: brush up URL parsing on the front-end. + https://bugs.webkit.org/show_bug.cgi?id=47772 + + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::updateScriptObject): + * inspector/front-end/AuditRules.js: + (WebInspector.AuditRules.getDomainToResourcesMap): + (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun): + (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun): + (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun): + (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): + (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies): + (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies): + * inspector/front-end/CookieItemsView.js: + (WebInspector.CookieItemsView.prototype._filterCookiesForDomain): + * inspector/front-end/DOMAgent.js: + (WebInspector.Cookies.cookieMatchesResourceURL): + * inspector/front-end/Resource.js: + (WebInspector.Resource): + (WebInspector.Resource.prototype.set url): + (WebInspector.Resource.prototype.get displayName): + * inspector/front-end/ResourceCategory.js: + (WebInspector.ResourceCategory.prototype.addResource): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView): + * inspector/front-end/inspector.js: + (WebInspector.documentClick.followLink): + (WebInspector.documentClick): + (WebInspector.updateResource): + (WebInspector.linkifyStringAsFragment): + (WebInspector.resourceURLForRelatedNode): + (WebInspector.completeURL): + * inspector/front-end/utilities.js: + (String.prototype.asParsedURL): + +2010-10-17 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Support custom open() verbs/methods in XMLHttpRequest + https://bugs.webkit.org/show_bug.cgi?id=40476 + + Fall back to QNetworkAccessManager::CustomOperation for any HTTP verb + that's not specifically supported by QNetworkAccessManager. + + This prevents the infinite loop that otherwise occurs after sending + an UnknownOperation request. + + This change is covered by existing (skipped) tests that will be + unskipped once the Qt bots are running Qt 4.7. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::httpMethod): + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + * platform/network/qt/QNetworkReplyHandler.h: + +2010-10-17 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + Remove explicit passing of user gesture in NavigationScheduler + https://bugs.webkit.org/show_bug.cgi?id=47786 + + As requested by Mr. Glazkov, remove more explicit passing of the user + gesture state. We now use a static to pass this information around. + + * bindings/generic/BindingFrame.h: + (WebCore::::navigateIfAllowed): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + * bindings/js/JSLocationCustom.cpp: + (WebCore::JSLocation::reload): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::V8Location::reloadCallback): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::setResourceTrackingEnabled): + (WebCore::InspectorController::reloadPage): + * loader/NavigationScheduler.cpp: + (WebCore::ScheduledNavigation::ScheduledNavigation): + (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): + (WebCore::ScheduledRedirect::ScheduledRedirect): + (WebCore::ScheduledLocationChange::ScheduledLocationChange): + (WebCore::ScheduledRefresh::ScheduledRefresh): + (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation): + (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): + (WebCore::NavigationScheduler::scheduleRedirect): + (WebCore::NavigationScheduler::mustLockBackForwardList): + (WebCore::NavigationScheduler::scheduleLocationChange): + (WebCore::NavigationScheduler::scheduleFormSubmission): + (WebCore::NavigationScheduler::scheduleRefresh): + (WebCore::NavigationScheduler::scheduleHistoryNavigation): + * loader/NavigationScheduler.h: + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadOrRedirectSubframe): + +2010-10-17 Julien Chaffraix <jchaffraix@codeaurora.org> + + Reviewed by Andreas Kling. + + 'transparent' should be a valid color + https://bugs.webkit.org/show_bug.cgi?id=45482 + + Test: svg/animations/svg-animate-color-transparent.svg + + Based on previous work by Jan Erik Hanssen <jhanssen@codeaurora.org> + + * platform/ColorData.gperf: Added 'transparent' to the list of colors. + Added the alpha to all the colors as it was needed to support the new color. + + * platform/graphics/Color.cpp: + (WebCore::Color::Color): + (WebCore::Color::setNamedColor): Avoid setting the alpha as now it is not + always 0xFF. + +2010-10-17 Justin Schuh <jschuh@chromium.org> + + Reviewed by Nikolas Zimmermann. + + Duplicate use element children in shadow tree. + https://bugs.webkit.org/show_bug.cgi?id=47561 + + Test: svg/custom/use-nested-children.svg + + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::expandUseElementsInShadowTree): + +2010-10-17 Hyung Song <beergun@company100.net> + + Reviewed by David Levin. + + Add !SINGLE_THREADED guard. + https://bugs.webkit.org/show_bug.cgi?id=47608 + + For SINGLE_THREADED ports LockingMutex.tryLock() returns false. + This will prevent interrupt() from falling into infinite loop. + + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::interrupt): + +2010-10-17 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Nikolas Zimmermann. + + Very large and small numbers fail to round-trip through CSS + https://bugs.webkit.org/show_bug.cgi?id=20674 + + Use the new DecimalNumber functionality to convert CSS numberic values to strings + using decimal notation, rather than %g (which can output scientific notation). + + Test: fast/css/round-trip-values.html + + * css/CSSPrimitiveValue.cpp: + (WebCore::formatNumber): + (WebCore::CSSPrimitiveValue::cssText): + +2010-10-17 Cosmin Truta <ctruta@chromium.org> + + Reviewed by Nikolas Zimmermann. + + Crash while processing ill-formed SVG with cycles + https://bugs.webkit.org/show_bug.cgi?id=47498 + + Test: svg/custom/invalid-paint-shape-mask.svg + + * rendering/SVGResources.cpp: + (paintingResourceFromSVGPaint): Ensured that the painting resource is + either a pattern resource or a gradient resource. + (SVGResources::setClipper): + (SVGResources::setFilter): + (SVGResources::setMarkerStart): + (SVGResources::setMarkerMid): + (SVGResources::setMarkerEnd): + (SVGResources::setMasker): + (SVGResources::setFill): + (SVGResources::setStroke): Added ASSERT statements for previously-unchecked + preconditions. + +2010-10-17 Alex Milowski <alex@milowski.com> + + Reviewed by Kenneth Rohde Christiansen. + + Fixed extra whitespace above operators when they aren't stretched + yet the stretch height is large. Also, the baseline alignment + was changed so that rows and operators interact appropriately now + that operators don't have the extra white space. + + * mathml/RenderMathMLOperator.cpp: + * mathml/RenderMathMLRow.cpp: + +2010-10-17 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> + + Reviewed by Antonio Gomes. + + [Qt] Fix focusing of control elements on mouse click. + Brings GTK fix to Qt platform. + https://bugs.webkit.org/show_bug.cgi?id=40641 + + Test: fast/events/click-focus-control.html + + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::isMouseFocusable): + +2010-10-17 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + FrameLoader doesn't need an explicit userGesture parameter + https://bugs.webkit.org/show_bug.cgi?id=47777 + + We used to pass around the user gesture state explicitly. Now we use + static state. Explicitly passing the user gesture state to FrameLoader + in these methods is pretty out-dated. + + * bindings/ScriptControllerBase.cpp: + (WebCore::ScriptController::executeIfJavaScriptURL): + * bindings/generic/BindingDOMWindow.h: + (WebCore::::createWindow): + (WebCore::::open): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::createWindow): + (WebCore::JSDOMWindow::open): + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::setLocation): + * bindings/js/ScriptController.h: + * bindings/v8/ScriptController.h: + * html/HTMLAnchorElement.cpp: + (WebCore::handleLinkClick): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::openInInspectedWindow): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::changeLocation): + (WebCore::FrameLoader::urlSelected): + (WebCore::FrameLoader::submitForm): + * loader/FrameLoader.h: + * loader/NavigationScheduler.cpp: + (WebCore::ScheduledURLNavigation::fire): + (WebCore::ScheduledRefresh::fire): + (WebCore::ScheduledHistoryNavigation::fire): + (WebCore::NavigationScheduler::scheduleLocationChange): + +2010-10-17 Sergey A. Sukiyazov <sergey.sukiyazov@gmail.com> + + Reviewed by Andreas Kling + + [Qt] Hovering the mouse over links produce a trail of underlined links (X11 paint engine) + https://bugs.webkit.org/show_bug.cgi?id=42248 + + The problem will appear because coordinates of points may increase by 0.05f (if line width is odd) inside + method GraphicsContext::adjustLineToPixelBoundaries(...) and become outside of text bounding rect htere, + then the new point coordinates will be passed to Qt graphics engine. + + The solution decreases Y cordinates of points inside drawLineForText(...) method only if Qt graphics engine + is X11. The Y coordinates will be increase by 0.5f inside method adjustLineToPixelBoundaries(...), which + called from drawLine(...), and then inside Qt painting engine will be rounded to next greater integer value. + + NOTE: This changes will affect only Qt X11 verision and if only X11 Painting Engine will be used. + + No new tests. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawLineForText): + +2010-10-17 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Dirk Schulze. + + Text under nested link dropped + https://bugs.webkit.org/show_bug.cgi?id=46460 + + Allow links inside of tspan and textPath elements. + + * svg/SVGTSpanElement.cpp: + (WebCore::SVGTSpanElement::childShouldCreateRenderer): + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::childShouldCreateRenderer): + +2010-10-16 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Port TextCodec + https://bugs.webkit.org/show_bug.cgi?id=45797 + + Implement TextCodec with Brew MP's ICharsetConv. + Only UTF-8 is supported for now. + + * platform/text/TextEncoding.cpp: + (WebCore::TextEncoding::encode): + * platform/text/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): + * platform/text/brew/TextCodecBrew.cpp: Added. + (WebCore::newTextCodecBrew): + (WebCore::TextCodecBrew::registerBaseEncodingNames): + (WebCore::TextCodecBrew::registerBaseCodecs): + (WebCore::TextCodecBrew::registerExtendedEncodingNames): + (WebCore::TextCodecBrew::registerExtendedCodecs): + (WebCore::TextCodecBrew::TextCodecBrew): + (WebCore::TextCodecBrew::~TextCodecBrew): + (WebCore::TextCodecBrew::decode): + (WebCore::TextCodecBrew::encode): + * platform/text/brew/TextCodecBrew.h: Added. + +2010-10-16 Patrick Gansterer <paroga@webkit.org> + + Unreviewed. + + Build fix for !ENABLE(INSPECTOR) after r69844. + + * inspector/InspectorState.h: Added ENABLE(INSPECTOR) guard. + +2010-10-16 Patrick Gansterer <paroga@webkit.org> + + Unreviewed, build fix. + + WinCE build fix for r69798. + + * platform/text/wince/TextCodecWinCE.cpp: Added missing include. + +2010-10-16 Johnny Ding <jnd@chromium.org> + + Reviewed by Adam Barth. + + Requires a user gesture when opening file choose dialog. + https://bugs.webkit.org/show_bug.cgi?id=47593 + + Test: fast/forms/input-file-not-open-without-gesture.html + + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::click): + +2010-10-16 Alex Milowski <alex@milowski.com> + + Reviewed by Kenneth Rohde Christiansen. + + Changed the vertical alignment within mfenced to baseline to + match the rest of the containers (e.g. mrow) and adjusted the + operator spacing to 0.1em. + + Test: mathml/presentation/fenced-mi.xhtml + + * css/mathml.css: + * mathml/RenderMathMLFenced.cpp: + +2010-10-16 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Barth. + + Rename StringHasherFunctions.h to StringHasher.h + https://bugs.webkit.org/show_bug.cgi?id=47200 + + * ForwardingHeaders/wtf/StringHashFunctions.h: Removed. + * ForwardingHeaders/wtf/StringHasher.h: Copied from WebCore/ForwardingHeaders/wtf/StringHashFunctions.h. + +2010-10-15 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + unlink removes inline style of anchor elements + https://bugs.webkit.org/show_bug.cgi?id=47424 + + The bug was caused by our not extracting styles when the anchor element is removed by removeInlineStyle. + Because we removed the element without pushing its inline style down, we lost style information. + + Fixed the bug by pushing down styles in removeInlineStyle as done in pushDownInlineStyleAroundNode. + Also fixed a bug in addInlineStyleIfNeeded where StyleChange incorrectly removed styles of the container + node as supposed to that of startNode from the style to apply when startNode is not an element. + + Test: editing/execCommand/toggle-unlink.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): To prevent a similar bug in the future, + added an assert that extractedStyle is specified whenever we're removing a styled element. + (WebCore::ApplyStyleCommand::removeInlineStyle): + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + +2010-10-15 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + serializeNodesWithNamespaces should be in MarkupAccumulator + https://bugs.webkit.org/show_bug.cgi?id=47749 + + Moved serializeNodesWithNamespaces to MarkupAccumulator, and renamed it to serializeNodes. + MarkupAccumulator::serializeNode now returns the resultant string instead of having a separate takeResults(). + Added several helper functions to MarkupAccumulator. + + No new tests are added since this is a cleanup. + + * editing/MarkupAccumulator.cpp: + (WebCore::MarkupAccumulator::serializeNodes): Wrapper for serializeNodes and concatenateMarkup. + (WebCore::MarkupAccumulator::serializeNodesWithNamespaces): Moved from markup.cpp + (WebCore::MarkupAccumulator::appendStartTag): Calls appendString instead of appending into m_succeedingMarkup directly. + (WebCore::MarkupAccumulator::appendEndTag): Ditto. + (WebCore::MarkupAccumulator::totalLength): Added; extracted from takeResults. + (WebCore::MarkupAccumulator::concatenateMarkup): Ditto. + * editing/MarkupAccumulator.h: + (WebCore::MarkupAccumulator::length): Added; calls totalLength. + * editing/markup.cpp: + (WebCore::StyledMarkupAccumulator::appendString): Added; calls MarkupAccumulator's appendString. + (WebCore::StyledMarkupAccumulator::wrapWithStyleNode): Calls appendString. + (WebCore::StyledMarkupAccumulator::takeResults): Calls length, totalLength, and concatenateMarkup. + (WebCore::StyledMarkupAccumulator::serializeNodes): Became a member function. + (WebCore::createMarkup): Uses MarkupAccumulator. + +2010-10-15 Kinuko Yasuda <kinuko@google.com> + + Reviewed by Jian Li. + + Implement FileEntrySync.file() in FileSystem API + https://bugs.webkit.org/show_bug.cgi?id=47310 + + Tests: fast/filesystem/workers/file-from-file-entry-sync.html + fast/filesystem/workers/file-from-file-entry.html + + * fileapi/DOMFileSystem.cpp: + (WebCore::DOMFileSystem::createFile): Added. + * fileapi/DOMFileSystem.h: + * fileapi/DOMFileSystemSync.cpp: + (WebCore::DOMFileSystemSync::createFile): Added. + * fileapi/DOMFileSystemSync.h: + * fileapi/DirectoryReaderBase.h: Added 'virtual path' comment. + * fileapi/EntryBase.h: Added 'virtual path' comment. + * fileapi/FileEntry.cpp: + (WebCore::FileEntry::file): Changed to use DOMFileSystem::createFile. + * fileapi/FileEntrySync.cpp: + (WebCore::FileEntrySync::file): Implemented. + * fileapi/FileEntrySync.h: + * fileapi/FileEntrySync.idl: Added file(). + +2010-10-15 Nico Weber <thakis@chromium.org> + + Reviewed by Eric Carlson. + + Make sure to update the current graphics context when calling out to AppKit. + https://bugs.webkit.org/show_bug.cgi?id=47757 + + Like r57741, but for the spellchecking highlight + + * platform/graphics/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawLineForTextChecking): + +2010-10-15 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Sam Weinig. + + REGRESSION(r69850) Loading apple.com/startpage in WebKit on Windows gets a bad request. + https://bugs.webkit.org/show_bug.cgi?id=47753 + <rdar://problem/8558242> + + r69850 switched over to a different way of concatenating WebCore strings, but ran into an issue + where some Windows calls were returning null terminated strings, and this breaks the new + method of concatenation. + + GetLocaleInfo returns a null-terminated string, but WebCore strings are non-null terminated, + so once we create our WebCore string, we want to trim off the null terminating character before + we return the localeInfo. + + Test: fast/dom/navigator-userAgent.html + + * platform/win/Language.cpp: + (WebCore::localeInfo): + +2010-10-15 Alexey Proskuryakov <ap@apple.com> + + Trying to fix crashes on Leopard buildbot. + + * loader/loader.cpp: + (WebCore::Loader::Host::didFinishLoading): + (WebCore::Loader::Host::didFail): + Moved logging higher in the function - it seems that CachedResource can be already destroyed. + + * platform/Logging.cpp: (WebCore::getChannelFromName): + * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary): + Initialize the new channel (oops). + +2010-10-15 Mike Lawther <mikelawther@chromium.org> + + Reviewed by James Robinson. + + Prevent scrollbars from appearing in iframes with scrolling=no + when the embedded content has overflow:scroll set on the html + or body tags. + + iframes keep getting scrollbars with scrolling="no" + https://bugs.webkit.org/show_bug.cgi?id=29240 + + Test: fast/frames/iframe-scrolling-attribute-overflowscroll.html + + * page/FrameView.cpp: + (WebCore::FrameView::calculateScrollbarModesForLayout) + (WebCore::FrameView::updateCanHaveScrollbars): + (WebCore::FrameView::layout): + * page/FrameView.h: + (WebCore::FrameView::calculateScrollbarModesForLayout) + +2010-10-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + Clean up RenderFlexibleBox::applyLineClamp() + https://bugs.webkit.org/show_bug.cgi?id=47743 + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::applyLineClamp): + +2010-10-15 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=47736 + <rdar://problem/8429396> WebCore cache gets corrupted if revalidation request starts at an inopportune time + + Test: http/tests/cache/stopped-revalidation.html + + * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): Copied logic for + revalidation requests from didFail(). + +2010-10-15 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler in <https://bugs.webkit.org/show_bug.cgi?id=47736>. + + Add a logging channel for WebCore cache and resource loading. + + Test: http/tests/cache/stopped-revalidation.html + + * platform/Logging.cpp: + * platform/Logging.h: + Added a logging channel for Cache and Loader. + + * loader/Cache.cpp: + (WebCore::Cache::requestResource): + (WebCore::Cache::revalidateResource): + (WebCore::Cache::revalidationFailed): + (WebCore::Cache::evict): + * loader/CachedResource.cpp: + (WebCore::CachedResource::setResourceToRevalidate): + (WebCore::CachedResource::switchClientsToRevalidatedResource): + (WebCore::CachedResource::mustRevalidate): + Added logging. + + * loader/loader.cpp: + (WebCore::Loader::load): Added logging. + (WebCore::Loader::scheduleServePendingRequests): Ditto. + (WebCore::Loader::requestTimerFired): Ditto. + (WebCore::Loader::servePendingRequests): Ditto. + (WebCore::Loader::Host::servePendingRequests): Changed logging to use the new channel. + (WebCore::Loader::Host::didFinishLoading): Changed logging to use the new channel. + (WebCore::Loader::Host::didFail): Added logging. + +2010-10-15 No'am Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Simon Fraser. + + Add public functions to serialize TransformOperations. + https://bugs.webkit.org/show_bug.cgi?id=47728 + + Added public accessors to the internal data of the TransformOperations. + + No new tests. These functions are enablers for WebKit2. + + * platform/graphics/transforms/Matrix3DTransformOperation.h: + (WebCore::Matrix3DTransformOperation::matrix): + * platform/graphics/transforms/MatrixTransformOperation.h: + (WebCore::MatrixTransformOperation::matrix): + * platform/graphics/transforms/PerspectiveTransformOperation.h: + (WebCore::PerspectiveTransformOperation::perspective): + * platform/graphics/transforms/RotateTransformOperation.h: + (WebCore::RotateTransformOperation::x): + (WebCore::RotateTransformOperation::y): + (WebCore::RotateTransformOperation::z): + * platform/graphics/transforms/SkewTransformOperation.h: + (WebCore::SkewTransformOperation::angleX): + (WebCore::SkewTransformOperation::angleY): + * platform/graphics/transforms/TranslateTransformOperation.h: + (WebCore::TranslateTransformOperation::x): + (WebCore::TranslateTransformOperation::y): + (WebCore::TranslateTransformOperation::z): + +2010-10-15 Jian Li <jianli@chromium.org> + + Reviewed by Dmitry Titov. + + FileReader.readAsDataURL should take Blob object + https://bugs.webkit.org/show_bug.cgi?id=47679 + + Test cases have been added into read-blob-test-cases.js. + + * fileapi/FileReader.idl: Update per the latest File API spec. + +2010-10-15 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Move MarkupAccumulator from markup.cpp to its own file + https://bugs.webkit.org/show_bug.cgi?id=47734 + + This patch moves the MarkupAccumulator class into its own file. + There's a lot of clean up left to do, but this patch is a step in the + right direction. + + No behavior change. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * editing/markup.cpp: + (WebCore::elementCannotHaveEndTag): + * editing/markup.h: + * editing/MarkupAccumulator.h: Added. + * editing/MarkupAccumulator.cpp: Added. + +2010-10-15 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Match the elements supported by execCommand('formatBlock') and queryCommandValue('formatBlock') + https://bugs.webkit.org/show_bug.cgi?id=47712 + + Extended queryCommandValue('formatBlock', false, null) to support article, aside, blockquote, dd, dl, + div, dl, dt, dl, footer, header, hgroup, nav, and section. Because this makes isElementForFormatBlockCommand + in Editor.cpp and FormatBlockCommand::isElementToApplyInFormatBlockCommand identical, they are merged and moved + to FormatBlockCommand.cpp + + Tests are added to editing/execCommand/query-format-block.html + + * editing/Editor.cpp: Removed isElementForFormatBlockCommand and Editor::elementForFormatBlockCommand. + * editing/Editor.h: + * editing/EditorCommand.cpp: + (WebCore::executeFormatBlock): Removed the check of tag name; the check is moved into FormatBlockCommand. + (WebCore::valueFormatBlock): Calls FormatBlockCommand::elementForFormatBlockCommand. + * editing/FormatBlockCommand.cpp: + (WebCore::isElementForFormatBlock): + (WebCore::FormatBlockCommand::FormatBlockCommand): + (WebCore::FormatBlockCommand::formatSelection): Added to check the tag name. Exit early if the specified tag name + is not what FormatBlock should apply. Set m_didApply true if m_didApply did apply the element. + (WebCore::FormatBlockCommand::formatRange): Moved from Editor.cpp. Takes Range* instead of accessing selection directly. + (WebCore::FormatBlockCommand::elementForFormatBlockCommand): Moved from Editor.cpp + (WebCore::enclosingBlockToSplitTreeTo): Calls isElementForFormatBlock. + * editing/FormatBlockCommand.h: + (WebCore::FormatBlockCommand::didApply): Added. + +2010-10-15 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + carto.net Dock example redraws *way* too often + https://bugs.webkit.org/show_bug.cgi?id=16090 + + Setting the attributes x, y, width or height shouldn't cause a repaint if the image boundaries don't change. + Added updateFromElement() to RenderSVGImage that checks if the old boundaries match the new boundaries after + setting one of the attributes of above. Mark renderer for layout (and therefore repaint) if the boundaries + differ, do nothing if not. + Also added caching of the repaint rect to avoid multiple calculations. + + Test: svg/custom/repaint-on-constant-size-change.svg + + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::RenderSVGImage): + (WebCore::RenderSVGImage::layout): Update repaint rect on layout. + (WebCore::RenderSVGImage::updateFromElement): Check SVGImageElement for boundaries update. + * rendering/RenderSVGImage.h: + (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): Return the cached repaint rect. + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::svgAttributeChanged): Call updateFromElement() on changes to x, y, width or height. + +2010-10-15 Martin Robinson <mrobinson@igalia.com> + + Build fix for GTK+. + + * platform/network/soup/cache/webkit/soup-cache.h: Do not use PLATFORM(...) macro + in a file that does not include config.h + +2010-10-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add FindIndicatorWindow class + https://bugs.webkit.org/show_bug.cgi?id=47731 + + Export symbols needed by the FindIndicator in WebKit2. + + * WebCore.exp.in: + +2010-10-15 Leandro Pereira <leandro@profusion.mobi> + + [EFL] Unreviewed. Build fix. + + Add new files needed by the Soup network backend, and #ifdef a + GTK+-port only include in soup-cache.h. + + * CMakeListsEfl.txt: + * platform/network/soup/cache/webkit/soup-cache.h: + +2010-10-14 Darin Adler <darin@apple.com> + + Reviewed by Alexey Proskuryakov. + + Use more specific types for node pointers, especially when calling node insertion and removal functions + https://bugs.webkit.org/show_bug.cgi?id=47702 + + Refactoring. No new tests. + + While developing this patch I temporarily removed the node insertion and + removal member functions from the Node class and fixed almost all call sites + so they call it directly on the ContainerNode class, which will be important + once we make the functions non-virtual. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::appendChild): + * dom/Document.cpp: + (WebCore::Document::caretRangeFromPoint): + * dom/DynamicNodeList.cpp: + (WebCore::DynamicNodeList::itemWithName): + * dom/Position.cpp: + (WebCore::Position::previous): + (WebCore::Position::next): + * dom/Text.cpp: + (WebCore::Text::replaceWholeText): + * dom/TreeWalker.cpp: + (WebCore::TreeWalker::firstChild): + (WebCore::TreeWalker::lastChild): + (WebCore::TreeWalker::previousNode): + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): + * editing/BreakBlockquoteCommand.cpp: + (WebCore::BreakBlockquoteCommand::doApply): + * editing/CompositeEditCommand.h: + * editing/DeleteButtonController.cpp: + (WebCore::isDeletableElement): + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::outdentParagraph): + * editing/InsertNodeBeforeCommand.cpp: + (WebCore::InsertNodeBeforeCommand::doApply): + * editing/JoinTextNodesCommand.cpp: + (WebCore::JoinTextNodesCommand::doApply): + (WebCore::JoinTextNodesCommand::doUnapply): + * editing/MergeIdenticalElementsCommand.cpp: + (WebCore::MergeIdenticalElementsCommand::doUnapply): + * editing/RemoveNodeCommand.cpp: + (WebCore::RemoveNodeCommand::doApply): + (WebCore::RemoveNodeCommand::doUnapply): + * editing/RemoveNodeCommand.h: + * editing/SplitElementCommand.cpp: + (WebCore::SplitElementCommand::executeApply): + * editing/SplitTextNodeCommand.cpp: + (WebCore::SplitTextNodeCommand::doApply): + (WebCore::SplitTextNodeCommand::doReapply): + * editing/TextIterator.cpp: + (WebCore::parentCrossingShadowBoundaries): + * editing/htmlediting.cpp: + (WebCore::enclosingList): + * editing/markup.cpp: + (WebCore::serializeNodes): + (WebCore::ancestorToRetainStructureAndAppearance): + (WebCore::createMarkup): + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::updateFocusAppearance): + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::rendererIsNeeded): + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::rendererIsNeeded): + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::attach): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::insertedIntoTree): + * html/HTMLLegendElement.cpp: + (WebCore::HTMLLegendElement::associatedControl): + * html/HTMLOptGroupElement.cpp: + (WebCore::HTMLOptGroupElement::recalcSelectOptions): + (WebCore::HTMLOptGroupElement::ownerSelectElement): + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::ownerSelectElement): + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls): + * html/HTMLTableColElement.cpp: + (WebCore::HTMLTableColElement::additionalAttributeStyleDecls): + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::insertRow): + * html/HTMLTableRowElement.cpp: + (WebCore::HTMLTableRowElement::rowIndex): + * html/HTMLTableSectionElement.cpp: + (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls): + * page/DOMSelection.cpp: + (WebCore::DOMSelection::getRangeAt): + (WebCore::DOMSelection::containsNode): + * rendering/RenderSVGGradientStop.cpp: + (WebCore::RenderSVGGradientStop::gradientElement): + * svg/SVGElement.cpp: + (WebCore::SVGElement::ownerSVGElement): + (WebCore::SVGElement::viewportElement): + * svg/SVGFELightElement.cpp: + (WebCore::SVGFELightElement::svgAttributeChanged): + (WebCore::SVGFELightElement::childrenChanged): + * svg/SVGFEMergeNodeElement.cpp: + (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): + * svg/SVGFontFaceFormatElement.cpp: + (WebCore::SVGFontFaceFormatElement::childrenChanged): + * svg/SVGFontFaceUriElement.cpp: + (WebCore::SVGFontFaceUriElement::childrenChanged): + * svg/SVGGlyphElement.cpp: + (WebCore::SVGGlyphElement::invalidateGlyphCache): + * svg/SVGHKernElement.cpp: + (WebCore::SVGHKernElement::insertedIntoDocument): + (WebCore::SVGHKernElement::removedFromDocument): + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::nearestViewportElement): + (WebCore::SVGLocatable::farthestViewportElement): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::updateContainerOffsets): + * svg/SVGVKernElement.cpp: + (WebCore::SVGVKernElement::insertedIntoDocument): + (WebCore::SVGVKernElement::removedFromDocument): + * svg/animation/SVGSMILElement.cpp: + (WebCore::SVGSMILElement::targetElement): + * wml/WMLDoElement.cpp: + (WebCore::WMLDoElement::insertedIntoDocument): + (WebCore::WMLDoElement::removedFromDocument): + * wml/WMLNoopElement.cpp: + (WebCore::WMLNoopElement::insertedIntoDocument): + * wml/WMLOptionElement.cpp: + (WebCore::ownerSelectElement): + * wml/WMLPostfieldElement.cpp: + (WebCore::WMLPostfieldElement::insertedIntoDocument): + (WebCore::WMLPostfieldElement::removedFromDocument): + * wml/WMLSetvarElement.cpp: + (WebCore::WMLSetvarElement::insertedIntoDocument): + (WebCore::WMLSetvarElement::removedFromDocument): + * wml/WMLTaskElement.cpp: + (WebCore::WMLTaskElement::insertedIntoDocument): + (WebCore::WMLTaskElement::removedFromDocument): + * wml/WMLTimerElement.cpp: + (WebCore::WMLTimerElement::insertedIntoDocument): + (WebCore::WMLTimerElement::removedFromDocument): + * xml/XPathStep.cpp: + (WebCore::XPath::Step::nodesInAxis): + Use ContainerNode* for the result of the parentNode function now that + it returns a ContainerNode*. In the past it used to return just Node*. + + * dom/ContainerNode.h: Added toContainerNode. + + * dom/Element.h: Use ContainerNode*. Added toElement. + + * dom/Element.cpp: + (WebCore::Element::deprecatedCreateContextualFragment): Explcitly + cast to HTMLElement* in the case that handles <html> and <body> + elements. + (WebCore::Element::baseURI): Use ContainerNode*. + + * dom/Node.cpp: + (WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Use ContainerNode*. + (WebCore::Node::isDescendantOf): Ditto. + (WebCore::Node::createRendererIfNeeded): Ditto. + (WebCore::Node::setTextContent): Use already-typecast pointer in a call to + appendChild. + (WebCore::Node::ancestorElement): Use ContainerNode*. + + * dom/Range.cpp: + (WebCore::Range::compareNode): Use ContainerNode*. + (WebCore::Range::intersectsNode): Ditto. + (WebCore::Range::processContents): Cast to ContainerNode* in a couple cases + where we previously checked that the node in question has a child. Any node + that returns a non-zero value for firstChild is a ContainerNode. + (WebCore::Range::checkNodeBA): Ditto. + (WebCore::Range::selectNode): Ditto. + (WebCore::Range::surroundContents): Ditto. + + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::insertErrorMessageBlock): Rewrote code to use + more specific types, document instead of doc, and paragraph instead of par. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): + Use ContainerNode*. + (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes): + Use replaceElementWithSpanPreservingChildrenAndAttributes; the old function + took a Node argument and had Node in its name. + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Use ContainerNode. + (WebCore::CompositeEditCommand::replaceElementWithSpanPreservingChildrenAndAttributes): + Renamed and changed to take HTMLElement. Also use ContainerNode. + (WebCore::CompositeEditCommand::prune): Ditto. + (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto. + (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Ditto. + + * editing/ReplaceNodeWithSpanCommand.cpp: + (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): Take an + HTMLElement instead of a Node. Call it m_elementToReplace instead of m_node. + (WebCore::swapInNodePreservingAttributesAndChildren): Take HTMLElement. + (WebCore::ReplaceNodeWithSpanCommand::doApply): Updated for name changes. + (WebCore::ReplaceNodeWithSpanCommand::doUnapply): Ditto. + * editing/ReplaceNodeWithSpanCommand.h: Ditto. + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::ReplacementFragment): Use StyledElement for result + of insertFragmentForTestRendering since that's what it returns. + (WebCore::ReplacementFragment::removeNode): Use ContainerNode. + (WebCore::ReplacementFragment::insertNodeBefore): Ditto. + (WebCore::ReplacementFragment::insertFragmentForTestRendering): Return StyledElement. + Use HTMLElement for body. + (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment): Take + StyledElement. + (WebCore::ReplaceSelectionCommand::handleStyleSpans): Use ContainerNode. + (WebCore::ReplaceSelectionCommand::copyStyleToChildren): Use HTMLElement for + the cloned span, since the clone will be a sspan too. + (WebCore::ReplaceSelectionCommand::insertAsListItems): Use ContainerNode since + the list item has a child, and that proves it is a ContainerNode. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): + Use ContainerNode and also removed an unnneded local variable. + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::setOuterText): Use ContainerNode. + (WebCore::HTMLElement::insertAdjacent): Use ContainerNode and also use && to make + the logic a little simpler. + (WebCore::contextElementForInsertion): Use ContainerNode. + (WebCore::HTMLElement::findFormAncestor): Ditto. + + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::removeNode): Use ContainerNode. + (WebCore::InspectorDOMAgent::changeTagName): Ditto. + (WebCore::InspectorDOMAgent::setOuterHTML): Ditto. + (WebCore::InspectorDOMAgent::innerParentNode): Use isDocumentNode instead of + nodeType. We should almost never use nodeType inside the engine. + (WebCore::InspectorDOMAgent::didInsertDOMNode): Use ContainerNode. + (WebCore::InspectorDOMAgent::didRemoveDOMNode): Ditto. + + * wml/WMLOptGroupElement.cpp: Removed unneeded overrides of insertBefore, + replaceChild, removeChild, appendChild, and removeChildren functions. + Ths already overrides childrenChanged, that is called by all of the above, + and it does the same thing these functions did. + (WebCore::ownerSelectElement): Use ContainerNode. + * wml/WMLOptGroupElement.h: Ditto. + +2010-10-15 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Crash in WebCore::ApplyStyleCommand::applyBlockStyle + https://bugs.webkit.org/show_bug.cgi?id=47699 + + The crash was caused by applyBlockStyle's invalidly assuming that visibleStart and visibleEnd always exist. + Added an early exit to the function when either visibleStart or visibleEnd is null or orphaned. + + Test: editing/style/block-style-progress-crash.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyBlockStyle): + +2010-10-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add a FindIndicator class + https://bugs.webkit.org/show_bug.cgi?id=47635 + + Make Gradient.h and Generator.h private headers; they're used by WebKit2. + + * WebCore.xcodeproj/project.pbxproj: + +2010-10-15 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [Soup] Should not ignore body for redirection responses + https://bugs.webkit.org/show_bug.cgi?id=29299 + + Body is now provided to WebKitGtk+ in some redirections (like 302) + because it could be used by servers to perform clunky redirections + for example using http-equiv=REFRESH + + Test: http/tests/navigation/redirect302-metaredirect.html + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::gotHeadersCallback): + (WebCore::finishedCallback): + +2010-10-15 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Fix introspection support + https://bugs.webkit.org/show_bug.cgi?id=47723 + + WebKitSoupCacheType was incorrectly registered twice. Renamed to + WebKitSoupCacheTypeType for the enumerated type. + + * platform/network/soup/cache/webkit/soup-cache.c: + (webkit_soup_cache_type_get_type): + +2010-10-15 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: extract consoleMessages related stuff from populateScriptObjects into separate function. + + This is a part of Inspector protocol sanitization activity. + We want to populate console messages only if it is required by frontend. + + https://bugs.webkit.org/show_bug.cgi?id=46802 + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::setConsoleMessagesEnabled): + (WebCore::InspectorController::addConsoleMessage): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::populateScriptObjects): + * inspector/InspectorController.h: + * inspector/InspectorState.cpp: + (WebCore::InspectorState::InspectorState): + * inspector/InspectorState.h: + * inspector/front-end/inspector.js: + (WebInspector.doLoadedDone): + +2010-10-15 Ryuan Choi <ryuan.choi@samsung.com> + + Reviewed by Nikolas Zimmermann. + + [EFL] REGRESSION(69798) UCHAR can't be converted to String. + https://bugs.webkit.org/show_bug.cgi?id=47698 + + Create String value using String(const char*, 1) instead of operator[]. + + No tests. No functionality changed. + + * platform/efl/PlatformKeyboardEventEfl.cpp: + (WebCore::createWindowsKeyMap): + +2010-10-15 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Do a stricter check for invalid base64 dataURLs + https://bugs.webkit.org/show_bug.cgi?id=47717 + + Restore the strict base64 decoding we added in + https://bugs.webkit.org/show_bug.cgi?id=44261 and then rolled back + in https://bugs.webkit.org/show_bug.cgi?id=47666 due to a failing + test. The actual issue was that we were not finishing the load of + the resource gracefully when an error happened. + + Loading invalid base64-encoded data:// URLs are now handled + properly. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::parseDataUrl): + * platform/network/soup/cache/soup-request-data.c: + (webkit_soup_request_data_send): + +2010-10-15 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + compile fail with gtk >= 2.22 + https://bugs.webkit.org/show_bug.cgi?id=47483 + + * platform/graphics/gtk/FontGtk.cpp: Removed the shrink operation, + it was added long time ago and currently it is not adding any real + area to the clip vertically, actually the gtk3 shrink version did + not work. + (WebCore::Font::drawComplexText): + * platform/gtk/gtk2drawing.c: Undef the deprecation flags, this + file is full of gtk2 stuff, and it does not seem interesting to + upgrade because we are already creating a new version of the file + for gtk3. + +2010-10-14 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: inspector settings/properties/states management + should be extracted into separate class. + + We have a lot of flags/values in InspectorController. + Some flags are persisting into profile. + Others are part of inspector state for frontend. + All these flags should keep their values after navigation. + It'd be better to extract these flags/values into separate + class which will care about theirs lifetime. + + https://bugs.webkit.org/show_bug.cgi?id=47275 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::inspectorStartsAttached): + (WebCore::InspectorController::setInspectorStartsAttached): + (WebCore::InspectorController::setInspectorAttachedHeight): + (WebCore::InspectorController::inspectorAttachedHeight): + (WebCore::InspectorController::searchingForNodeInPage): + (WebCore::InspectorController::resourceTrackingEnabled): + (WebCore::InspectorController::saveApplicationSettings): + (WebCore::InspectorController::getInspectorState): + (WebCore::InspectorController::restoreInspectorStateFromCookie): + (WebCore::InspectorController::getSettings): + (WebCore::InspectorController::storeLastActivePanel): + (WebCore::InspectorController::mouseDidMoveOverElement): + (WebCore::InspectorController::handleMousePress): + (WebCore::InspectorController::setSearchingForNode): + (WebCore::InspectorController::setMonitoringXHREnabled): + (WebCore::InspectorController::showPanel): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::restoreDebugger): + (WebCore::InspectorController::restoreProfiler): + (WebCore::InspectorController::getTrackedResource): + (WebCore::InspectorController::didLoadResourceFromMemoryCache): + (WebCore::InspectorController::identifierForInitialRequest): + (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): + (WebCore::InspectorController::scriptImported): + (WebCore::InspectorController::setResourceTrackingEnabled): + (WebCore::InspectorController::ensureSettingsLoaded): + (WebCore::InspectorController::startTimelineProfiler): + (WebCore::InspectorController::stopTimelineProfiler): + (WebCore::InspectorController::enableProfiler): + (WebCore::InspectorController::disableProfiler): + (WebCore::InspectorController::enableDebuggerFromFrontend): + (WebCore::InspectorController::disableDebugger): + (WebCore::InspectorController::loadBreakpoints): + (WebCore::InspectorController::saveBreakpoints): + * inspector/InspectorController.h: + * inspector/InspectorFrontendClientLocal.cpp: + (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight): + (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight): + * inspector/InspectorState.cpp: Added. + (WebCore::InspectorState::InspectorState): + (WebCore::InspectorState::restoreFromInspectorCookie): + (WebCore::InspectorState::generateStateObjectForFrontend): + (WebCore::InspectorState::loadFromSettings): + (WebCore::InspectorState::updateCookie): + (WebCore::InspectorState::setValue): + (WebCore::InspectorState::getBoolean): + (WebCore::InspectorState::getString): + (WebCore::InspectorState::getLong): + (WebCore::InspectorState::registerBoolean): + (WebCore::InspectorState::registerString): + (WebCore::InspectorState::registerLong): + (WebCore::InspectorState::Property::create): + * inspector/InspectorState.h: Added. + (WebCore::InspectorState::setBoolean): + (WebCore::InspectorState::setString): + (WebCore::InspectorState::setLong): + +2010-10-14 Jia Pu <jpu@apple.com> + + Reviewed by Adele Peterson. + + REGRESSION (r69548): Autocorrections are applied even after typing further characters in the word + https://bugs.webkit.org/show_bug.cgi?id=47689 + <rdar://problem/8552250> + + The test requires using setTimeout(). So we put it in manual-tests. + + * editing/Editor.cpp: + (WebCore::Editor::markMisspellingsAfterTypingToPosition): Relpace release() with clear(). + (WebCore::Editor::startCorrectionPanelTimer): Release previously set correction range before + start timer for next autocorrection check. + * manual-tests/autocorrection: Added. + * manual-tests/autocorrection/autocorrection-cancelled-by-typing-1.html: Added. + +2010-10-14 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang and Darin Adler. + + execCommand FormatBlock creates lots of blockquotes + https://bugs.webkit.org/show_bug.cgi?id=19795 + + The bug was caused by WebKit's not reusing the block node added by previous iteration + and its inserting block node at wrong places. + + Fixed the bug by rewriting FormatBlockCommand::formatRange. New code resembles that of + IndentOutdentCommand::indentIntoBlockquote. The difference between two is that formatRange + avoids the existing block elements when replacing blocks and it also adds a placeholder + when removing the existing block caused paragraphs to collapse. + + Also fixed a bug in moveParagraphWithClones where erroneous br is added to the start of + the block element to which the paragraph is moved if the block element is the start of a paragraph + and not the end of a paragraph. + + Tests: editing/execCommand/format-block-multiple-paragraphs.html + editing/execCommand/format-block-table.html + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::moveParagraphWithClones): No longer adds erroneous br. + * editing/EditorCommand.cpp: + (WebCore::executeFormatBlock): + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::formatRange): Rewritten; see above. + (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement + and moved from htmlediting.cpp. + (WebCore::enclosingBlockToSplitTreeTo): Added. + * editing/FormatBlockCommand.h: + * editing/VisiblePosition.cpp: + (WebCore::enclosingBlockFlowElement): Changed the return type to Element* + * editing/VisiblePosition.h: + +2010-10-14 Justin Schuh <jschuh@chromium.org> + + Reviewed by James Robinson. + + Crash in HTMLTextFormControlElement::selection() + https://bugs.webkit.org/show_bug.cgi?id=47522 + + Patch by Ryosuke Niwa <rniwa@webkit.org> + + The bug was caused by our triggering layout inside RenderTextControl::selection. + Fixed it by changing the return type of RenderTextControl::selection to PassRefPtr<Range> from VisibleSelection. + + Test: fast/forms/render-text-crash.html + + * editing/Editor.cpp: + (WebCore::Editor::selectionForCommand): Calls HTMLTextFormControlElement::selection. + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLTextFormControlElement::selection): Calls RenderTextControl::selection. + * html/HTMLFormControlElement.h: + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::selection): Changed the return type. + * rendering/RenderTextControl.h: + +2010-10-14 James Robinson <jamesr@chromium.org> + + Reviewed by Simon Fraser. + + SelectElement should check if its renderer exists after calling Element::focus() + https://bugs.webkit.org/show_bug.cgi?id=47696 + + Adds null checks for element->renderer() after calling element->focus(), since focus() + can dispatch an event and run arbitrary javascript that may cause the select element + to lose its renderer. + + Test: fast/forms/select-listbox-focus-displaynone.html + + * dom/SelectElement.cpp: + (WebCore::SelectElement::menuListDefaultEventHandler): + (WebCore::SelectElement::listBoxDefaultEventHandler): + +2010-10-14 Beth Dakin <bdakin@apple.com> + + Reviewed by Dave Hyatt. + + This patch lays the groundwork for + https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should + affect scrolling + by adding topmostPosition(). + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::topmostPosition): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::topmostPosition): + * rendering/RenderBox.h: + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::topmostPosition): + * rendering/RenderMedia.h: + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::topmostPosition): + * rendering/RenderTableSection.h: + +2010-10-14 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] fix compilation warnings in imported libsoup code + https://bugs.webkit.org/show_bug.cgi?id=47674 + + Fixed some warnings caused by comparisons between signed and + unsigned integer expressions + + * platform/network/soup/cache/soup-directory-input-stream.c: + (webkit_soup_directory_input_stream_read): + * platform/network/soup/cache/soup-request-data.c: + (webkit_soup_request_data_send): + * platform/network/soup/cache/soup-request-file.c: + (webkit_soup_request_file_ensure_file): + * platform/network/soup/cache/webkit/soup-cache.c: + (webkit_soup_cache_entry_is_fresh_enough): + (webkit_soup_cache_has_response): + +2010-10-14 Andreas Kling <kling@webkit.org> + + Unreviewed buildfix, RetainPtr is a mac thing.. + + * platform/network/soup/ProxyServerSoup.cpp: + +2010-10-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Form controls do not respect GTK+ font size + https://bugs.webkit.org/show_bug.cgi?id=47134 + + Have form controls use the font specified in GtkSettings. This font is + the default control font in GTK+ applications and Firefox. We need to + pass the string through Pango to get a valid font name and size. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::getScreenDPI): A helper function which returns + the DPI of the default screen or 96 as a fallback. + (WebCore::RenderThemeGtk::systemFont): Calculate the system font + by looking at the GtkSettings value and pushing it through Pango + to get the font family and font size. + +2010-10-14 Andreas Kling <kling@webkit.org> + + Soup buildfix for r69808: add ProxyServer stub. + + * GNUmakefile.am: + * platform/network/soup/ProxyServerSoup.cpp: Added. + (WebCore::proxyServersForURL): + +2010-10-14 Andreas Kling <kling@webkit.org> + + Fix GTK+ build after r69808. + + * GNUmakefile.am: + * platform/network/curl/ProxyServerCurl.cpp: + (WebCore::proxyServersForURL): + +2010-10-14 Simon Fraser <simon.fraser@apple.com> + + Another build fix. Export FrameLoader::networkingContext() + + * WebCore.exp.in: + +2010-10-14 Simon Fraser <simon.fraser@apple.com> + + Fix the build after r69808. + + * WebCore.xcodeproj/project.pbxproj: + * platform/network/cf/ProxyServerCFNet.cpp: + (WebCore::proxyServersForURL): + +2010-10-14 Gavin Barraclough <barraclough@apple.com> + + Windows build fix following r69806. + + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::markupToCFHTML): + +2010-10-14 Dawit Alemayehu <adawit@kde.org> + + Reviewed by Andreas Kling + + Implemented NPN_GetValueForURL and NPN_SetValueForURL and NPN_GetAuthenticationInfo. + https://bugs.webkit.org/show_bug.cgi?id=34539 + + These missing NPN functions cause Java applets to crash in ports such + as QtWebkit that rely on webkit for Java applet support. + + * plugins/PluginDebug.cpp: + (WebCore::prettyNameForNPNURLVariable): + * plugins/PluginDebug.h: + * plugins/PluginPackage.cpp: + (WebCore::PluginPackage::initializeBrowserFuncs): + * plugins/PluginView.cpp: + (WebCore::PluginView::getValueForURL): + (WebCore::PluginView::setValueForURL): + (WebCore::PluginView::getAuthenticationInfo): + * plugins/PluginView.h: + * plugins/npapi.cpp: + (NPN_GetValueForURL): + (NPN_SetValueForURL): + (NPN_GetAuthenticationInfo): + * platform/network/ProxyServer.h: + * platform/network/cf/ProxyServerCFNet.cpp: + (WebCore::proxyServersForURL): + * platform/network/qt/ProxyServerQt.cpp: + (WebCore::proxyServersForURL): + +2010-10-14 Gavin Barraclough <barraclough@apple.com> + + Windows build fix following r69806. + + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::markupToCFHTML): + +2010-10-14 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + Cache link status at linkProgram and use it in useProgram instead of querying GPU + https://bugs.webkit.org/show_bug.cgi?id=47685 + + * html/canvas/WebGLProgram.cpp: Always cache link status at linkStatus and use it upon query. + (WebCore::WebGLProgram::WebGLProgram): + * html/canvas/WebGLProgram.h: Ditto. + (WebCore::WebGLProgram::getLinkStatus): + (WebCore::WebGLProgram::setLinkStatus): + * html/canvas/WebGLRenderingContext.cpp: Ditto. + (WebCore::WebGLRenderingContext::getProgramParameter): + (WebCore::WebGLRenderingContext::linkProgram): + (WebCore::WebGLRenderingContext::useProgram): + +2010-10-14 Justin Schuh <jschuh@chromium.org> + + Reviewed by James Robinson. + + Style fix for r69735 + https://bugs.webkit.org/show_bug.cgi?id=47684 + + No logic change. Existing tests apply. + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): + +2010-10-14 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: encapsulate ScriptState into ConsoleMessage instead of passing it as additional parameter + https://bugs.webkit.org/show_bug.cgi?id=47675 + + No new tests. This refactoring is covered by existing inspector tests. + + * bindings/js/JSConsoleCustom.cpp: + * bindings/js/ScriptCallFrame.cpp: + * bindings/js/ScriptCallFrame.h: + (WebCore::ScriptCallFrame::functionName): + (WebCore::ScriptCallFrame::sourceURL): + (WebCore::ScriptCallFrame::lineNumber): + (WebCore::ScriptCallFrame::argumentCount): + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::isEqual): + * inspector/ConsoleMessage.h: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addMessageToConsole): + (WebCore::InspectorController::addConsoleMessage): + (WebCore::InspectorController::startGroup): + (WebCore::InspectorController::endGroup): + * inspector/InspectorController.h: + +2010-10-14 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Gavin Barraclough. + + Replace lots of String::format() usages by StringConcatenate + https://bugs.webkit.org/show_bug.cgi?id=47664 + + * ForwardingHeaders/wtf/text/StringConcatenate.h: Added. + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::reportUnsafeAccessTo): + * dom/ExceptionBase.cpp: + (WebCore::ExceptionBase::ExceptionBase): + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::handleError): + * history/PageCache.cpp: + (WebCore::logCanCacheFrameDecision): + * html/FTPDirectoryDocument.cpp: + (WebCore::processFileDateString): + * inspector/CodeGeneratorInspector.pm: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didReceiveResponse): + (WebCore::InspectorController::count): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::createBreakpointId): + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::formatBreakpointId): + * inspector/InspectorProfilerAgent.cpp: + (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): + (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): + (WebCore::InspectorProfilerAgent::getCurrentUserInitiatedProfileName): + (WebCore::InspectorProfilerAgent::takeHeapSnapshot): + * loader/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::printAccessDeniedMessage): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::checkIfDisplayInsecureContent): + (WebCore::FrameLoader::checkIfRunInsecureContent): + (WebCore::FrameLoader::shouldAllowNavigation): + * loader/archive/cf/LegacyWebArchive.cpp: + (WebCore::LegacyWebArchive::createFromSelection): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::postMessageTimerFired): + * page/PrintContext.cpp: + (WebCore::PrintContext::pageProperty): + (WebCore::PrintContext::pageSizeAndMarginsInPixels): + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::canLoadObject): + * platform/efl/PlatformKeyboardEventEfl.cpp: + (WebCore::createKeyMap): + (WebCore::createWindowsKeyMap): + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::animationNameForTransition): + * platform/graphics/brew/ImageBrew.cpp: + (WebCore::Image::loadPlatformResource): + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/efl/ImageEfl.cpp: + (WebCore::loadResourceSharedBuffer): + * platform/graphics/gtk/ImageBufferGtk.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/haiku/ImageBufferHaiku.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::animationIdentifier): + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::toDataURL): + * platform/graphics/win/WebLayer.cpp: + (WebCore::WebLayer::drawInContext): + * platform/network/CredentialStorage.cpp: + (WebCore::originStringFromURL): + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::setSynchronous): + * platform/text/wince/TextCodecWinCE.cpp: + (WebCore::LanguageManager::LanguageManager): + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::markupToCFHTML): + * platform/win/Language.cpp: + (WebCore::defaultLanguage): + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): + * svg/SVGUseElement.cpp: + (WebCore::dumpInstanceTree): + * websockets/WebSocket.cpp: + (WebCore::WebSocket::connect): + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::appendToBuffer): + * websockets/WebSocketHandshake.cpp: + (WebCore::WebSocketHandshake::readServerHandshake): + +2010-10-14 Xan Lopez <xlopez@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Small cleanup in PluginViewGtk + https://bugs.webkit.org/show_bug.cgi?id=47588 + + Remove some dead code and use PlatformRefPtr for cairo surfaces. + + No new tests, only refactoring. + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::paint): + +2010-10-14 Dawit Alemayehu <adawit@kde.org> + + Reviewed by Andreas Kling. + + Fix compile error when bulding webkit's Qt port using the "--v8" option. + https://bugs.webkit.org/show_bug.cgi?id=47455 + + * platform/qt/PlatformBridge.h: + +2010-10-01 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Holger Freyther. + + [GTK] REGRESSION: FreeType backend does not respect XSettings font settings after r68558 + https://bugs.webkit.org/show_bug.cgi?id=47033 + + Fix logic that merges XSettings defaults and FontConfig settings. If + FontConfig or XSettings specifies a subpixel order, we force subpixel + anti-aliasing on. If anti-aliasing is turned on explicitly, only + override the setting if it was previously off, otherwise we ignore + the user's preference for subpixel or gray antialiasing. + + Test: platform/gtk/fonts/xsettings_antialias_settings.html + + * platform/graphics/cairo/FontPlatformDataFreeType.cpp: + (WebCore::setCairoFontOptionsFromFontConfigPattern): Fix merging of XSettings + and FontConfig anti-aliasing settings. + (WebCore::getDefaultFontOptions): Added this helper. + (WebCore::FontPlatformData::FontPlatformData): Use the getDefaultFontOptions helper. + +2010-10-14 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Support typed arrays in workers + https://bugs.webkit.org/show_bug.cgi?id=47616 + + To support typed arrays in workers, we need to expose constructors in + WorkerContext and add NoStaticTables attribute. + + I also add File API feature guard to the constructors defined in + DOMWindow. + + * bindings/js/JSDOMWindowCustom.cpp: Add File API feature guard to the + constructors defined in DOMWindow. + * html/canvas/ArrayBuffer.idl: Add NoStaticTables attribute. + * html/canvas/ArrayBufferView.idl: Add NoStaticTables attribute. + * html/canvas/Float32Array.idl: Add NoStaticTables attribute. + * html/canvas/Int16Array.idl: Add NoStaticTables attribute. + * html/canvas/Int32Array.idl: Add NoStaticTables attribute. + * html/canvas/Int8Array.idl: Add NoStaticTables attribute. + * html/canvas/Uint16Array.idl: Add NoStaticTables attribute. + * html/canvas/Uint32Array.idl: Add NoStaticTables attribute. + * html/canvas/Uint8Array.idl: Add NoStaticTables attribute. + * page/DOMWindow.idl: Add File API feature guard to the constructors + defined in DOMWindow. + * workers/WorkerContext.idl: Expose type array constructors. + +2010-10-14 Andreas Kling <kling@webkit.org> + + Reviewed by Ariya Hidayat. + + [Qt] Avoid creating empty transparency layers in ImageBuffer::clip() + + We were creating empty layers for sub-1 height/width clips due to + using IntRect(FloatRect) instead of enclosingIntRect(). + This lead to a bunch of QPainter warnings on the console since you + can't draw on an empty QPixmap. + + * platform/graphics/qt/ImageBufferQt.cpp: + (WebCore::ImageBuffer::clip): + +2010-10-14 Holger Hans Peter Freyther <holger@moiji-mobile.com> + + Reviewed by Martin Robinson. + + [cairo] Typo in determining fixed width fonts + https://bugs.webkit.org/show_bug.cgi?id=47470 + + It must be a single ampersand otherwise the + && FT_FACE_FLAG_FIXED_WIDTH will always be true. + + * platform/graphics/cairo/FontPlatformDataFreeType.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2010-10-14 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Failing test LayoutTests/editing/undo/orphaned-selection-crash-bug32823-2.html + https://bugs.webkit.org/show_bug.cgi?id=47666 + + Do a less strict decoding of base64 data url's as it was done + before. The actual problem is most likely + https://bugs.webkit.org/show_bug.cgi?id=47661 tough. + + * platform/network/soup/cache/soup-request-data.c: + (webkit_soup_request_data_send): + +2010-10-14 Renata Hodovan <reni@inf.u-szeged.hu> + + Reviewed by Andreas Kling. + + SVGFEConvolveMatrixElement doesn't support dynamic invalidation, when attributes change. + https://bugs.webkit.org/show_bug.cgi?id=47660 + + The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary. + The patch also implements the simple setOrder and setKernelUnitLength methods. + + Tests: svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html + svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html + + * svg/SVGFEConvolveMatrixElement.cpp: + (WebCore::SVGFEConvolveMatrixElement::setOrder): + (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength): + (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged): + * svg/SVGFEConvolveMatrixElement.h: + +2010-10-14 No'am Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Text breaking is slow: enable ICU as an opt-in + https://bugs.webkit.org/show_bug.cgi?id=40332 + + Added a config flag that enables ICU as an opt-in instead of the Qt specific code. + + No new tests, this should be covered by existing tests. + + * WebCore.pro: + * platform/text/qt/TextBreakIteratorQt.cpp: + (WebCore::currentTextBreakLocaleID): + +2010-10-14 No'am Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Texmap] [Qt] Texture mapper initial implementation + https://bugs.webkit.org/show_bug.cgi?id=47070 + + This patch enables compilation of TextureMapper with Media. It has an initial non-working implementation of a video layer, to be integrated + once other parts of TextureMapper are fully working. + + No new tests: this is new implementation that's not enabled yet. + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::TextureMapperVideoLayerQt::TextureMapperVideoLayerQt): + (WebCore::TextureMapperVideoLayerQt::setPlatformLayerClient): + (WebCore::TextureMapperVideoLayerQt::paint): + (WebCore::TextureMapperVideoLayerQt::size): + (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged): + (WebCore::MediaPlayerPrivateQt::platformLayer): + * platform/graphics/qt/MediaPlayerPrivateQt.h: + (WebCore::MediaPlayerPrivateQt::supportsAcceleratedRendering): + (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged): + (WebCore::MediaPlayerPrivateQt::platformLayer): + +2010-10-14 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + Fixed crashes in the GTK 64bits bot, we have to use NULL instead + of 0 when calling these glib APIs, 0 is compiled as a char and in + 64bits systems it is not correct. + + * platform/network/soup/cache/soup-requester.c: + (webkit_soup_requester_new): + (webkit_soup_requester_request_uri): + +2010-10-14 Daniel Bates <dbates@rim.com> + + Attempt to fix the Qt and GTK builds based on the build bot results from <http://webkit.sed.hu>. + + * rendering/RenderInline.cpp: Include header "RenderTheme.h" + +2010-10-14 Daniel Bates <dbates@rim.com> + + Reviewed by Darin Adler. + + Only draw focus ring in RenderInline and RenderImage if the theme + is not able to draw a focus ring + https://bugs.webkit.org/show_bug.cgi?id=47632 + + Fixes an issue where RenderInline::paintOutline() and RenderImage::paintFocusRings() + would draw a focus ring regardless of whether the port-specific theme is able to + draw a focus ring. Instead, these methods should only draw a focus ring if the + theme is unable to draw a focus ring. + + Also, extracted common focus ring drawing code from RenderObject::paintOutline() + and RenderInline::paintOutline() into RenderObject::paintFocusRing(). + + Tests: fast/forms/textfield-focus-ring.html + fast/images/imagemap-focus-ring.html + fast/inline/inline-focus-ring.html + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintFocusRings): Modified to only draw a focus ring if the + the theme does not draw one. + * rendering/RenderInline.cpp: + (WebCore::RenderInline::paintOutline): Modified to call RenderObject::paintFocusRing(). + * rendering/RenderObject.cpp: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::paintFocusRing): Added. + (WebCore::RenderObject::paintOutline): Modified to call RenderObject::paintFocusRing(). + * rendering/RenderObject.h: + +2010-10-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Move load and dom content event timers into InspectorController. + https://bugs.webkit.org/show_bug.cgi?id=47668 + + * inspector/CodeGeneratorInspector.pm: + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::populateScriptObjects): + (WebCore::InspectorController::mainResourceFiredDOMContentEvent): + (WebCore::InspectorController::mainResourceFiredLoadEvent): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::InspectorResource): + (WebCore::InspectorResource::updateScriptObject): + * inspector/InspectorResource.h: + * inspector/front-end/inspector.js: + (WebInspector.updateResource): + (WebInspector.domContentEventFired): + (WebInspector.loadEventFired): + +2010-10-14 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed. Re-landing r69757. + +2010-10-14 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: implement pausing on window events and timeouts + https://bugs.webkit.org/show_bug.cgi?id=47542 + + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::didInstallTimerImpl): + (WebCore::InspectorInstrumentation::didRemoveTimerImpl): + (WebCore::InspectorInstrumentation::willDispatchEventImpl): + (WebCore::InspectorInstrumentation::didDispatchEventImpl): + (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl): + (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl): + (WebCore::InspectorInstrumentation::willFireTimerImpl): + (WebCore::InspectorInstrumentation::didFireTimerImpl): + (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): + (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent): + * inspector/InspectorInstrumentation.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.EventListenerBreakpoint.prototype.populateLabelElement): + (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement): + (WebInspector.EventListenerBreakpoint.prototype._condition): + (WebInspector.EventListenerBreakpoint.prototype._uiEventName): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate): + +2010-10-14 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Andreas Kling. + + Canvas: "currentColor" should inherit the canvas element's color + https://bugs.webkit.org/show_bug.cgi?id=40273 + + Warning fix after r69755. Missing default cases added. + + * html/canvas/CanvasStyle.cpp: + (WebCore::parseColorOrCurrentColor): + (WebCore::CanvasStyle::createFromString): + (WebCore::CanvasStyle::createFromStringWithOverrideAlpha): + +2010-10-14 Pavel Feldman <pfeldman@chromium.org> + + Not reviewed. Rolling out r69757. + +2010-10-08 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: extract content-related methods into InspectorResourceAgent. + https://bugs.webkit.org/show_bug.cgi?id=47415 + + This is needed for resource-tracking-less operation of resources panel. + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * inspector/InspectorCSSAgent.cpp: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::type): + (WebCore::InspectorResource::sourceString): + (WebCore::InspectorResource::sourceBytes): + * inspector/InspectorResource.h: + * inspector/InspectorResourceAgent.cpp: Added. + (WebCore::InspectorResourceAgent::resourceContent): + (WebCore::InspectorResourceAgent::resourceContentBase64): + (WebCore::InspectorResourceAgent::resourceData): + (WebCore::InspectorResourceAgent::cachedResourceType): + (WebCore::InspectorResourceAgent::cachedResource): + * inspector/InspectorResourceAgent.h: Added. + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheet::resourceStyleSheetText): + * inspector/InspectorUtilities.cpp: Removed. + * inspector/InspectorUtilities.h: Removed. + +2010-10-14 Andreas Kling <kling@webkit.org> + + Reviewed by Darin Adler. + + Canvas: "currentColor" should inherit the canvas element's color + https://bugs.webkit.org/show_bug.cgi?id=40273 + + Add support for "currentColor" in CanvasRenderingContext2D APIs. + If the canvas is in-document, "currentColor" is replaced by canvas.style.color, + otherwise we use fully opaque black. + + For gradient addColorStop(), "currentColor" always means fully opaque black. + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#2dcontext + + Test: fast/canvas/canvas-currentColor.html + + * html/canvas/CanvasGradient.cpp: + (WebCore::CanvasGradient::addColorStop): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setStrokeStyle): + (WebCore::CanvasRenderingContext2D::setFillStyle): + (WebCore::CanvasRenderingContext2D::setShadowColor): + (WebCore::CanvasRenderingContext2D::setShadow): + * html/canvas/CanvasStyle.cpp: + (WebCore::parseColor): + (WebCore::currentColor): + (WebCore::parseColorOrCurrentColor): + (WebCore::CanvasStyle::CanvasStyle): + (WebCore::CanvasStyle::createFromString): + (WebCore::CanvasStyle::createFromStringWithOverrideAlpha): + (WebCore::CanvasStyle::isEquivalentColor): + (WebCore::CanvasStyle::applyStrokeColor): + (WebCore::CanvasStyle::applyFillColor): + * html/canvas/CanvasStyle.h: + (WebCore::CanvasStyle::isCurrentColor): + (WebCore::CanvasStyle::hasOverrideAlpha): + (WebCore::CanvasStyle::overrideAlpha): + +2010-10-08 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [REGRESSION] Scripts panel: the bubble shows wrong values + https://bugs.webkit.org/show_bug.cgi?id=47358 + + Test: inspector/debugger-eval-on-call-frame.html + + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor.): don't embrace expression evaluated in the local scope + of a call frame into with(window) to avoid shadowing local variables by global ones. + +2010-10-13 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Implement getParameter from the URL API + https://bugs.webkit.org/show_bug.cgi?id=46610 + + Another API from + https://docs.google.com/document/edit?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en# + getParameter lets a web site easily read the value of a URL parameter. + This API is for the simple case of a non-repeated parameter name. + getParameterAll will handle repeated parameter names in a future patch. + + Tests: fast/dom/anchor-getParameter.html + http/tests/misc/location-getParameter.html + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::getParameter): + * html/HTMLAnchorElement.h: + * html/HTMLAnchorElement.idl: + * page/Location.cpp: + (WebCore::Location::getParameter): + * page/Location.h: + * page/Location.idl: + * platform/KURL.cpp: + (WebCore::KURL::copyParsedQueryTo): + * platform/KURLGoogle.cpp: + (WebCore::KURL::copyParsedQueryTo): + * platform/KURL.h: + +2010-10-14 Alejandro G. Castro <alex@igalia.com> + + Unreviewed. GTK build fix. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::sendRequestCallback): + +2010-10-14 Adrienne Walker <enne@google.com> + + Reviewed by James Robinson. + + Add a short-term solution for large layers. Layers that are too + large to be contained in a single texture just upload the portion of + the layer that is within the content rect. A longer-term solution + is still tiling with proper memory management. Layers that have full + 3D transforms (more than just translations) are still not drawn. + https://bugs.webkit.org/show_bug.cgi?id=47016 + + Test: compositing/tiling + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::ContentLayerChromium): + (WebCore::ContentLayerChromium::requiresClippedUpdateRect): + (WebCore::ContentLayerChromium::calculateClippedUpdateRect): + (WebCore::ContentLayerChromium::updateContents): + (WebCore::ContentLayerChromium::updateTextureRect): + (WebCore::ContentLayerChromium::draw): + * platform/graphics/chromium/ContentLayerChromium.h: + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContents): + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayers): + * platform/graphics/chromium/LayerRendererChromium.h: + (WebCore::LayerRendererChromium::rootLayerContentRect): + +2010-10-14 Chris Rogers <crogers@google.com> + + Reviewed by Chris Fleizach. + + Add DelayDSPKernel files + https://bugs.webkit.org/show_bug.cgi?id=47518 + + No new tests since audio API is not yet implemented. + + * webaudio/DelayDSPKernel.cpp: Added. + (WebCore::DelayDSPKernel::DelayDSPKernel): + (WebCore::DelayDSPKernel::process): + (WebCore::DelayDSPKernel::reset): + * webaudio/DelayDSPKernel.h: Added. + (WebCore::DelayDSPKernel::maxDelayTime): + (WebCore::DelayDSPKernel::setDelayFrames): + (WebCore::DelayDSPKernel::delayProcessor): + +2010-10-13 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + WebKitGtk+ to use the new API from the imported SoupURILoader code + + [GTK] Add HTTP caching support + https://bugs.webkit.org/show_bug.cgi?id=44261 + + ResourceHandleSoup now does everything via SoupURILoader. This means + that all URLs are handled via the same code path, where WebCore simply + asks libsoup for a WebKitSoupRequest and the request returns an input + stream. Many of ResourceHandleSoup's data members are now PlatformRefPtr + as well, to simplify reference counting + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandleInternal::~ResourceHandleInternal): + (WebCore::ResourceHandle::~ResourceHandle): + (WebCore::restartedCallback): + (WebCore::gotChunkCallback): + (WebCore::parseDataUrl): + (WebCore::cleanupSoupRequestOperation): + (WebCore::sendRequestCallback): + (WebCore::startHttp): + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::cancel): + (WebCore::closeCallback): + (WebCore::readCallback): + (WebCore::startGio): + * platform/network/soup/ResourceRequest.h: + * platform/network/soup/ResourceRequestSoup.cpp: + (WebCore::ResourceRequest::updateSoupMessage): + +2010-10-12 Abhishek Arya <inferno@chromium.org> + + Reviewed by Darin Adler. + + Prevent block logical height of a root inline box from overflowing by clamping it + at INT_MAX. Otherwise, we will not be able to properly dirty the set of lines during + removal a floating object. + https://bugs.webkit.org/show_bug.cgi?id=45611 + + Test: fast/overflow/overflow-block-logical-height-crash.html + + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::alignBoxesInBlockDirection): + +2010-10-13 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Adler. + + Throw INDEX_SIZE_ERR exception if createRadialGradient is called with a negative radius + Canvas: radialGradient with negative radius should throw exception + https://bugs.webkit.org/show_bug.cgi?id=37176 + + This matches the canvas 2d specification, Opera, IE9 beta and our behavior for arc() + and arcTo(). Also fixes some PassRefPtr/RefPtr errors in this file. + + Test: canvas/philip/tests/2d.gradient.radial.negative.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::createLinearGradient): + (WebCore::CanvasRenderingContext2D::createRadialGradient): + (WebCore::createEmptyImageData): + (WebCore::CanvasRenderingContext2D::measureText): + +2010-10-13 Fridrich Strba <fridrich.strba@bluewin.ch> + + Reviewed by Darin Adler. + + Add WebCore/plugins/win directory to CFLAGS + https://bugs.webkit.org/show_bug.cgi?id=45547 + + * GNUmakefile.am: + +2010-10-13 Martin Robinson <mrobinson@igalia.com> + + Build fix for older versions of libsoup. + + * platform/network/soup/cache/soup-request-file.c: + (webkit_soup_request_file_ensure_file): Access the path member of the SoupURI directly. + +2010-10-13 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Add TextBoundaries and TextBreakIterator + https://bugs.webkit.org/show_bug.cgi?id=46105 + + Copy the implementation of WinCE port. + + * platform/text/brew/TextBoundariesBrew.cpp: Added. + (WebCore::findNextWordFromIndex): + (WebCore::findWordBoundary): + * platform/text/brew/TextBreakIteratorBrew.cpp: Added. + (WebCore::isCharStop): + (WebCore::isLineStop): + (WebCore::isSentenceStop): + (WebCore::TextBreakIterator::reset): + (WebCore::TextBreakIterator::following): + (WebCore::TextBreakIterator::preceding): + (WebCore::WordBreakIterator::first): + (WebCore::WordBreakIterator::next): + (WebCore::WordBreakIterator::previous): + (WebCore::CharBreakIterator::first): + (WebCore::CharBreakIterator::next): + (WebCore::CharBreakIterator::previous): + (WebCore::LineBreakIterator::first): + (WebCore::LineBreakIterator::next): + (WebCore::LineBreakIterator::previous): + (WebCore::SentenceBreakIterator::first): + (WebCore::SentenceBreakIterator::next): + (WebCore::SentenceBreakIterator::previous): + (WebCore::wordBreakIterator): + (WebCore::characterBreakIterator): + (WebCore::lineBreakIterator): + (WebCore::sentenceBreakIterator): + (WebCore::textBreakFirst): + (WebCore::textBreakNext): + (WebCore::textBreakPreceding): + (WebCore::textBreakFollowing): + (WebCore::textBreakCurrent): + (WebCore::isTextBreak): + (WebCore::cursorMovementIterator): + +2010-10-13 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + IndexedDB should fire some errors synchronously + https://bugs.webkit.org/show_bug.cgi?id=47530 + + Add dumb plumbing to pass around exception codes. + Utilize that plumbing in the backend to fire some + errors synchronously. + Verify that create/remove* functions are only called + in setVersionTransactions (and raise when not). + Remove plumbing for obsolete IDBDatabase.objectStore + Remove obsolete mode param. + + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::update): + (WebCore::IDBCursor::continueFunction): + (WebCore::IDBCursor::remove): + * storage/IDBCursor.h: + (WebCore::IDBCursor::continueFunction): + * storage/IDBCursor.idl: + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::update): + (WebCore::IDBCursorBackendImpl::continueFunction): + (WebCore::IDBCursorBackendImpl::remove): + * storage/IDBCursorBackendImpl.h: + * storage/IDBCursorBackendInterface.h: + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::IDBDatabase): + (WebCore::IDBDatabase::createObjectStore): + (WebCore::IDBDatabase::removeObjectStore): + (WebCore::IDBDatabase::setVersion): + (WebCore::IDBDatabase::transaction): + * storage/IDBDatabase.h: + (WebCore::IDBDatabase::createObjectStore): + (WebCore::IDBDatabase::transaction): + * storage/IDBDatabase.idl: + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::createObjectStore): + (WebCore::IDBDatabaseBackendImpl::objectStore): + (WebCore::IDBDatabaseBackendImpl::removeObjectStore): + (WebCore::IDBDatabaseBackendImpl::setVersion): + (WebCore::IDBDatabaseBackendImpl::transaction): + * storage/IDBDatabaseBackendImpl.h: + * storage/IDBDatabaseBackendInterface.h: + * storage/IDBFactory.cpp: + (WebCore::IDBFactory::open): + * storage/IDBFactory.h: + (WebCore::IDBFactory::open): + * storage/IDBFactory.idl: + * storage/IDBIndex.cpp: + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::openKeyCursor): + (WebCore::IDBIndex::get): + (WebCore::IDBIndex::getKey): + * storage/IDBIndex.h: + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::openKeyCursor): + * storage/IDBIndex.idl: + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::openCursor): + (WebCore::IDBIndexBackendImpl::openKeyCursor): + (WebCore::IDBIndexBackendImpl::get): + (WebCore::IDBIndexBackendImpl::getKey): + * storage/IDBIndexBackendImpl.h: + * storage/IDBIndexBackendInterface.h: + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::get): + (WebCore::IDBObjectStore::add): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::remove): + (WebCore::IDBObjectStore::createIndex): + (WebCore::IDBObjectStore::index): + (WebCore::IDBObjectStore::removeIndex): + (WebCore::IDBObjectStore::openCursor): + * storage/IDBObjectStore.h: + (WebCore::IDBObjectStore::add): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::createIndex): + (WebCore::IDBObjectStore::openCursor): + * storage/IDBObjectStore.idl: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::get): + (WebCore::IDBObjectStoreBackendImpl::put): + (WebCore::IDBObjectStoreBackendImpl::remove): + (WebCore::IDBObjectStoreBackendImpl::createIndex): + (WebCore::IDBObjectStoreBackendImpl::index): + (WebCore::IDBObjectStoreBackendImpl::removeIndex): + (WebCore::IDBObjectStoreBackendImpl::openCursor): + * storage/IDBObjectStoreBackendImpl.h: + (WebCore::IDBObjectStoreBackendImpl::name): + (WebCore::IDBObjectStoreBackendImpl::keyPath): + (WebCore::IDBObjectStoreBackendImpl::autoIncrement): + * storage/IDBObjectStoreBackendInterface.h: + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::objectStore): + * storage/IDBTransaction.h: + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::objectStore): + +2010-10-13 Sergio Villar Senin <svillar@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Add HTTP caching support + https://bugs.webkit.org/show_bug.cgi?id=44261 + + This patch adds HTTP caching support to libsoup networking backend. + This code will eventually be part of libsoup, but has been temporarily + imported into the WebCore tree for testing purposes. All libsoup code + is located in WebCore/platform/network/soup/cache. The webkit prefix + was added to all the symbols to prevent problems when this lands in + libsoup. Some external API was also added under webkit/ directory and + will be used by library clients to enable HTTP caching. + + There are two parts to this imported code, the first one is the code + under WebCore/platform/network/soup/cache/ that contains all the + SoupURILoader code that supports the development of the cache. The + second part is the HTTP cache implementation located in + WebCore/platform/network/soup/cache/webkit/. + + * GNUmakefile.am: + * platform/network/soup/cache/soup-directory-input-stream.c: Added. + (webkit_soup_directory_input_stream_parse_info): + (webkit_soup_directory_input_stream_read_next_file): + (webkit_soup_directory_input_stream_read): + (webkit_soup_directory_input_stream_close): + (webkit_soup_directory_input_stream_class_init): + (webkit_soup_directory_input_stream_init): + (webkit_soup_directory_input_stream_new): + * platform/network/soup/cache/soup-directory-input-stream.h: Added. + * platform/network/soup/cache/soup-http-input-stream.c: Added. + (webkit_soup_http_input_stream_finalize): + (webkit_soup_http_input_stream_class_init): + (webkit_soup_http_input_stream_seekable_iface_init): + (webkit_soup_http_input_stream_init): + (webkit_soup_http_input_stream_queue_message): + (webkit_soup_http_input_stream_new): + (webkit_soup_http_input_stream_got_headers): + (webkit_soup_http_input_stream_got_chunk): + (webkit_soup_http_input_stream_finished): + (webkit_soup_http_input_stream_cancelled): + (webkit_soup_http_input_stream_prepare_for_io): + (webkit_soup_http_input_stream_done_io): + (set_error_if_http_failed): + (read_from_leftover): + (webkit_soup_http_input_stream_send_internal): + (send_sync_finished): + (webkit_soup_http_input_stream_send): + (webkit_soup_http_input_stream_read): + (webkit_soup_http_input_stream_close): + (wrapper_callback): + (send_async_thread): + (webkit_soup_http_input_stream_send_async_in_thread): + (send_async_finished): + (webkit_soup_http_input_stream_send_async_internal): + (webkit_soup_http_input_stream_send_async): + (webkit_soup_http_input_stream_send_finish): + (read_async_done): + (webkit_soup_http_input_stream_read_async): + (webkit_soup_http_input_stream_read_finish): + (webkit_soup_http_input_stream_close_async): + (webkit_soup_http_input_stream_close_finish): + (webkit_soup_http_input_stream_tell): + (webkit_soup_http_input_stream_can_seek): + (webkit_soup_http_input_stream_seek): + (webkit_soup_http_input_stream_can_truncate): + (webkit_soup_http_input_stream_truncate): + (webkit_soup_http_input_stream_get_message): + * platform/network/soup/cache/soup-http-input-stream.h: Added. + * platform/network/soup/cache/soup-request-data.c: Added. + (webkit_soup_request_data_init): + (webkit_soup_request_data_finalize): + (webkit_soup_request_data_check_uri): + (uri_decoded_copy): + (webkit_soup_request_data_send): + (webkit_soup_request_data_get_content_length): + (webkit_soup_request_data_get_content_type): + (webkit_soup_request_data_class_init): + * platform/network/soup/cache/soup-request-data.h: Added. + * platform/network/soup/cache/soup-request-file.c: Added. + (webkit_soup_request_file_get_file): + (webkit_soup_request_file_init): + (webkit_soup_request_file_finalize): + (webkit_soup_request_file_check_uri): + (webkit_soup_request_file_ftp_main_loop_quit): + (webkit_soup_request_file_ensure_file_ftp): + (webkit_soup_request_file_ensure_file): + (webkit_soup_request_file_send): + (webkit_soup_request_file_send_async_thread): + (webkit_soup_request_file_send_async): + (webkit_soup_request_file_send_finish): + (webkit_soup_request_file_get_content_length): + (webkit_soup_request_file_get_content_type): + (webkit_soup_request_file_class_init): + * platform/network/soup/cache/soup-request-file.h: Added. + * platform/network/soup/cache/soup-request-http.c: Added. + (webkit_soup_request_http_get_message): + (webkit_soup_request_http_init): + (webkit_soup_request_http_check_uri): + (webkit_soup_request_http_finalize): + (webkit_soup_request_http_send): + (sent_async): + (conditional_get_ready_cb): + (send_async_cb): + (webkit_soup_request_http_send_async): + (webkit_soup_request_http_send_finish): + (webkit_soup_request_http_get_content_length): + (webkit_soup_request_http_get_content_type): + (webkit_soup_request_http_class_init): + * platform/network/soup/cache/soup-request-http.h: Added. + * platform/network/soup/cache/soup-request.c: Added. + (webkit_soup_request_init): + (webkit_soup_request_finalize): + (webkit_soup_request_set_property): + (webkit_soup_request_get_property): + (webkit_soup_request_initable_init): + (webkit_soup_request_default_check_uri): + (webkit_soup_request_default_send_async): + (webkit_soup_request_default_send_finish): + (webkit_soup_request_send): + (webkit_soup_request_send_async): + (webkit_soup_request_send_finish): + (webkit_soup_request_class_init): + (webkit_soup_request_initable_interface_init): + (webkit_soup_request_get_uri): + (webkit_soup_request_get_session): + (webkit_soup_request_get_content_length): + (webkit_soup_request_get_content_type): + * platform/network/soup/cache/soup-request.h: Added. + * platform/network/soup/cache/soup-requester.c: Added. + (webkit_soup_requester_init): + (finalize): + (webkit_soup_requester_class_init): + (init_request_types): + (webkit_soup_requester_new): + (webkit_soup_requester_request): + (webkit_soup_requester_request_uri): + (webkit_soup_scheme_is_valid): + (webkit_soup_requester_add_protocol): + (webkit_soup_requester_remove_protocol): + (webkit_soup_error_quark): + * platform/network/soup/cache/soup-requester.h: Added. + * platform/network/soup/cache/webkit/soup-cache-private.h: Added. + * platform/network/soup/cache/webkit/soup-cache.c: Added. + (get_cacheability): + (webkit_soup_cache_entry_free): + (copy_headers): + (update_headers): + (webkit_soup_cache_entry_get_current_age): + (webkit_soup_cache_entry_is_fresh_enough): + (webkit_soup_message_get_cache_key): + (webkit_soup_cache_entry_set_freshness): + (webkit_soup_cache_entry_new): + (webkit_soup_cache_writing_fixture_free): + (close_ready_cb): + (write_ready_cb): + (msg_got_chunk_cb): + (msg_got_body_cb): + (webkit_soup_cache_entry_delete): + (lru_compare_func): + (cache_accepts_entries_of_size): + (make_room_for_new_entry): + (webkit_soup_cache_entry_insert_by_key): + (msg_restarted_cb): + (append_to_ready_cb): + (msg_got_headers_cb): + (webkit_soup_cache_send_response): + (request_started): + (attach): + (webkit_soup_cache_session_feature_init): + (webkit_soup_cache_init): + (webkit_soup_cache_finalize): + (webkit_soup_cache_set_property): + (webkit_soup_cache_get_property): + (webkit_soup_cache_constructed): + (webkit_soup_cache_type_get_type): + (webkit_soup_cache_class_init): + (webkit_soup_cache_new): + (webkit_soup_cache_has_response): + (webkit_soup_cache_get_cacheability): + (force_flush_timeout): + (webkit_soup_cache_flush): + (remove_cache_item): + (webkit_soup_cache_clear): + (webkit_soup_cache_generate_conditional_request): + (pack_entry): + (webkit_soup_cache_dump): + (webkit_soup_cache_load): + (webkit_soup_cache_set_max_size): + (webkit_soup_cache_get_max_size): + * platform/network/soup/cache/webkit/soup-cache.h: Added. + +2010-10-13 Gavin Barraclough <barraclough@apple.com> + + Chromium build fix. + + * bindings/v8/ScriptProfiler.cpp: + +2010-10-13 Chris Evans <cevans@google.com> + + Reviewed by Jian Li. + + Blob / BlobBuilder can be put into bad state with wild integers and strings, due to integer overflows + https://bugs.webkit.org/show_bug.cgi?id=47382 + + Fix integer overflow errors in Blob.slice and BlobBuilder.append. + + Test: fast/files/blob-slice-overflow.html + + * fileapi/Blob.cpp: + (WebCore::Blob::slice): handle integer overflow properly. + * fileapi/BlobBuilder.cpp: + (WebCore::BlobBuilder::append): use correct type for vector length. + +2010-10-13 Gavin Barraclough <barraclough@apple.com> + + Build fix - remove some redundant references to ScriptString. + + * WebCore.gypi: + * WebCore.pro: + * bindings/v8/ScriptProfiler.cpp: + +2010-10-13 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 47621 - Remove bindings/v8/ScriptString + This is now redundant. + + * bindings/v8/ScriptCallFrame.h: + (WebCore::ScriptCallFrame::functionName): + * bindings/v8/ScriptFunctionCall.cpp: + * bindings/v8/ScriptFunctionCall.h: + * bindings/v8/ScriptString.h: Removed. + * bindings/v8/ScriptStringImpl.cpp: Removed. + * bindings/v8/ScriptStringImpl.h: Removed. + +2010-10-13 Anders Carlsson <andersca@apple.com> + + Reviewed by John Sullivan. + + Draw the find overlay holes + https://bugs.webkit.org/show_bug.cgi?id=47631 + + Export symbols needed by WebKit2. + + * WebCore.exp.in: + +2010-10-13 James Simonsen <simonjam@chromium.org> + + Reviewed by Darin Adler. + + Implement onreadystatechange event handler for Documents + https://bugs.webkit.org/show_bug.cgi?id=26140 + + Test: fast/dom/Document/readystate.html + + * dom/Document.cpp: + (WebCore::Document::setReadyState): Fire readystatechangeevent. + (WebCore::Document::open): Clear event listeners. + * dom/Document.h: Add readystatechange event. + * dom/Document.idl: Ditto. + +2010-10-13 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: accessibilityIsIgnored not respected on ARIA tables + https://bugs.webkit.org/show_bug.cgi?id=47564 + + For platforms that ignore column headers and header container objects (everything + except Mac) on accessibility tables, that choice needs to be respected in + ARIA tables as well. + + GTK is the only open platform doing this, so I'll have to collect the result of this + test. It was copied from table-hierarchy.html, but changed to use ARIA tables. + + Test: platform/gtk/accessibility/aria-table-hierarchy.html + + * accessibility/AccessibilityARIAGrid.cpp: + (WebCore::AccessibilityARIAGrid::addChildren): + +2010-10-13 Victoria Kirst <vrk@google.com> + + Reviewed by James Robinson. + + No longer ASSERT for LayerRenderer in VideoLayerChromium destructor + https://bugs.webkit.org/show_bug.cgi?id=47432 + + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::cleanupResources): + +2010-10-13 Leandro Pereira <leandro@profusion.mobi> + + [EFL] Unreviewed. Build fix. + + * CMakeLists.txt: Add ContextShadow.cpp. + * CMakeListsEfl.txt: Add ContextShadowCairo.cpp. + +2010-10-13 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Holger Freyther. + + [GTK] r69681 caused some tests to crash + https://bugs.webkit.org/show_bug.cgi?id=47622 + + Properly initialize m_layerContext on the ContextShadow so that in situations + where beginShadowLayer bails out early with a null return value, it is set + to null. This may happen when the first call to beginShadowLayer on a particular + ContextShadow uses a region which is entirely outside the clip region or which + is empty. + + * platform/graphics/cairo/ContextShadow.cpp: + (WebCore::ContextShadow::ContextShadow): Properly initialize m_layerContext. + +2010-10-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Beth Dakin. + + Don't set the fill/stroke colorspace before filling/stroking + https://bugs.webkit.org/show_bug.cgi?id=47619 + + Setting the colorspace has the side-effect of setting the color to black, which is + not what we want. When fill/stroke is called, a fill/stroke color should already have been set. + + Pixel tests show no regressions from this change. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::strokeRect): + +2010-10-13 Brent Fulgham <bfulgham@webkit.org> + + Unreviewed WinCairo build fix. + New ContextShadow class not built for Windows builds. + + * WebCore.vcproj/WebCore.vcproj: Add missing files for + building ContextShadow on WinCairo. + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + Add missing include for ContextShadow definition. + +2010-10-13 Gavin Barraclough <barraclough@apple.com> + + Chromium build fix pt1. + + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::responseTextAccessorGetter): + +2010-10-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Send over find indicator information to the UI process + https://bugs.webkit.org/show_bug.cgi?id=47612 + + Export symbols needed by WebKit2. + + * WebCore.exp.in: + +2010-10-13 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=43987 + Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder + to construct their internal result string. Remove ScriptString (this is now + redundant). + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMBinding.cpp: + (WebCore::jsOwnedStringOrNull): + * bindings/js/JSDOMBinding.h: + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::responseText): + * bindings/js/ScriptCallFrame.cpp: + (WebCore::ScriptCallFrame::ScriptCallFrame): + * bindings/js/ScriptCallFrame.h: + (WebCore::ScriptCallFrame::functionName): + * bindings/js/ScriptCallStack.h: + * bindings/js/ScriptFunctionCall.cpp: + * bindings/js/ScriptFunctionCall.h: + * bindings/js/ScriptString.h: Removed. + * dom/ScriptExecutionContext.h: + * fileapi/FileReader.cpp: + (WebCore::FileReader::FileReader): + (WebCore::FileReader::abort): + (WebCore::FileReader::didReceiveData): + (WebCore::FileReader::result): + (WebCore::FileReader::convertToText): + (WebCore::FileReader::convertToDataURL): + * fileapi/FileReader.h: + * fileapi/FileReaderSync.cpp: + (WebCore::FileReaderSyncLoader::FileReaderSyncLoader): + (WebCore::FileReaderSyncLoader::didReceiveData): + (WebCore::FileReaderSync::readAsBinaryString): + (WebCore::FileReaderSync::readAsText): + (WebCore::FileReaderSync::readAsDataURL): + (WebCore::FileReaderSync::read): + (WebCore::FileReaderSync::convertToText): + * fileapi/FileReaderSync.h: + (WebCore::FileReaderSync::readAsText): + (WebCore::FileReaderSync::FileReaderSync): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): + (WebCore::InspectorController::scriptImported): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::setOverrideContent): + * inspector/InspectorResource.h: + * loader/FrameLoader.cpp: + * loader/FrameLoader.h: + * loader/FrameLoaderClient.h: + * loader/ResourceLoadNotifier.h: + * workers/WorkerScriptLoader.h: + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::responseText): + (WebCore::XMLHttpRequest::responseXML): + (WebCore::XMLHttpRequest::abort): + (WebCore::XMLHttpRequest::clearResponse): + (WebCore::XMLHttpRequest::dropProtection): + (WebCore::XMLHttpRequest::didFinishLoading): + (WebCore::XMLHttpRequest::didReceiveData): + * xml/XMLHttpRequest.h: + +2010-10-13 Gavin Barraclough <barraclough@apple.com> + + Reviewed by Oliver Hunt. + + Bug 43987 - Downloading using XHR is much slower than before + + * svg/SVGPathStringBuilder.cpp: + (WebCore::SVGPathStringBuilder::result): + StringBuilder::size() -> StringBuilder::length(). + +2010-10-13 Yong Li <yoli@rim.com> + + Reviewed by Oliver Hunt. + + Fix potential misaligned memory access in CloneDeserializer::readLittleEndian and readString + that can result crash on ARM (<v6). + https://bugs.webkit.org/show_bug.cgi?id=47594 + + No new test added, because the crash can be produced by existing tests like: + LayoutTests/fast/events/message-channel-gc-4.html + + * bindings/js/SerializedScriptValue.cpp: + (WebCore::CloneDeserializer::readLittleEndian): + (WebCore::CloneDeserializer::readString): + +2010-10-06 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Dirk Schulze. + + [Cairo] Activate ContextShadow in all places where shadows are drawn + https://bugs.webkit.org/show_bug.cgi?id=46475 + + Turn on ContextShadow for the Cairo port and remove all old shadow code. + Shadow tiling optimizations will be added in a followup patch to ContextShadowCairo. + + * platform/graphics/GraphicsContext.h: Add a ContextShadow forward declaration for Cairo. + * platform/graphics/cairo/FontCairo.cpp: Switch to using ContextShadow. + (WebCore::prepareContextForGlyphDrawing): Added this helper which sets up the translation + on the specified cairo_t to prepare for drawing glyphs. + (WebCore::drawGlyphsToContext): Added this helper which draws the glyphs to a cairo_t, + while properly handling glyphs with synthetic bold. + (WebCore::Font::drawGlyphs): Removed old shadow code and replaced it with ContextShadow usage. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawPathShadow): Modified this to use ContextShadow and to take an enum + argument specifying whether to fill or stroke the solid figure for the shadow. + (WebCore::fillCurrentCairoPath): Updated drawPathShadow call. + (WebCore::strokeCurrentCairoPath): Ditto. + (WebCore::GraphicsContext::savePlatformState): Save the ContextShadow. + (WebCore::GraphicsContext::restorePlatformState): Restore the ContextShadow. + (WebCore::GraphicsContext::drawPath): Updated drawPathShadow call. + (WebCore::GraphicsContext::fillRect): Uses ContextShadow now. + (WebCore::GraphicsContext::setPlatformShadow): Uses ContextShadow now. + (WebCore::GraphicsContext::contextShadow): Added. + (WebCore::GraphicsContext::clearPlatformShadow): Clears the ContextShadow member. + (WebCore::GraphicsContext::fillRoundedRect): Updated drawPathShadow call. + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: + (WebCore::GraphicsContextPlatformPrivate::hasShadow): Added. + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::draw): Updated to use ContextShadow. + +2010-10-13 John Knottenbelt <jknotten@chromium.org> + + Reviewed by Steve Block. + + First step towards client-based Geolocation in Chromium. Build + fixes for CLIENT_BASED_GEOLOCATION preprocessor feature define. + https://bugs.webkit.org/show_bug.cgi?id=47586 + + * WebCore.gyp/WebCore.gyp: + * platform/chromium/ChromiumBridge.h: + * platform/chromium/GeolocationServiceChromium.cpp: + +2010-10-13 Steve Block <steveblock@google.com> + + Unreviewed fix + + Need to check for the existence of DeviceOrientation and DeviceMotion controllers + + These features can be disabled at run time, so an enable guard is not sufficient. + This bug was introduced in http://trac.webkit.org/changeset/69646 + + Tested with existing tests. + + * history/PageCache.cpp: + (WebCore::logCanCachePageDecision): + (WebCore::PageCache::canCache): + +2010-10-13 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: stack information is inconsistent between console.trace and runtime errors. + https://bugs.webkit.org/show_bug.cgi?id=47252 + + * console.trace() is now formatted the same way as other stack traces + + * If there is //@ sourceURL=url line at the end of eval'ed script source + the url will be shown in the stack traces for script. That is why ScriptCallFrame::sourceURL + type has changed from KURL to String. + + Tests: inspector/console-trace-in-eval.html + inspector/console-uncaught-exception-in-eval.html + + * bindings/js/ScriptCallFrame.cpp: + (WebCore::ScriptCallFrame::ScriptCallFrame): + * bindings/js/ScriptCallFrame.h: + (WebCore::ScriptCallFrame::sourceURL): + * bindings/v8/ScriptCallFrame.cpp: + (WebCore::ScriptCallFrame::ScriptCallFrame): + * bindings/v8/ScriptCallFrame.h: + (WebCore::ScriptCallFrame::sourceURL): + * bindings/v8/ScriptCallStack.cpp: + (WebCore::getFrameLocation): + (WebCore::ScriptCallStack::create): + * bindings/v8/ScriptCallStack.h: + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions): + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::traceCallback): + * inspector/ConsoleMessage.cpp: + (WebCore::ConsoleMessage::CallFrame::buildInspectorObject): + (WebCore::ConsoleMessage::ConsoleMessage): + * inspector/ConsoleMessage.h: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleMessage.prototype._formatMessage): + * page/Console.cpp: + (WebCore::Console::addMessage): + (WebCore::Console::count): + (WebCore::Console::timeEnd): + +2010-10-13 Kent Tamura <tkent@chromium.org> + + Unreviewed, a trivial change. + + Run sort-Xcode-project-file. + + * WebCore.xcodeproj/project.pbxproj: + +2010-10-13 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Andreas Kling. + + Wrong ASSERT when select element has size 0 + https://bugs.webkit.org/show_bug.cgi?id=47567 + + Keep the ASSERT only if the size of the element list is more than 0 + Test: fast/dom/HTMLSelectElement/click-size-zero-no-crash.html + + * dom/SelectElement.cpp: + (WebCore::SelectElement::updateListBoxSelection): + (WebCore::SelectElement::listBoxDefaultEventHandler): + +2010-10-13 Steve Block <steveblock@google.com> + + Reviewed by Alexey Proskuryakov. + + Pages using DeviceOrientation and DeviceMotion should not go into the page cache + https://bugs.webkit.org/show_bug.cgi?id=47408 + + Tests: fast/dom/DeviceMotion/no-page-cache.html + fast/dom/DeviceOrientation/no-page-cache.html + + * dom/DeviceMotionController.h: + (WebCore::DeviceMotionController::isActive): + * dom/DeviceOrientationController.h: + (WebCore::DeviceOrientationController::isActive): + * history/PageCache.cpp: + (WebCore::logCanCachePageDecision): + (WebCore::PageCache::canCache): + * page/Page.cpp: + +2010-10-13 Jenn Braithwaite <jennb@chromium.org> + + Reviewed by Dmitry Titov. + + Make resource identifiers unique across pages + https://bugs.webkit.org/show_bug.cgi?id=47002 + + Test: http/tests/misc/iframe-reparenting-id-collision.html + + * loader/ProgressTracker.cpp: + (WebCore::ProgressTracker::ProgressTracker): + (WebCore::ProgressTracker::createUniqueIdentifier): + * loader/ProgressTracker.h: + +2010-10-12 Roland Steiner <rolandsteiner@chromium.org> + + Reviewed by David Hyatt. + + Bug 41040 - :before/:after content should not become part of a ruby base + https://bugs.webkit.org/show_bug.cgi?id=41040 + + Also related to: + https://bugs.webkit.org/show_bug.cgi?id=40895. + https://bugs.webkit.org/show_bug.cgi?id=43722. + + Explicitly handle :before and :after content in the default way. + + Test: fast/ruby/ruby-beforeafter.html + fast/ruby/after-doesnt-crash.html + + * rendering/RenderObject.h: + (WebCore::RenderObject::isBeforeContent): + * rendering/RenderRuby.cpp: + (WebCore::lastRubyRun): + (WebCore::RenderRubyAsInline::addChild): + (WebCore::RenderRubyAsInline::removeChild): + (WebCore::RenderRubyAsBlock::addChild): + (WebCore::RenderRubyAsBlock::removeChild): + +2010-10-12 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r69639. + http://trac.webkit.org/changeset/69639 + https://bugs.webkit.org/show_bug.cgi?id=47575 + + "regressed nav-element.html" (Requested by rniwa on #webkit). + + * editing/ApplyBlockElementCommand.cpp: + (WebCore::ApplyBlockElementCommand::formatSelection): + * editing/EditorCommand.cpp: + (WebCore::executeFormatBlock): + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::formatRange): + * editing/FormatBlockCommand.h: + (WebCore::FormatBlockCommand::editingAction): + * editing/VisiblePosition.cpp: + (WebCore::enclosingBlockFlowElement): + * editing/VisiblePosition.h: + * editing/htmlediting.cpp: + (WebCore::validBlockTag): + * editing/htmlediting.h: + +2010-10-12 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + execCommand FormatBlock creates lots of blockquotes + https://bugs.webkit.org/show_bug.cgi?id=19795 + + The bug was caused by WebKit's not reusing the block node added by previous iteration + and its inserting block node at wrong places. + + Fixed the bug by rewriting FormatBlockCommand::formatRange. New code resembles that of + IndentOutdentCommand::indentIntoBlockquote. The difference between two is that formatRange + avoids the existing block elements when replacing blocks and it also adds a placeholder + when removing the existing block caused paragraphs to collapse. + + Tests: editing/execCommand/format-block-multiple-paragraphs.html + editing/execCommand/format-block-table.html + + * editing/EditorCommand.cpp: + (WebCore::executeFormatBlock): + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::formatRange): Rewritten; see above. + (WebCore::FormatBlockCommand::isElementToApplyInFormatBlockCommand): Renamed from validBlockElement + and moved from htmlediting.cpp. + (WebCore::FormatBlockCommand::enclosingBlockToSplitTreeTo): Added. + * editing/FormatBlockCommand.h: + * editing/VisiblePosition.cpp: + (WebCore::enclosingBlockFlowElement): Changed the return type to Element* + * editing/VisiblePosition.h: + +2010-10-11 Girish Ramakrishnan <girish@forwardbias.in> + + Reviewed by Anders Carlsson. + + Make PluginView inherit from PluginViewBase. + + This change is a precursor to adding accelerated compositing support + for NPAPI plugins. + + https://bugs.webkit.org/show_bug.cgi?id=47418 + + * page/Page.cpp: + (WebCore::Page::privateBrowsingStateChanged): + * plugins/PluginView.h: + * plugins/PluginViewBase.h: + (WebCore::PluginViewBase::PluginViewBase): + +2010-10-12 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Jian Li. + + Pass platform path (rather than virtual path) when creating File from FileEntry + https://bugs.webkit.org/show_bug.cgi?id=47563 + + No new tests, the new test for FileWriter will be verifying this. + + * fileapi/FileEntry.cpp: + (WebCore::FileEntry::file): + +2010-10-12 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein + + <rdar://problem/8488444> REGRESSION (r67771) + https://bugs.webkit.org/show_bug.cgi?id=47434 + Crash when printing in RenderBlock::markDescendantBlocksAndLinesForLayout + + Added printing/simultaneous-position-float-change.html + + Remove the markDescendantBlocksAndLinesForLayout method since it can walk m_floatingObjects lists with deleted + objects in them. Make the mechanism for relayout when the page height changes the same as the one when pageY + changes and just tie a concept of pageHeightChanged to the layout state. If that is set, blocks will just + automatically mark themselves as needing layout. + + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): + * rendering/LayoutState.h: + (WebCore::LayoutState::LayoutState): + (WebCore::LayoutState::pageHeight): + (WebCore::LayoutState::pageHeightChanged): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::layoutPositionedObjects): + (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::positionNewFloats): + * rendering/RenderBlock.h: + * rendering/RenderBox.cpp: + * rendering/RenderBox.h: + (WebCore::RenderBox::markForPaginationRelayoutIfNeeded): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderView.cpp: + (WebCore::RenderView::RenderView): + (WebCore::RenderView::layout): + * rendering/RenderView.h: + (WebCore::RenderView::setPageHeight): + (WebCore::RenderView::pushLayoutState): + (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): + (WebCore::LayoutStateMaintainer::push): + +2010-10-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Paint the find overlay background + https://bugs.webkit.org/show_bug.cgi?id=47565 + + Export symbols required by WebKit2. + + * WebCore.exp.in: + +2010-10-12 James Robinson <jamesr@chromium.org> + + Unreviewed chromium compile fixes for http://trac.webkit.org/changeset/69619 + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::create): + (WebCore::LayerRendererChromium::LayerRendererChromium): + * platform/graphics/chromium/LayerRendererChromium.h: + +2010-10-12 Chris Marrin <cmarrin@apple.com> + + Reviewed by Darin Adler. + + Manage DrawingBuffer lifetime in GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=47501 + + GraphicsContext3D and DrawingBuffer are now Refcounted. DrawingBuffer + has a RefPtr to GraphicsContext3D to ensure the proper lifetime. + DrawingBuffer is now created by GraphicsContext3D. Also DrawingBuffer + refers to GraphicsContext3D rather than SharedGraphicsContext3D. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): + * html/canvas/CanvasRenderingContext2D.h: + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::create): + (WebCore::WebGLRenderingContext::WebGLRenderingContext): + * html/canvas/WebGLRenderingContext.h: + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::createDrawingBuffer): + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/chromium/DrawingBufferChromium.cpp: + (WebCore::generateColorTexture): + (WebCore::DrawingBuffer::DrawingBuffer): + (WebCore::DrawingBuffer::~DrawingBuffer): + (WebCore::DrawingBuffer::publishToPlatformLayer): + (WebCore::DrawingBuffer::reset): + * platform/graphics/gpu/DrawingBuffer.cpp: + (WebCore::DrawingBuffer::create): + (WebCore::DrawingBuffer::clear): + (WebCore::DrawingBuffer::bind): + * platform/graphics/gpu/DrawingBuffer.h: + (WebCore::DrawingBuffer::graphicsContext3D): + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + (WebCore::SharedGraphicsContext3D::graphicsContext3D): + * platform/graphics/gpu/mac/DrawingBufferMac.mm: + (WebCore::DrawingBuffer::DrawingBuffer): + (WebCore::DrawingBuffer::~DrawingBuffer): + (WebCore::DrawingBuffer::reset): + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::create): + +2010-10-12 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Fix passing blob data with string data item between threads. + https://bugs.webkit.org/show_bug.cgi?id=46543 + + The fix is to use a thread-safe ref-counted Vector<char> to store the + string data. This also makes us be able to store any binary data in it. + + I've also fix BlobBuilder and BlobRegistryImpl to avoid some additional + copies to make blob handling faster. + + * fileapi/BlobBuilder.cpp: + (WebCore::BlobBuilder::append): + * fileapi/ThreadableBlobRegistry.cpp: + (WebCore::BlobRegistryContext::BlobRegistryContext): + * platform/network/BlobData.cpp: + (WebCore::BlobDataItem::RawData::RawData): + (WebCore::BlobDataItem::RawData::detachFromCurrentThread): + (WebCore::BlobDataItem::detachFromCurrentThread): + (WebCore::BlobData::create): + (WebCore::BlobData::detachFromCurrentThread): + (WebCore::BlobData::appendData): + * platform/network/BlobData.h: + (WebCore::BlobDataItem::RawData::create): + (WebCore::BlobDataItem::RawData::data): + (WebCore::BlobDataItem::RawData::length): + (WebCore::BlobDataItem::RawData::mutableData): + (WebCore::BlobDataItem::BlobDataItem): + * platform/network/BlobRegistryImpl.cpp: + (WebCore::BlobRegistryImpl::registerBlobURL): + * platform/network/BlobResourceHandle.cpp: + (WebCore::BlobResourceHandle::readDataSync): + (WebCore::BlobResourceHandle::readDataAsync): + * platform/network/mac/FormDataStreamMac.mm: + (WebCore::setHTTPBody): + * platform/text/LineEnding.cpp: + (OutputBuffer::CStringBuffer::CStringBuffer): + (OutputBuffer::CStringBuffer::~CStringBuffer): + (OutputBuffer::CStringBuffer::allocate): + (OutputBuffer::CStringBuffer::copy): + (OutputBuffer::CStringBuffer::buffer): + (OutputBuffer::VectorCharAppendBuffer::VectorCharAppendBuffer): + (OutputBuffer::VectorCharAppendBuffer::~VectorCharAppendBuffer): + (OutputBuffer::VectorCharAppendBuffer::allocate): + (OutputBuffer::VectorCharAppendBuffer::copy): + (OutputBuffer::internalNormalizeLineEndingsToCRLF): + (WebCore::normalizeToCROrLF): + (WebCore::normalizeLineEndingsToCRLF): + (WebCore::normalizeLineEndingsToCR): + (WebCore::normalizeLineEndingsToLF): + (WebCore::normalizeLineEndingsToNative): + * platform/text/LineEnding.h: + +2010-10-12 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r69589. + http://trac.webkit.org/changeset/69589 + https://bugs.webkit.org/show_bug.cgi?id=47547 + + Wrong patch landed from a bug with two patches (Requested by + mrobinson on #webkit). + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandleInternal::~ResourceHandleInternal): + (WebCore::ResourceHandle::~ResourceHandle): + (WebCore::restartedCallback): + (WebCore::gotChunkCallback): + (WebCore::finishedCallback): + (WebCore::parseDataUrl): + (WebCore::startHttp): + * platform/network/soup/ResourceRequest.h: + * platform/network/soup/ResourceRequestSoup.cpp: + +2010-10-12 Simon Fraser <simon.fraser@apple.com> + + Screen.availLeft should be signed + https://bugs.webkit.org/show_bug.cgi?id=34397 + + Add the manual test missed in r69599. + + * manual-tests/screen-availLeft.html: Added. + +2010-10-12 Girish Ramakrishnan <girish@forwardbias.in> + + Reviewed by Ariya Hidayat. + + [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent. + + Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This + quirk is enabled only for 64-bit Flash/X11 and should not affect other + plugins. The freeze itself is in Flash code and the backtrace is not + useful. + + https://bugs.webkit.org/show_bug.cgi?id=47545 + + * plugins/PluginPackage.cpp: + (WebCore::PluginPackage::determineQuirks): + * plugins/PluginQuirkSet.h: + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::handleMouseEvent): + +2010-10-08 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Alexey Proskuryakov. + + Screen.availLeft should be signed + https://bugs.webkit.org/show_bug.cgi?id=34397 + + For the screen to the left of the main screen, screen.availLeft + can be negative, so the Screen API needs to use signed numbers + for availLeft and availTop. + + * manual-tests/screen-availLeft.html: Added. + * page/Screen.cpp: + (WebCore::Screen::availLeft): + (WebCore::Screen::availTop): + * page/Screen.h: + * page/Screen.idl: + +2010-10-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add FindController class + https://bugs.webkit.org/show_bug.cgi?id=47555 + + Export Page::findString. + + * WebCore.exp.in: + +2010-10-12 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=47550 + <rdar://problem/8353386> For WebKit plug-ins, beforeload can be called recursively + (esp. with AdBlock style extensions) + + No test - we don't have a WebKit-style plugin in DRT, and don't care enough to add one. + + The fix is to block plug-in scripting while in beforeload event - the plug-in is obviously + not available yet, so scripting could only attempt to load it recursively. + + This didn't affect NPAPI plug-ins, because of a completely different code path taken in + updateWidget(), see <https://bugs.webkit.org/show_bug.cgi?id=44575#c8>. + + * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget): + * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget): + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::HTMLPlugInElement): + (WebCore::HTMLPlugInElement::pluginWidget): + * html/HTMLPlugInElement.h: + +2010-10-12 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Gavin Barraclough. + + Unify JSC::StringBuilder & WebCore::StringBuilder + https://bugs.webkit.org/show_bug.cgi?id=47538 + + JSC::StringBuilder operates on a Vector<UChar, 64> and allows to build a string based on a stream of characters in an efficient manner. + WebCore::StringBuilder operates on a Vector<String, 16> and allows to concat an arbitary number of Strings. It's not efficient in handling single + characters, as a String with length=1 has to be constructed for those. An analysis of the callers of WebCore::StringBuilder shows that + most callsites actually combine Strings and single characters, so using a Vector<UChar> would be more efficient. Those who only combine large + strings are only used for debugging purposes, so it's fine to switch them to a Vector<UChar> approach as well. + + Replace WebCore::StringBuilder with JSC::StringBuilder, and move it to wtf/text/StringBuilder.h into the WTF namespace. + While I was at it remove platform/text/StringBuffer.h, as it was only including wtf/text/StringBuffer.h. + + No change in functionality, thus no new tests. + + * Android.mk: Remove platform/text/StringBuilder.* and platform/text/StringBuffer.h. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.order: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * ForwardingHeaders/runtime/StringBuilder.h: Removed. + * ForwardingHeaders/runtime/UStringBuilder.h: Added. + * ForwardingHeaders/wtf/text/StringBuilder.h: Added. + * bindings/js/ScriptString.h: Don't include PlatformString.h but wtf/text/WTFString.h. + (WebCore::ScriptString::operator+=): Use JSC::UStringBuilder instead of JSC::StringBuilder. + * bridge/jni/JNIBridge.cpp: Use WTF::StringBuilder (+ use append(const UChar) for single characters). + * css/MediaQuery.cpp: Ditto. + * css/MediaQueryExp.cpp: Ditto. + * dom/Node.cpp: Ditto. + (WebCore::Node::appendTextContent): Manually track wheter the StringBuilder content is empty or null, the new StringBuilder doesn't differentiate between null & empty strings. + * dom/Node.h: Remove appendTextContent definition, it's not needed to be exported, removes the need for a StringBuilder.h include or forward declaration. + * html/DOMTokenList.cpp: Use WTF::StringBuilder. + * inspector/InspectorResource.cpp: Remove useless StringBuffer.h include. + * platform/android/FileSystemAndroid.cpp: Use WTF::StringBuilder. + * platform/brew/FileSystemBrew.cpp: Ditto. + * platform/chromium/ClipboardChromium.cpp: Ditto (+ use append(const UChar) for single characters). + * platform/graphics/gpu/PODInterval.h: Ditto (Only used as debugging helper here, in debug builds). + * platform/graphics/gpu/PODRedBlackTree.h: Ditto (Only used as debugging helper here, in debug builds). + * platform/graphics/mac/GraphicsLayerCA.mm: Remove useless StringBuilder.h include. + * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Use WTF::StringBuilder, and use append(const UChar) for single characters. + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Ditto. + * platform/network/ProxyServer.cpp: + (WebCore::appendProxyServerString): Use WTF::StringBuilder. + * platform/text/StringBuffer.h: Removed. + * platform/text/StringBuilder.cpp: Removed. + * platform/text/StringBuilder.h: Removed. + * plugins/DOMMimeType.cpp: Use WTF::StringBuilder. + * svg/SVGPathParserFactory.cpp: Ditto. + * svg/SVGPathStringBuilder.cpp: SVGPathStringBuilder used stringBuilder.toString(ConcatAddingSpacesBetweenIndividualStrings), adapt to the change, that this mode is gone now. + (WebCore::SVGPathStringBuilder::result): Just use toString(), append a space to the end of each command, when building the string. Remove the last trailing space before building the result. + (WebCore::SVGPathStringBuilder::moveTo): + (WebCore::SVGPathStringBuilder::lineTo): + (WebCore::SVGPathStringBuilder::lineToHorizontal): + (WebCore::SVGPathStringBuilder::lineToVertical): + (WebCore::SVGPathStringBuilder::curveToCubic): + (WebCore::SVGPathStringBuilder::curveToCubicSmooth): + (WebCore::SVGPathStringBuilder::curveToQuadratic): + (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth): + (WebCore::SVGPathStringBuilder::arcTo): + (WebCore::SVGPathStringBuilder::closePath): + * svg/SVGPathStringBuilder.h: + (WebCore::SVGPathStringBuilder::cleanup): StringBuilder::clear() is gone, just cleanup by assigning StringBuilder(). + * websockets/WebSocket.cpp: Use WTF::StringBuilder. + * websockets/WebSocketHandshake.cpp: Ditto (+ use append(const UChar) for single characters). + +2010-10-12 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Antonio Gomes. + + [EFL] Add a missing file in CMakeListEfl.txt + https://bugs.webkit.org/show_bug.cgi?id=47480 + + IntRectEfl.cpp was missing in CMakeListEfl.txt. So, IntRectEfl.cpp is added. + + * CMakeListsEfl.txt: + +2010-10-12 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Need WebKit2 API to get the cell above a table cell + <rdar://problem/8537111> + https://bugs.webkit.org/show_bug.cgi?id=47532 + + Re-factor functionality to get the cell above a table cell + into a function on HTMLTableCellElement and export it for use + as SPI. + + * WebCore.exp.in: + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::cellAbove): Move implementation here... + * html/HTMLTableCellElement.h: + * page/Frame.cpp: + (WebCore::Frame::searchForLabelsAboveCell): ...from here. + +2010-10-12 Dave Moore <davemoore@chromium.org> + + Reviewed by Tony Chang. + + Use new WebThemeEngine api on chromium / linux to draw scrollbars. + https://bugs.webkit.org/show_bug.cgi?id=47473 + + * platform/chromium/ChromiumBridge.h: + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + +2010-10-12 Andreas Kling <kling@webkit.org> + + Reviewed by Antonio Gomes. + + [Qt] Clipping problem viewing SVG with WebKit + https://bugs.webkit.org/show_bug.cgi?id=29596 + + SVG path clipping (via GraphicsContext::clipPath()) was done using the + Qt::ReplaceClip mode (default) instead of Qt::IntersectClip. This led + to misrenderings when nesting multiple clip paths. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::clipPath): + +2010-10-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: refactoring of native breakpoints. + https://bugs.webkit.org/show_bug.cgi?id=47360 + + Make DOM, EventListener and XHR breakpoints subclasses of NativeBreakpoint class. + Move stuff that depends on breakpoint type to corresponding subclass. + + * inspector/Inspector.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::setNativeBreakpoint): + (WebCore::InspectorController::removeNativeBreakpoint): + (WebCore::InspectorController::findEventListenerBreakpoint): + (WebCore::InspectorController::findXHRBreakpoint): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::setDOMBreakpoint): + (WebCore::InspectorDOMAgent::removeDOMBreakpoint): + (WebCore::InspectorDOMAgent::descriptionForDOMEvent): + (WebCore::InspectorDOMAgent::didRemoveDOMNode): + (WebCore::InspectorDOMAgent::removeBreakpointsForNode): + (WebCore::InspectorDOMAgent::createBreakpointId): + * inspector/InspectorDOMAgent.h: + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): + (WebCore::InspectorInstrumentation::willDispatchEventImpl): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager): + (WebInspector.BreakpointManager.prototype.reset): + (WebInspector.BreakpointManager.prototype.createDOMBreakpoint): + (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype.createXHRBreakpoint): + (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint): + (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint): + (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend): + (WebInspector.BreakpointManager.prototype.debuggerPaused): + (WebInspector.BreakpointManager.prototype.debuggerResumed): + (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints.restoreBreakpointsForNode): + (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints): + (WebInspector.NativeBreakpoint): + (WebInspector.NativeBreakpoint.prototype.remove): + (WebInspector.NativeBreakpoint.prototype.get _frontendId): + (WebInspector.NativeBreakpoint.prototype.get _type): + (WebInspector.NativeBreakpoint.prototype._compare): + (WebInspector.NativeBreakpoint.prototype._onRemove): + (WebInspector.DOMBreakpoint): + (WebInspector.DOMBreakpoint.prototype.click): + (WebInspector.DOMBreakpoint.prototype.compareTo): + (WebInspector.DOMBreakpoint.prototype.populateLabelElement): + (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.formatters.s): + (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement.append): + (WebInspector.DOMBreakpoint.prototype.populateStatusMessageElement): + (WebInspector.DOMBreakpoint.prototype._condition): + (WebInspector.DOMBreakpoint.prototype._onRemove): + (WebInspector.EventListenerBreakpoint): + (WebInspector.EventListenerBreakpoint.prototype.compareTo): + (WebInspector.EventListenerBreakpoint.prototype.label): + (WebInspector.EventListenerBreakpoint.prototype.populateStatusMessageElement): + (WebInspector.EventListenerBreakpoint.prototype._condition): + (WebInspector.XHRBreakpoint): + (WebInspector.XHRBreakpoint.prototype.compareTo): + (WebInspector.XHRBreakpoint.prototype.populateLabelElement): + (WebInspector.XHRBreakpoint.prototype.populateStatusMessageElement): + (WebInspector.XHRBreakpoint.prototype._condition): + (WebInspector.domBreakpointTypeLabel): + (WebInspector.domBreakpointTypeContextMenuLabel): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointItem): + (WebInspector.BreakpointItem.prototype._breakpointClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane): + (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): + (WebInspector.CallStackSidebarPane.prototype._breakpointHit): + * inspector/front-end/DOMAgent.js: + (WebInspector.DOMNode): + (WebInspector.DOMAgent.prototype._setDocument): + (WebInspector.DOMAgent.prototype._removeBreakpoints): + (WebInspector.childNodeRemoved): + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.debuggerPaused): + * inspector/front-end/inspector.js: + (WebInspector.createDOMBreakpointsSidebarPane.breakpointAdded): + (WebInspector.createDOMBreakpointsSidebarPane): + (WebInspector.reset): + +2010-10-11 Eric Uhrhane <ericu@chromium.org> + + Reviewed by Dumitru Daniliuc. + + FileWriter should hold a reference to a Blob during write + https://bugs.webkit.org/show_bug.cgi?id=47318 + + Without this reference, the Blob might get garbage-collected from JS + before the write has completed, which would be quite unintuitive to the + user. I just grab a RefPtr to the Blob at write(), then clear it when + we're done. + + * fileapi/FileWriter.cpp: + (WebCore::FileWriter::stop): + (WebCore::FileWriter::write): + (WebCore::FileWriter::didWrite): + (WebCore::FileWriter::didFail): + * fileapi/FileWriter.h: + +2010-10-11 Michael Saboff <msaboff@apple.com> + + Reviewed by Darin Adler. + + Changed DOMWindow to have a constructor. Updated the code generator + to add security checks to the constructors if CheckDomainSecurity is + set. Also changed the constructor generation code to use + globalObject->prototype() for DOMWindow object prototypes instead + of "self". + https://bugs.webkit.org/show_bug.cgi?id=47422 + + Test: fast/dom/Window/window-constructor.html + + * bindings/scripts/CodeGeneratorJS.pm: + * page/DOMWindow.idl: + +2010-10-11 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Tony Chang. + + [chromium] Prepare Clipboard/DragData for transition to new drag-and-drop interface. + https://bugs.webkit.org/show_bug.cgi?id=44992 + + In order to allow a graceful transition, ChromiumDataObject has been + reimplemented as a wrapper around the three different types of data + objects that the Chrome port uses: + 1. ChromiumDataObjectLegacy -- this is the original ChromiumDataObject. + All the data that ClipboardChromium/DragDataChromium can potentially + use is copied over, regardless of whether or not it is needed. + 2. ReadableDataObject -- used for dragging in and pasting into WebKit. + For efficiency, it caches an optimistic list of types it believes it + can handle. When getData() is called, a browser IPC is called to + retrieve the appropriate data. + 3. WritableDataObject -- similar to ChromiumDataObjectLegacy in that it + buffers all data when dragging out of WebKit or copying/cutting. + Unfortunately, there is a difference between dragging out and + copying/cutting--on drag outs, the data is buffered and flushed out + when startDrag() is called. For copy/cut, any calls to setData() + result in a browser IPC right away, so calls to setData() in one + copy/cut event are not atomic. + + Copy and paste has been changed to use the new data objects. Dragging + out uses the legacy data object, and dragging in now has two potential + entry points--one using the legacy data object, and one using + ReadableDataObject. Once Chromium transitions to using the new drag-in + interface, the old interface will be removed. + + This change is covered by existing tests. + + * WebCore.gypi: + * editing/chromium/EditorChromium.cpp: + (WebCore::Editor::newGeneralClipboard): + * page/chromium/EventHandlerChromium.cpp: + (WebCore::EventHandler::createDraggingClipboard): + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::ChromiumDataObject): + (WebCore::ChromiumDataObject::create): + (WebCore::ChromiumDataObject::createReadable): + (WebCore::ChromiumDataObject::createWritable): + (WebCore::ChromiumDataObject::clearData): + (WebCore::ChromiumDataObject::clearAll): + (WebCore::ChromiumDataObject::clearAllExceptFiles): + (WebCore::ChromiumDataObject::hasData): + (WebCore::ChromiumDataObject::types): + (WebCore::ChromiumDataObject::getData): + (WebCore::ChromiumDataObject::setData): + (WebCore::ChromiumDataObject::urlTitle): + (WebCore::ChromiumDataObject::setUrlTitle): + (WebCore::ChromiumDataObject::htmlBaseUrl): + (WebCore::ChromiumDataObject::setHtmlBaseUrl): + (WebCore::ChromiumDataObject::containsFilenames): + (WebCore::ChromiumDataObject::filenames): + (WebCore::ChromiumDataObject::setFilenames): + (WebCore::ChromiumDataObject::fileExtension): + (WebCore::ChromiumDataObject::setFileExtension): + (WebCore::ChromiumDataObject::fileContentFilename): + (WebCore::ChromiumDataObject::setFileContentFilename): + (WebCore::ChromiumDataObject::fileContent): + (WebCore::ChromiumDataObject::setFileContent): + * platform/chromium/ChromiumDataObject.h: + * platform/chromium/ChromiumDataObjectLegacy.cpp: Copied from ChromiumDataObject.cpp + (WebCore::ChromiumDataObjectLegacy::clearData): + (WebCore::ChromiumDataObjectLegacy::clearAll): + (WebCore::ChromiumDataObjectLegacy::clearAllExceptFiles): + (WebCore::ChromiumDataObjectLegacy::hasData): + (WebCore::ChromiumDataObjectLegacy::types): + (WebCore::ChromiumDataObjectLegacy::getData): + (WebCore::ChromiumDataObjectLegacy::setData): + (WebCore::ChromiumDataObjectLegacy::ChromiumDataObjectLegacy): + * platform/chromium/ChromiumDataObjectLegacy.h: Copied from ChromiumDataObject.h + (WebCore::ChromiumDataObjectLegacy::create): + (WebCore::ChromiumDataObjectLegacy::copy): + (WebCore::ChromiumDataObjectLegacy::urlTitle): + (WebCore::ChromiumDataObjectLegacy::setUrlTitle): + (WebCore::ChromiumDataObjectLegacy::htmlBaseUrl): + (WebCore::ChromiumDataObjectLegacy::setHtmlBaseUrl): + (WebCore::ChromiumDataObjectLegacy::containsFilenames): + (WebCore::ChromiumDataObjectLegacy::filenames): + (WebCore::ChromiumDataObjectLegacy::setFilenames): + (WebCore::ChromiumDataObjectLegacy::fileExtension): + (WebCore::ChromiumDataObjectLegacy::setFileExtension): + (WebCore::ChromiumDataObjectLegacy::fileContentFilename): + (WebCore::ChromiumDataObjectLegacy::setFileContentFilename): + (WebCore::ChromiumDataObjectLegacy::fileContent): + (WebCore::ChromiumDataObjectLegacy::setFileContent): + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::create): + * platform/chromium/ClipboardChromium.h: + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::getData): + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::setData): + +2010-10-11 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Remove WebIconFetcher from WebKit and IconFetcher from WebCore + https://bugs.webkit.org/show_bug.cgi?id=47523 + + Remove all traces of the WebCore IconFetcher class. It's SPI that nobody uses. + + * GNUmakefile.am: + * WebCore.exp.in: + * WebCore.gyp/WebCore.gyp: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * loader/icon/IconFetcher.cpp: Removed. + * loader/icon/IconFetcher.h: Removed. + +2010-10-11 Jia Pu <jpu@apple.com> + + Reviewed by Adele Peterson. + + Should commit pending autocorrection before next round of text checking. + https://bugs.webkit.org/show_bug.cgi?id=46986 + <rdar://problem/8424535> + + 1. Apply pending autocorrection before calling markAllMisspellingsAndBadGrammarInRanges(). + 2. Remove unneccessary calls to dismissCorrectionPanel(), since the panel is dismissed when + selection changes, which occurs after every typing command. + + * editing/Editor.cpp: + (WebCore::Editor::markMisspellingsAfterTypingToPosition): Apply pending autocorrection. + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Store current correction replacement + in m_correctionReplacementString. + (WebCore::Editor::startCorrectionPanelTimer): Remove call to dismissCorrectionPanel(). + * editing/Editor.h: Add m_correctionReplacementString to store proposed autocorrection string. + +2010-10-11 Oliver Hunt <oliver@apple.com> + + Reviewed by Adam Barth. + + Make fast/canvas/webgl/glsl-conformance pass again + https://bugs.webkit.org/show_bug.cgi?id=47525 + + Remove incorrect call to glGetShaderiv, so it is only + called in the case where we don't have our own simulated + log. + + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::getShaderInfoLog): + +2010-10-11 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Add WebKit2 equivalents for setValueForUser and setAutoFilled + <rdar://problem/8475934> + https://bugs.webkit.org/show_bug.cgi?id=47524 + + * WebCore.exp.in: Add needed export. + +2010-10-11 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + The names of IndexedDB-specific attributes of DOMWindow should be prefixed with 'webkit'. + https://bugs.webkit.org/show_bug.cgi?id=47508 + + * bindings/generic/RuntimeEnabledFeatures.h: + (WebCore::RuntimeEnabledFeatures::setWebkitIndexedDBEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIndexedDBEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBCursorEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseErrorEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBDatabaseExceptionEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBErrorEventEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBEventEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBFactoryEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBIndexEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBKeyRangeEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBObjectStoreEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBRequestEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBSuccessEventEnabled): + (WebCore::RuntimeEnabledFeatures::webkitIDBTransactionEnabled): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitIndexedDB): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2010-10-11 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Add ability to convert from a JSObjectRef back to a WKBundleNodeHandleRef + https://bugs.webkit.org/show_bug.cgi?id=47509 + + * WebCore.exp.in: Export toNode. + +2010-10-11 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Tony Chang. + + [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails on GTK+ + https://bugs.webkit.org/show_bug.cgi?id=47244 + + Store the URI list as a String in DataObjectGtk, so that non-URI elements + are preserved when getData(...) is called. This necessitates some other + changes, including adding a m_filenames member to DataObjectGtk to store + filenames extracted during setURIList(...). The logic in getData(...) has + also changed to set success = true no matter what to match the spec. A + followup patch will remove this parameter completely for all platforms. + + * platform/gtk/ClipboardGtk.cpp: + (WebCore::ClipboardGtk::getData): Always succeed to match the HTML5 + spec and Firefox. Simply return the uriList string from the DataObject + instead of reconstructing it from a vector of KURLs. + (WebCore::ClipboardGtk::setData): The DataObject now accepts a string + for the uriList parameter. + (WebCore::ClipboardGtk::types): Predicate the "Files" member on + DataObjectGtk::hasFilenames(). + (WebCore::ClipboardGtk::files): Update to reflect the change from + DataObjectGtk::files() to DataObjectGtk::filenames(). + * platform/gtk/DataObjectGtk.cpp: + (WebCore::DataObjectGtk::setURIList): Expanded this setter to find the + first valid URL to use as the m_url member and also extract a list of filenames + from the URI list. + (WebCore::DataObjectGtk::setURL): Updated to reflect changes to m_uriList. + (WebCore::DataObjectGtk::clear): Updated to reflect changes to m_uriList and + also leave a comment explaining why we do not clear filenames here. + * platform/gtk/DataObjectGtk.h: + (WebCore::DataObjectGtk::url): This implementation is now a simple getter. + (WebCore::DataObjectGtk::uriList): Ditto. + (WebCore::DataObjectGtk::filenames): Added. + (WebCore::DataObjectGtk::hasURL): Now a simple check. + (WebCore::DataObjectGtk::hasFilenames): Added. + (WebCore::DataObjectGtk::clearURIList): Simple setter. + (WebCore::DataObjectGtk::clearURL): Ditto. + * platform/gtk/DragDataGtk.cpp: + (WebCore::DragData::containsFiles): Updated to access DataObjectGtk::hasFilenames(). + (WebCore::DragData::asFilenames): Updated to access DataObjectGtk::filenames(). + * platform/gtk/PasteboardHelper.cpp: + (WebCore::PasteboardHelper::getClipboardContents): Use the uriList as a string now. + (WebCore::PasteboardHelper::fillSelectionData): Ditto. + (WebCore::PasteboardHelper::fillDataObjectFromDropData): Ditto. + +2010-10-11 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] DRT crash in fast/canvas tests w/accel 2D canvas due to NULL DrawingBuffer + https://bugs.webkit.org/show_bug.cgi?id=47241 + + Avoid initializing accelerated graphics objects on CanvasRenderingContext2D + if there is no drawingContext associated with the canvas. + + Test: fast/canvas/access-zero-sized-canvas.html + fast/canvas/canvas-skia-excessive-size.html + fast/canvas/toDataURL-noData.html + with --accelerated-compositing and --accelerated-2d-canvas + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): + (WebCore::CanvasRenderingContext2D::reset): + +2010-10-11 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Cleanup font selection code for the Freetype backend + https://bugs.webkit.org/show_bug.cgi?id=47503 + + Do some miscellaneous cleanup work in the Freetype font font selection backend. + + * platform/graphics/cairo/FontCacheFreeType.cpp: + (WebCore::getFamilyNameStringFromFontDescriptionAndFamily): Modified this method to return + a WebCore String. + (WebCore::FontCache::createFontPlatformData): Do a bit of cleanup in this method: properly + handle cursive and fantasy as fallback-like fonts. Instead of using raw CStrings do string + comparisons using WebCore Strings. Remove a large block comment that originated from a + Apache-licensed file. + +2010-10-11 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Buttons activated with the keyboard should be painted as clicked + https://bugs.webkit.org/show_bug.cgi?id=18364 + + When a button is pressed, force it into the hovered state as far as the + Mozilla theme drawing code is concerned. This bug also seems to be an + issue for Firefox. When we switch away from the Mozilla theme drawing + code this work-around should no longer be necessary. + + No new tests. I was not able to generate a pixel test for this issue. It + seems that our DRT does not have the necessary infrastructure to generate a + pixel dump while a button is in the pressed state. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintRenderObject): + +2010-10-11 Jian Li <jianli@chromium.org> + + Unreviewed. Build fix. + + * bindings/js/JSArrayBufferCustom.cpp: + * bindings/js/JSArrayBufferViewCustom.cpp: + * bindings/js/JSFloat32ArrayCustom.cpp: + * bindings/js/JSInt16ArrayCustom.cpp: + * bindings/js/JSInt32ArrayCustom.cpp: + * bindings/js/JSInt8ArrayCustom.cpp: + * bindings/js/JSUint16ArrayCustom.cpp: + * bindings/js/JSUint32ArrayCustom.cpp: + * bindings/js/JSUint8ArrayCustom.cpp: + * bindings/v8/custom/V8ArrayBufferCustom.cpp: + * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: + * bindings/v8/custom/V8Float32ArrayCustom.cpp: + * bindings/v8/custom/V8Int16ArrayCustom.cpp: + * bindings/v8/custom/V8Int32ArrayCustom.cpp: + * bindings/v8/custom/V8Int8ArrayCustom.cpp: + * bindings/v8/custom/V8Uint16ArrayCustom.cpp: + * bindings/v8/custom/V8Uint32ArrayCustom.cpp: + * bindings/v8/custom/V8Uint8ArrayCustom.cpp: + +2010-10-11 Brent Fulgham <bfulgham@webkit.org> + + Unreviewed WinCairo build fixes. + + * platform/network/curl/ResourceResponse.h: Correct forward declaration + for CFURLResponseRef. + * rendering/RenderMediaControls.h: Add ENABLE(VIDEO) guard to new + header file to avoid build failure on non-VIDEO builds. + +2010-10-11 Jian Li <jianli@chromium.org> + + Reviewed by Adam Barth. + + Add File API feature guard to all typed array files + https://bugs.webkit.org/show_bug.cgi?id=47437 + + Since we're going to add ArrayBuffer support to FileReader and BlobBuilder, + we need to update all type array files to include File API feature guard + in addition to the existing 3D_CANVAS guard. When ArrayBuffer is used in + XMLHttpRequest, we will then remove all the guards. This is per the + discussion on webkit-dev mailing list: + https://lists.webkit.org/pipermail/webkit-dev/2010-October/014716.html + + * html/canvas/ArrayBuffer.cpp: + * html/canvas/ArrayBuffer.idl: + * html/canvas/ArrayBufferView.cpp: + * html/canvas/ArrayBufferView.idl: + * html/canvas/Float32Array.cpp: + * html/canvas/Float32Array.idl: + * html/canvas/Int16Array.cpp: + * html/canvas/Int16Array.idl: + * html/canvas/Int32Array.cpp: + * html/canvas/Int32Array.idl: + * html/canvas/Int8Array.cpp: + * html/canvas/Int8Array.idl: + * html/canvas/Uint16Array.cpp: + * html/canvas/Uint16Array.idl: + * html/canvas/Uint32Array.cpp: + * html/canvas/Uint32Array.idl: + * html/canvas/Uint8Array.cpp: + * html/canvas/Uint8Array.idl: + +2010-10-11 Andreas Kling <kling@webkit.org> + + Build fix (implicit float conversion in Path.cpp) + + * platform/graphics/Path.cpp: + +2010-10-11 Girish Ramakrishnan <girish@forwardbias.in> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Refactor Plugin X Pixmap painting code to a separate function + + The refactored function will be used for rendering by the Accelerated + Composition enabled graphics layer. + + https://bugs.webkit.org/show_bug.cgi?id=35524 + + * plugins/PluginView.h: + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::paintUsingXPixmap): + (WebCore::PluginView::paint): + +2010-10-11 Andreas Kling <kling@webkit.org> + + Reviewed by Dirk Schulze. + + SVG: Remove "create" methods and use port-specific "add" counterparts + https://bugs.webkit.org/show_bug.cgi?id=46052 + + Circles and ellipses will be significantly faster on platforms that + implement Path::addEllipse() in a sane fashion. + + Also, a lot of Path copying has been factored out by changing functions + that would return Paths to take Path& arguments instead (toPathData, toClipPath) + + * mathml/RenderMathMLRoot.cpp: + (WebCore::RenderMathMLRoot::paint): + * mathml/RenderMathMLSquareRoot.cpp: + (WebCore::RenderMathMLSquareRoot::paint): + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::addRoundedRectClip): + (WebCore::GraphicsContext::clipOutRoundedRect): + * platform/graphics/Path.cpp: + (WebCore::pathLengthApplierFunction): + (WebCore::Path::addRoundedRect): + * platform/graphics/Path.h: + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::drawRectShadowWithoutTiling): + (WebCore::ContextShadow::drawRectShadow): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawFocusRing): + (WebCore::GraphicsContext::drawTiledShadow): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBorder): + (WebCore::RenderBoxModelObject::paintBoxShadow): + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): + * rendering/RenderSVGResourceClipper.cpp: + (WebCore::RenderSVGResourceClipper::pathOnlyClipping): + * rendering/svg/RenderSVGPath.cpp: + (WebCore::RenderSVGPath::layout): + * rendering/svg/RenderSVGTextPath.cpp: + (WebCore::RenderSVGTextPath::layoutPath): + * rendering/svg/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::paintDecorationWithStyle): + * svg/SVGAnimateMotionElement.cpp: + (WebCore::SVGAnimateMotionElement::animationPath): + * svg/SVGCircleElement.cpp: + (WebCore::SVGCircleElement::toPathData): + * svg/SVGCircleElement.h: + * svg/SVGEllipseElement.cpp: + (WebCore::SVGEllipseElement::toPathData): + * svg/SVGEllipseElement.h: + * svg/SVGLineElement.cpp: + (WebCore::SVGLineElement::toPathData): + * svg/SVGLineElement.h: + * svg/SVGPathElement.cpp: + (WebCore::SVGPathElement::getTotalLength): + (WebCore::SVGPathElement::getPointAtLength): + (WebCore::SVGPathElement::toPathData): + * svg/SVGPathElement.h: + * svg/SVGPolygonElement.cpp: + (WebCore::SVGPolygonElement::toPathData): + * svg/SVGPolygonElement.h: + * svg/SVGPolylineElement.cpp: + (WebCore::SVGPolylineElement::toPathData): + * svg/SVGPolylineElement.h: + * svg/SVGRectElement.cpp: + (WebCore::SVGRectElement::toPathData): + * svg/SVGRectElement.h: + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::toClipPath): + * svg/SVGStyledTransformableElement.h: + (WebCore::SVGStyledTransformableElement::toPathData): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::toClipPath): + * svg/SVGUseElement.h: + +2010-10-01 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + [ES5] Implement strict mode + https://bugs.webkit.org/show_bug.cgi?id=10701 + + Test: fast/js/basic-strict-mode.html + + Override toStrictThisObject on the domwindow so that + it correctly provides the shell object when used as this + in a strict mode function. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::toStrictThisObject): + * bindings/js/JSDOMWindowBase.h: + +2010-10-11 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Eric Carlson. + + CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent + https://bugs.webkit.org/show_bug.cgi?id=46777 + + Another case that could lead to an improper set of states between + m_currentNode and m_loadingState. Also added an ASSERT and early + return to prevent crashes if this case can still happen in other ways. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::prepareForLoad): + +2010-10-11 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + spellcheck="false" not respected in designMode + https://bugs.webkit.org/show_bug.cgi?id=39978 + + The bug was caused by WebKit's setting focus to html element rather than body element in design mode. + Because we disable spell-check only if ancestor nodes of the focused element had spellcheck=false, + this caused us to ignore body element's spellcheck attribute. + + Fixed the bug by overriding supportsFocus in HTMLBodyElement to make body element focusable + when the parent node of body elements (namely html element) is editable. + + Test: editing/spelling/design-mode-spellcheck-off.html + + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::supportsFocus): Added. + * html/HTMLBodyElement.h: + +2010-10-11 Oliver Hunt <oliver@apple.com> + + Build fix -- I thought i had killed the prior commit in time to have this be part of the commit. + + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::getShaderInfoLog): + +2010-10-11 Oliver Hunt <oliver@apple.com> + + Reviewed by Andreas Kling. + + Incorrect handling of 0 length logs in GraphicsContext3DOpenGL.cpp + https://bugs.webkit.org/show_bug.cgi?id=47494 + + Working on another patch I found that there was some screwy behaviour + when dealing with logs from GL. GL_INFO_LOG_LENGTH is defined as being + zero if there is no log message, but we did not check for that case and + simply perfomed a zero sized alloc and passed the resultant buffer to + glGetShaderInfoLog, etc. glGetShaderInfoLog would then write a null + terminator to the buffer, thus causing an overflow. This is obviously + not a problem in practice as allocations are at least 4 bytes long in + all common allocators, but it is still a bug. + + I also removed some unnecessary null checks following calls to fastMalloc. + + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::getProgramInfoLog): + (WebCore::GraphicsContext3D::getShaderInfoLog): + +2010-10-11 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Andreas Kling. + + Kill Path::debugString() + https://bugs.webkit.org/show_bug.cgi?id=47493 + + Remove the obsolete Path::debugString() method. DRT now dumps paths in a platform independant way. + + * platform/graphics/Path.h: + * platform/graphics/cairo/PathCairo.cpp: + * platform/graphics/cg/PathCG.cpp: + * platform/graphics/haiku/PathHaiku.cpp: + * platform/graphics/openvg/PathOpenVG.cpp: + * platform/graphics/qt/PathQt.cpp: + * platform/graphics/skia/PathSkia.cpp: + * platform/graphics/wince/PathWinCE.cpp: + * platform/graphics/wince/PlatformPathWinCE.cpp: + * platform/graphics/wince/PlatformPathWinCE.h: + * platform/graphics/wx/PathWx.cpp: + * svg/SVGGlyphElement.h: + (WebCore::SVGGlyphIdentifier::operator==): + +2010-10-11 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Search field icons should be centered vertically in the field + https://bugs.webkit.org/show_bug.cgi?id=47441 + + Center search field icons vertically in the search field. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::centerRectVerticallyInParentInputElement): Added this helper. + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Center the search + field icon by adjusting its drawing rect relative to the containing search field. + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto. + +2010-10-11 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: fix event listener breakpoints sidebar pane style + https://bugs.webkit.org/show_bug.cgi?id=47487 + + * inspector/front-end/inspector.css: + (.section .properties, .event-bar .event-properties): + (.section.expanded .properties, .event-bar.expanded .event-properties): + (.properties-tree): + (.properties-tree li): + (.properties-tree li.parent): + (.properties-tree li.parent::before): + (.properties-tree li.parent.expanded::before): + (.properties-tree li .info): + (.properties-tree ol, .stack-trace ol, ol.stack-trace): + (.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace): + (ol.stack-trace): + (.event-listener-breakpoints .event-category): + (.event-listener-breakpoints.properties-tree .children li): + (.event-listener-breakpoints .checkbox-elem): + (.breakpoint-list .breakpoint-hit): + +2010-10-11 Andreas Kling <kling@webkit.org> + + Reviewed by Tor Arne Vestbø. + + [Qt] Avoid QPainterPath::operator=(QPainterPath()) when possible + + Same concept as <http://trac.webkit.org/changeset/69462>, do nothing + when clearing an already empty QPainterPath. Avoids one delete+new. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContextPlatformPrivate::clearCurrentPath): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::beginPath): + +2010-10-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Unreviewed. Remove unnecessary GTK+ and Pango includes. + + * platform/gtk/FileChooserGtk.cpp: + * platform/gtk/Language.cpp: + +2010-10-11 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by David Levin. + + Support DirectoryEntry.removeRecursively for FileSystem API + https://bugs.webkit.org/show_bug.cgi?id=47400 + + Also disallows remove/removeRecursively on the root directory. + + Test: fast/filesystem/op-remove.html + + * fileapi/DOMFileSystemBase.cpp: + (WebCore::DOMFileSystemBase::removeRecursively): Added. + * fileapi/DOMFileSystemBase.h: + * fileapi/DirectoryEntry.cpp: + (WebCore::DirectoryEntry::removeRecursively): Added. + * fileapi/DirectoryEntry.h: + * fileapi/DirectoryEntry.idl: + * fileapi/DirectoryEntrySync.cpp: + (WebCore::DirectoryEntrySync::removeRecursively): Added. + * fileapi/DirectoryEntrySync.h: + * fileapi/DirectoryEntrySync.idl: + * platform/AsyncFileSystem.h: + +2010-10-11 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG feImage take preserveAspectRatio into account for absolute paint rect + https://bugs.webkit.org/show_bug.cgi?id=47464 + + Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account. + + * svg/graphics/filters/SVGFEImage.cpp: + (WebCore::FEImage::determineAbsolutePaintRect): + (WebCore::FEImage::apply): + * svg/graphics/filters/SVGFEImage.h: + +2010-10-10 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dan Bernstein. + + <rdar://problem/8510200> Lines flow around a float that has been removed + + Overhanging floats are not added to flexible boxes since they behave like + block formatting contexts. This causes the intruding floats added in siblings + to not get cleared. Enforce the float release by checking if the parent is a + flexible box and if yes, use that as the outermost block. + + https://bugs.webkit.org/show_bug.cgi?id=47104 + + Test: fast/flexbox/overhanging-floats-removed.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): + +2010-10-10 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: if aria-live is on a <span> or ignored element, live regions don't work + https://bugs.webkit.org/show_bug.cgi?id=47443 + + If an element has aria attributes, but has no other native role associated with it, + accessibility should fallback to exposing that element as an AXGroup. + + Test: platform/mac/accessibility/live-region-on-span.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + +2010-10-10 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Adam Barth. + + [chromium] Clipboard no longer accepts 'text' as a synonym for 'text/plain' + https://bugs.webkit.org/show_bug.cgi?id=47419 + + This was a regression introduced in r68807. mimeTypeText had the incorrect + value. + + Test: editing/pasteboard/dataTransfer-setData-getData.html + + * platform/chromium/ClipboardMimeTypes.cpp: + +2010-10-09 Eric Uhrhane <ericu@chromium.org> + + Reviewed by Andreas Kling. + + FileWriter sends write event instead of progress event + https://bugs.webkit.org/show_bug.cgi?id=47454 + + No new tests; FileWriter tests will be added shortly, but currently + there's no implementation capable of running them. + + * fileapi/FileWriter.cpp: + (WebCore::FileWriter::didWrite): + +2010-10-09 Andreas Kling <kling@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Fast-path in Path::clear() for already empty paths + https://bugs.webkit.org/show_bug.cgi?id=47460 + + The only way to clear a QPainterPath is to assign QPainterPath() to it. + Avoid creating a temporary object etc if the path is already empty. + + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::clear): + +2010-10-08 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Redo in ReplaceNodeWithSpanCommand is broken + https://bugs.webkit.org/show_bug.cgi?id=47428 + + The bug was caused by ReplaceNodeWithSpanCommand's inheriting from CompositeEditCommand, + and ReplaceNodeWithSpanCommand's not implementing doReapply. Because ReplaceNodeWithSpanCommand's doApply + directly modifies DOM and does not use simple edit commands while CompositeEditCommand's doReapply + only calls reapply of compositing simple edit commands, ReplaceNodeWithSpanCommand's doReapply was no-op. + + Fixed the bug by changing the base class of ReplaceNodeWithSpanCommand to SimpleEditCommand. + This allows ReplaceNodeWithSpanCommand's doReapply to call its doApply, which already supports redo operation. + + Test: editing/undo/replace-by-span-then-remove.html + + * editing/ReplaceNodeWithSpanCommand.cpp: + (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): + * editing/ReplaceNodeWithSpanCommand.h: + +2010-10-09 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Implement subregion rendering in WebView when using gtk3 + https://bugs.webkit.org/show_bug.cgi?id=47411 + + * GNUmakefile.am: + * platform/graphics/FloatRect.h: + * platform/graphics/cairo/FloatRectCairo.cpp: Added. + (WebCore::FloatRect::FloatRect): + (WebCore::FloatRect::operator cairo_rectangle_t): + +2010-10-09 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Implement subregion rendering in WebView when using gtk3 + https://bugs.webkit.org/show_bug.cgi?id=47411 + + * GNUmakefile.am: + * platform/graphics/FloatRect.h: + * platform/graphics/cairo/FloatRectCairo.cpp: Added. + (WebCore::FloatRect::FloatRect): + (WebCore::FloatRect::operator cairo_rectangle_t): + +2010-10-09 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Andreas Kling. + + Add ENABLE(ACCELERATED_2D_CANVAS) guard for m_uploadTexture + https://bugs.webkit.org/show_bug.cgi?id=47114 + + PlatformContextSkia's m_uploadTexture is used only in code guarded with ENABLE(ACCELERATED_2D_CANVAS). + + * platform/graphics/skia/PlatformContextSkia.h: + +2010-10-09 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Barth. + + Use WTF::StringHasher for hashing MappedAttributeKey + https://bugs.webkit.org/show_bug.cgi?id=46516 + + * dom/StyledElement.cpp: + (WebCore::MappedAttributeHash::hash): + +2010-10-09 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] Non-rectangular buttons have a square background behind them + https://bugs.webkit.org/show_bug.cgi?id=23569 + + Remove some code which was clearing pieces of the GdkDrawable if it was + currently mapped to a window. In our case it is unnecessary, because the + platform-independent parts of the render have already cleared this section + if it is needed. + + Mozilla must not trip this code path, which means they are probably rendering + most often to a non-mapped GdkPixmap. + + No new tests as some themed rendering is covered by existing tests that + render buttons. This particular bug is very hard to test as it only appears + with certain GTK+ themes and we currently have no mechanism to test different + themes in DRT. + + * platform/gtk/gtk2drawing.c: + (moz_gtk_button_paint): Remove unnecessary code. + +2010-10-09 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Slider padding translate into a larger track rect + https://bugs.webkit.org/show_bug.cgi?id=47435 + + Instead of painting the track rectangle for ranges onto the entire RenderBox + rectangle, simply paint it on the content rectangle. This prevents misrendering + sliders with padding. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::paintSliderTrack): Paint onto the absoluteContentRect + of the slider instead of the entire area (which includes padding). + +2010-10-09 Kent Tamura <tkent@chromium.org> + + Unreviewed, trivial regression fix for r69445. + + RangeInputType::supportsRequired() should return false. + https://bugs.webkit.org/show_bug.cgi?id=47405 + + * html/RangeInputType.cpp: + (WebCore::RangeInputType::supportsRequired): + * html/RangeInputType.h: + +2010-10-09 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Refactor HTMLInputElement: Move typeMismatch(), valueMissing(), + isRequiredFormControl(), and recalcWillValidate() + https://bugs.webkit.org/show_bug.cgi?id=47405 + + Also make checkedRadioButtons() an inline member function of + HTMLInputElement in order that RadioInputType can use it. + + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::typeMismatchFor): + (WebCore::BaseDateAndTimeInputType::typeMismatch): + * html/BaseDateAndTimeInputType.h: + * html/ButtonInputType.cpp: + (WebCore::ButtonInputType::supportsValidation): + * html/ButtonInputType.h: + * html/CheckboxInputType.cpp: + (WebCore::CheckboxInputType::valueMissing): + * html/CheckboxInputType.h: + * html/ColorInputType.cpp: + (WebCore::isValidColorString): + (WebCore::ColorInputType::typeMismatchFor): + (WebCore::ColorInputType::typeMismatch): + (WebCore::ColorInputType::supportsRequired): + * html/ColorInputType.h: + * html/EmailInputType.cpp: + (WebCore::isValidEmailAddress): + (WebCore::EmailInputType::typeMismatchFor): + (WebCore::EmailInputType::typeMismatch): + * html/EmailInputType.h: + * html/FileInputType.cpp: + (WebCore::FileInputType::valueMissing): + * html/FileInputType.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::updateCheckedRadioButtons): + (WebCore::HTMLInputElement::isValidValue): + (WebCore::HTMLInputElement::typeMismatch): + (WebCore::HTMLInputElement::valueMissing): + (WebCore::HTMLInputElement::isKeyboardFocusable): + (WebCore::HTMLInputElement::updateType): + (WebCore::HTMLInputElement::parseMappedAttribute): + (WebCore::HTMLInputElement::setChecked): + (WebCore::HTMLInputElement::preDispatchEventHandler): + (WebCore::HTMLInputElement::isRequiredFormControl): + (WebCore::HTMLInputElement::recalcWillValidate): + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::checkedRadioButtons): + * html/HiddenInputType.cpp: + (WebCore::HiddenInputType::supportsValidation): + * html/HiddenInputType.h: + * html/ImageInputType.cpp: + (WebCore::ImageInputType::supportsValidation): + * html/ImageInputType.h: + * html/InputType.cpp: + (WebCore::InputType::supportsValidation): + (WebCore::InputType::typeMismatchFor): + (WebCore::InputType::typeMismatch): + (WebCore::InputType::supportsRequired): + (WebCore::InputType::valueMissing): + * html/InputType.h: + * html/IsIndexInputType.cpp: + (WebCore::IsIndexInputType::supportsRequired): + * html/IsIndexInputType.h: + * html/NumberInputType.cpp: + (WebCore::NumberInputType::typeMismatchFor): + (WebCore::NumberInputType::typeMismatch): + * html/NumberInputType.h: + * html/RadioInputType.cpp: + (WebCore::RadioInputType::valueMissing): + * html/RadioInputType.h: + * html/ResetInputType.cpp: + (WebCore::ResetInputType::supportsValidation): + * html/ResetInputType.h: + * html/SubmitInputType.cpp: + (WebCore::SubmitInputType::supportsValidation): + * html/SubmitInputType.h: + * html/TextFieldInputType.cpp: + (WebCore::TextFieldInputType::valueMissing): + * html/TextFieldInputType.h: + * html/URLInputType.cpp: + (WebCore::URLInputType::typeMismatchFor): + (WebCore::URLInputType::typeMismatch): + * html/URLInputType.h: + * html/ValidityState.cpp: + (WebCore::ValidityState::typeMismatch): + +2010-10-09 Pratik Solanki <psolanki@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47450 + Crash in WebCore::SocketStreamHandle::chooseProxyFromArray because proxyArray passed is nil + <rdar://problem/8244376> + + * platform/network/cf/SocketStreamHandleCFNet.cpp: + (WebCore::SocketStreamHandle::chooseProxyFromArray): If proxyArray is + NULL, return early to avoid crash. + +2010-10-08 Chris Rogers <crogers@google.com> + + Reviewed by James Robinson. + + Add HRTFPanner files + https://bugs.webkit.org/show_bug.cgi?id=46299 + + No new tests since audio API is not yet implemented. + + * platform/audio/HRTFPanner.cpp: Added. + (WebCore::HRTFPanner::HRTFPanner): + (WebCore::HRTFPanner::~HRTFPanner): + (WebCore::HRTFPanner::fftSizeForSampleRate): + (WebCore::HRTFPanner::reset): + (WebCore::wrapDistance): + (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend): + (WebCore::HRTFPanner::pan): + * platform/audio/HRTFPanner.h: Added. + (WebCore::HRTFPanner::fftSize): + (WebCore::HRTFPanner::sampleRate): + +2010-10-08 James Robinson <jamesr@chromium.org> + + Reviewed by Adam Barth. + + Avoid inlining large and/or virtual functions in widely included header files + https://bugs.webkit.org/show_bug.cgi?id=47230 + + Functions with very large bodies should not be included in widely included header files. + This results in the function's code ending up included in hundreds of object files that + the linker has to discard, at a cost of linker memory use, link time, and disk space. This + is a particular problem in the Chromium windows build where MSVC often exhausts its 32-bit + virtual address space and completely fails to link. + + This patch moves function definitions from the .h to the corresponding .cpp when the function + is large and not a candidate for inlining either because it is virtual or because its size is + above any reasonable compiler's threshhold for inlining. The most common case by far in this + patch is changing a class' implicitly defined destructor to an explicitly declared d'tor in + the header and an explicitly defined d'tor in the .cpp. This is important since many of our + container and utility classes (especially Vector, String, and HashSet) have quite large + destructors. + + This patch removes 22.4MB of object file size in a debug 64 bit compile. + + * css/CSSBorderImageValue.cpp: + (WebCore::CSSBorderImageValue::~CSSBorderImageValue): + * css/CSSBorderImageValue.h: + * css/CSSFontFaceSrcValue.cpp: + (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue): + * css/CSSFontFaceSrcValue.h: + * css/CSSFunctionValue.h: + * dom/BeforeTextInsertedEvent.cpp: + (WebCore::BeforeTextInsertedEvent::~BeforeTextInsertedEvent): + * dom/BeforeTextInsertedEvent.h: + * dom/BeforeUnloadEvent.cpp: + (WebCore::BeforeUnloadEvent::~BeforeUnloadEvent): + * dom/BeforeUnloadEvent.h: + * dom/ClassNodeList.h: + * dom/ClipboardEvent.cpp: + (WebCore::ClipboardEvent::~ClipboardEvent): + * dom/ClipboardEvent.h: + * dom/CustomEvent.cpp: + (WebCore::CustomEvent::~CustomEvent): + * dom/CustomEvent.h: + * dom/Element.cpp: + * dom/Element.h: + * dom/EventTarget.cpp: + (WebCore::EventTargetData::EventTargetData): + * dom/EventTarget.h: + * dom/InputElement.cpp: + (WebCore::InputElementData::~InputElementData): + * dom/InputElement.h: + * dom/MutationEvent.cpp: + (WebCore::MutationEvent::~MutationEvent): + * dom/MutationEvent.h: + * dom/Node.cpp: + (WebCore::Node::refEventTarget): + (WebCore::Node::derefEventTarget): + * dom/Node.h: + * dom/OptionElement.cpp: + (WebCore::OptionElementData::~OptionElementData): + * dom/OptionElement.h: + * dom/PopStateEvent.cpp: + (WebCore::PopStateEvent::~PopStateEvent): + * dom/PopStateEvent.h: + * dom/QualifiedName.cpp: + (WebCore::QualifiedName::~QualifiedName): + * dom/QualifiedName.h: + * dom/SelectElement.cpp: + (WebCore::SelectElementData::~SelectElementData): + * dom/SelectElement.h: + * dom/StaticHashSetNodeList.cpp: + (WebCore::StaticHashSetNodeList::StaticHashSetNodeList): + (WebCore::StaticHashSetNodeList::~StaticHashSetNodeList): + * dom/StaticHashSetNodeList.h: + * dom/StyleElement.cpp: + (WebCore::StyleElement::~StyleElement): + * dom/StyleElement.h: + * dom/TouchEvent.cpp: + (WebCore::TouchEvent::TouchEvent): + (WebCore::TouchEvent::~TouchEvent): + * dom/TouchEvent.h: + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::~CompositeEditCommand): + * editing/CompositeEditCommand.h: + * editing/TextIterator.cpp: + (WebCore::BitStack::~BitStack): + (WebCore::TextIterator::~TextIterator): + (WebCore::WordAwareIterator::~WordAwareIterator): + * editing/TextIterator.h: + * inspector/InspectorValues.cpp: + (WebCore::InspectorObject::~InspectorObject): + (WebCore::InspectorObject::InspectorObject): + (WebCore::InspectorArray::~InspectorArray): + (WebCore::InspectorArray::InspectorArray): + * inspector/InspectorValues.h: + * loader/CachedResource.cpp: + (WebCore::CachedResource::registerHandle): + (WebCore::CachedResource::unregisterHandle): + * loader/CachedResource.h: + * platform/network/HTTPHeaderMap.cpp: + (WebCore::HTTPHeaderMap::HTTPHeaderMap): + (WebCore::HTTPHeaderMap::~HTTPHeaderMap): + (WebCore::HTTPHeaderMap::get): + (WebCore::HTTPHeaderMap::add): + * platform/network/HTTPHeaderMap.h: + * rendering/RenderApplet.cpp: + (WebCore::RenderApplet::~RenderApplet): + * rendering/RenderApplet.h: + * rendering/RenderButton.cpp: + (WebCore::RenderButton::~RenderButton): + * rendering/RenderButton.h: + * rendering/RenderCounter.cpp: + (WebCore::RenderCounter::~RenderCounter): + * rendering/RenderCounter.h: + * rendering/RenderFieldset.h: + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::~RenderForeignObject): + * rendering/RenderForeignObject.h: + * rendering/RenderFrame.h: + * rendering/RenderFrameBase.h: + * rendering/RenderHTMLCanvas.h: + * rendering/RenderIFrame.h: + * rendering/RenderInline.h: + * rendering/RenderListItem.h: + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::~RenderMarquee): + * rendering/RenderMarquee.h: + * rendering/RenderPath.cpp: + (WebCore::RenderPath::~RenderPath): + * rendering/RenderPath.h: + * rendering/RenderSVGBlock.h: + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::~RenderSVGContainer): + * rendering/RenderSVGContainer.h: + * rendering/RenderSVGHiddenContainer.h: + * rendering/RenderSVGInline.h: + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::~RenderSVGInlineText): + * rendering/RenderSVGInlineText.h: + * rendering/RenderSVGModelObject.h: + * rendering/RenderSVGResourceFilterPrimitive.h: + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::~RenderSVGRoot): + * rendering/RenderSVGRoot.h: + * rendering/RenderSVGTSpan.h: + * rendering/RenderSVGText.h: + * rendering/RenderSVGTextPath.h: + * rendering/RenderSVGTransformableContainer.h: + * rendering/RenderSVGViewportContainer.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::~RenderTable): + * rendering/RenderTable.h: + * rendering/RenderTableCell.h: + * rendering/RenderTableCol.h: + * rendering/RenderTableRow.h: + * rendering/RenderTextFragment.cpp: + (WebCore::RenderTextFragment::~RenderTextFragment): + * rendering/RenderTextFragment.h: + * rendering/RenderWordBreak.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::~SVGStyledElement): + * svg/SVGStyledElement.h: + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::~SVGStyledTransformableElement): + * svg/SVGStyledTransformableElement.h: + * xml/XPathParser.cpp: + (WebCore::XPath::Parser::~Parser): + * xml/XPathParser.h: + +2010-10-08 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Daniel Bates. + + [GTK] Fails /LayoutTests/fast/css/button-height.html + https://bugs.webkit.org/show_bug.cgi?id=33936 + + GTK buttons honor height property set via CSS. The code for the method + adjustButtonStyle originates from the original GTK+ theme drawing code + and is clearly just a copy-paste from the Safari theme drawing code. The + Safari theme drawing code does quite a bit of work to ensure that button + fonts are consistent with the system theme, which is not something the GTK+ + port does. + + This change brings the method more in line with the Chromium port, which + allows CSS to style buttons, only overriding the line-height property, + which is required for layout tests to pass. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::adjustButtonStyle): No longer override most CSS + properties for button styling. + +2010-10-08 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Adam Barth. + + popstate events are lost when network connection is in progress + https://bugs.webkit.org/show_bug.cgi?id=42940 + + Instead of checking FrameLoader::isComplete() (which isn't true if the + document's resource loader has requests outstanding), check that the + document's readyState is complete, as the spec says. + + Test: http/tests/history/popstate-fires-with-pending-requests.html + + * dom/Document.cpp: + (WebCore::Document::statePopped): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didBeginDocument): Added call to set readyState + to Loading earlier. Otherwise, readyState's initial value is Complete, + and we only set it to Loading in Document::implicitOpen (which is called + after FrameLoader::didBeginDocument by DocumentWriter::begin), so we + could end up in Document::statePopped and have the readyState be + Complete, even if we hadn't even begin loading the document. + +2010-10-08 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Tony Chang. + + [chromium] Update ReadableDataObject/WritableDataObject interface for ChromiumDataObject change + https://bugs.webkit.org/show_bug.cgi?id=47394 + + Minor cleanup--these classes have suffered from bit rot since they aren't + actively used at the moment. The three main changes are to: + 1) Condense getURL, setURL, getHTML, setHTML, urlTitle, htmlBaseUrl, + setUrlTitle, and sethtmlBaseUrl into setters/getters for just the URL + title and HTML base URL. + 2) Use Clipboard::ClipboardType instead of a bool. + 3) Remove the use of virtuals, as they are no longer needed.. + + * platform/chromium/ReadableDataObject.cpp: + (WebCore::clipboardBuffer): + (WebCore::ReadableDataObject::create): + (WebCore::ReadableDataObject::ReadableDataObject): + (WebCore::ReadableDataObject::getData): + (WebCore::ReadableDataObject::urlTitle): renamed from getURL + (WebCore::ReadableDataObject::htmlBaseUrl): renamed from getHTML + (WebCore::ReadableDataObject::containsFilenames): + (WebCore::ReadableDataObject::filenames): + (WebCore::ReadableDataObject::ensureTypeCacheInitialized): + * platform/chromium/ReadableDataObject.h: + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::create): + (WebCore::WritableDataObject::WritableDataObject): + (WebCore::WritableDataObject::setData): + * platform/chromium/WritableDataObject.h: + (WebCore::WritableDataObject::setUrlTitle): renamed from setURL + (WebCore::WritableDataObject::setHtmlBaseUrl): renamed from setHTML + (WebCore::WritableDataObject::dataMap): + (WebCore::WritableDataObject::urlTitle): + (WebCore::WritableDataObject::htmlBaseURL): + (WebCore::WritableDataObject::fileExtension): + (WebCore::WritableDataObject::fileContentFilename): + (WebCore::WritableDataObject::fileContent): + (WebCore::WritableDataObject::setFileExtension): + (WebCore::WritableDataObject::setFileContentFilename): + (WebCore::WritableDataObject::setFileContent): + +2010-10-08 Abhishek Arya <inferno@chromium.org> + + Unreviewed, rolling out r69360. + http://trac.webkit.org/changeset/69360 + https://bugs.webkit.org/show_bug.cgi?id=46921 + + Test still crashing on chromium test_shell + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::renderFallbackContent): + +2010-10-08 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r68574. + http://trac.webkit.org/changeset/68574 + https://bugs.webkit.org/show_bug.cgi?id=47433 + + [chromium] Breaks partial repaint of images while scrolling + (Requested by jamesr on #webkit). + + * platform/graphics/skia/ImageSkia.cpp: + (WebCore::computeResamplingMode): + (WebCore::drawResampledBitmap): + +2010-10-08 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + REGRESSION (r66223): Crash when using CSS content and -webkit-mask-box-image properties containing cached images. + https://bugs.webkit.org/show_bug.cgi?id=47430 + + Test: fast/replaced/css-content-and-webkit-mask-box-image-crash.html + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::imageChanged): imageChanged() can be called prior + to m_imageResource being set. The appropriate thing to do in this case + is to return early. + (WebCore::RenderImage::notifyFinished): Ditto. + +2010-10-08 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IndexedDB does not have a quota mechanism. + https://bugs.webkit.org/show_bug.cgi?id=47389 + + Test: storage/indexeddb/database-quota.html + + Add a simple mechanism for enforcing a maximum size + for each origin using IndexedDB. Note that this depends + on having one SQLite database file per origin, which is + addressed in a separate patch. + + * page/GroupSettings.cpp: + (WebCore::GroupSettings::GroupSettings): + (WebCore::GroupSettings::setIndexedDBQuotaBytes): + * page/GroupSettings.h: + (WebCore::GroupSettings::indexedDBQuotaBytes): + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::createObjectStore): + (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): + (WebCore::IDBDatabaseBackendImpl::removeObjectStore): + (WebCore::IDBDatabaseBackendImpl::setVersionInternal): + * storage/IDBFactory.cpp: + (WebCore::IDBFactory::open): + * storage/IDBFactoryBackendImpl.cpp: + (WebCore::openSQLiteDatabase): + (WebCore::IDBFactoryBackendImpl::open): + * storage/IDBFactoryBackendImpl.h: + * storage/IDBFactoryBackendInterface.h: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::putObjectStoreData): + (WebCore::putIndexData): + (WebCore::IDBObjectStoreBackendImpl::put): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): + * storage/IDBObjectStoreBackendImpl.h: + +2010-10-08 Gavin Peters <gavinp@chromium.org> + + Reviewed by Adam Barth. + + Output X-Purpose header for prefetch requests + https://bugs.webkit.org/show_bug.cgi?id=46529 + + Test: http/tests/misc/prefetch-purpose.html + + * loader/loader.cpp: + (WebCore::Loader::Host::servePendingRequests): + +2010-10-08 James Kozianski <koz@chromium.org> + + Reviewed by Simon Fraser. + + Crash on reload when CSS property 'content' has malformed URL. + https://bugs.webkit.org/show_bug.cgi?id=47322 + + Make CSSStyleSelector handle the case where a cached image can't be + produced due to a malformed URL. + + Test: fast/css-generated-content/malformed-url.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::loadPendingImages): + +2010-10-08 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG feImage needs absolute subregion for preserveAspectRatio + https://bugs.webkit.org/show_bug.cgi?id=47409 + + PreserverAspectRatio needs the subregion in absolute coordinates to determine + the destination position and size of the input image. The maxEffectRect() already + stores the absolute subregion, but clipped to the filter region. + + Test: svg/W3C-SVG-1.1se/filters-image-03-f.svg + + * platform/graphics/filters/FETile.cpp: + (WebCore::FETile::apply): + * platform/graphics/filters/FilterEffect.h: Added enum to differentate sourece inputs, feTile and feImage. + (WebCore::FilterEffect::filterEffectType): + * platform/graphics/filters/SourceAlpha.h: Make use of the new enum in FilterEffect + (WebCore::SourceAlpha::filterEffectType): + * platform/graphics/filters/SourceGraphic.h: Ditto. + (WebCore::SourceGraphic::filterEffectType): + * svg/graphics/filters/SVGFEImage.cpp: Take the absolute subregion to determine the destination rect for input image. + (WebCore::FEImage::apply): + * svg/graphics/filters/SVGFEImage.h: Ditto. + (WebCore::FEImage::setAbsoluteSubregion): + (WebCore::FEImage::filterEffectType): + * svg/graphics/filters/SVGFilter.cpp: Give over subregion in absolute coordinates to feImage. Just feImage makes use of it. + (WebCore::SVGFilter::determineFilterPrimitiveSubregion): + +2010-10-08 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + gradient stroke on lines does not work + https://bugs.webkit.org/show_bug.cgi?id=40985 + + Correct handling of invalid fill/stroke paint servers / colors according to SVG 1.1 2nd Edition. + Perfectly matches Opera, and now lets us pass three of the new tests. + + Fix incorrect svg/custom/invalid-fill* tests: + -> If there's an invalid fill URI, but no fallback specified, it is as if fill="black" was specified. (invalid-fill.svg) + -> If there's an invalid fill color, but no fallback specified, it is as if fill="none" was specified. (invalid-fill-hex.svg) + + Needed to refactor some of the gradient/pattern code to properly handle fallback paint servers. + As side effect, we're allowing gradients with gradientUnits="userSpaceOnUse" to apply on 1d objects (lines) again, per SVG 1.1 2nd edition. + + Tests: svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg + svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg + svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg + + * rendering/RenderSVGResource.cpp: Rewrite fill/stroke paint resource requests, share all code between the similar functions. + (WebCore::requestPaintingResource): + (WebCore::RenderSVGResource::fillPaintingResource): + (WebCore::RenderSVGResource::strokePaintingResource): + * rendering/RenderSVGResource.h: + * rendering/RenderSVGResourceGradient.cpp: Split collecting gradient properties from building the gradient. We don't need to build it, if it's not applyable (eg. on 1d lines). + (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): + (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache): + (WebCore::clipToTextMask): + (WebCore::RenderSVGResourceGradient::applyResource): + * rendering/RenderSVGResourceGradient.h: Stop storing boundingBoxMode & gradientTransform in each GradientData object, it's enough to just store it in the gradient resource, once. + * rendering/RenderSVGResourceLinearGradient.cpp: + (WebCore::RenderSVGResourceLinearGradient::collectGradientAttributes): Splitted from buildGradient. + (WebCore::RenderSVGResourceLinearGradient::buildGradient): + * rendering/RenderSVGResourceLinearGradient.h: + (WebCore::RenderSVGResourceLinearGradient::boundingBoxMode): Return bounding box mode information, from m_attributes instead of storing in gradientData. + (WebCore::RenderSVGResourceLinearGradient::calculateGradientTransform): Ditto. + * rendering/RenderSVGResourcePattern.cpp: Split collecting pattern properties from building the pattern. We don't need to build it, if it's not applyable (eg. on 1d lines). + (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern): + (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache): + (WebCore::RenderSVGResourcePattern::applyResource): + (WebCore::RenderSVGResourcePattern::buildTileImageTransform): + * rendering/RenderSVGResourcePattern.h: + * rendering/RenderSVGResourceRadialGradient.cpp: + (WebCore::RenderSVGResourceRadialGradient::collectGradientAttributes): + (WebCore::RenderSVGResourceRadialGradient::buildGradient): + * rendering/RenderSVGResourceRadialGradient.h: + (WebCore::RenderSVGResourceRadialGradient::boundingBoxMode): + (WebCore::RenderSVGResourceRadialGradient::calculateGradientTransform): + * rendering/SVGRenderTreeAsText.cpp: Adapt to change, that fill/strokePaintingResource now take a Color& fallbackColor parameter. + (WebCore::writeStyle): + (WebCore::writeSVGResourceContainer): + * rendering/svg/RenderSVGPath.cpp: + (WebCore::RenderSVGPath::fillContains): Ditto. + (WebCore::RenderSVGPath::strokeContains): Ditto. + (WebCore::RenderSVGPath::fillAndStrokePath): Properly handle fallback color, if an existing (!) paint server failed to apply. + * rendering/svg/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::acquirePaintingResource): Ditto. + * svg/SVGLinearGradientElement.cpp: + (WebCore::SVGLinearGradientElement::collectGradientAttributes): Pass LinearGradientAttributes by reference, instead of returning a copy. + * svg/SVGLinearGradientElement.h: Rename collectGradientProperties to collectGradientAttributes. + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::collectPatternAttributes): Pass PatternAttributes by reference, instead of returning. + * svg/SVGPatternElement.h: Rename collectPatternProperties to collectPatternAttributes. + * svg/SVGRadialGradientElement.cpp: + (WebCore::SVGRadialGradientElement::collectGradientAttributes): Pass RadialGradientAttributes by reference, instead of returning a copy. + * svg/SVGRadialGradientElement.h: Rename collectGradientProperties to collectGradientAttributes. + +2010-10-08 Benjamin Poulain <benjamin.poulain@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Slider widgets looks bad on Mac + https://bugs.webkit.org/show_bug.cgi?id=47421 + + This patch change the rendering of the slider to only have the + subcontrols that would be defined by default on a QSlider. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintSliderTrack): + +2010-10-08 Renata Hodovan <reni@inf.u-szeged.hu> + + Reviewed by Andreas Kling. + + SVGFEColorMatrixElement doesn't support dynamic invalidation, when attributes change. + https://bugs.webkit.org/show_bug.cgi?id=47342 + + The dynamic changes are captured by the svgAttributeChange function, and invalidate the filter primitive if necessary. + + Tests: svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html + svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html + svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html + svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html + svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html + svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html + + * svg/SVGFEColorMatrixElement.cpp: + (WebCore::SVGFEColorMatrixElement::svgAttributeChanged): + * svg/SVGFEColorMatrixElement.h: + +2010-10-08 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: save InspectorController in instrumentation cookie + https://bugs.webkit.org/show_bug.cgi?id=47406 + + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::evaluate): + (WebCore::V8Proxy::callFunction): + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + * dom/Node.cpp: + (WebCore::Node::dispatchGenericEvent): + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::pumpTokenizer): + * inspector/InspectorInstrumentation.cpp: + * inspector/InspectorInstrumentation.h: + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::didReceiveResponse): + (WebCore::ResourceLoader::didReceiveData): + * page/DOMTimer.cpp: + (WebCore::DOMTimer::fired): + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchEvent): + * page/FrameView.cpp: + (WebCore::FrameView::layout): + (WebCore::FrameView::paintContents): + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintContents): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::callReadyStateChangeListener): + +2010-10-08 Adam Roben <aroben@apple.com> + + Windows Release build fix for 32-bit systems + + WebCore had once again grown too large for the linker's virtual + address space on 32-bit systems. I combined WebCore/rendering, + WebCore/rendering/style, and WebCore/dom into new *AllInOne.cpp files, + and added a few more files to RenderSVGAllInOne.cpp. + + Fixes <http://webkit.org/b/47417> <rdar://problem/8529362> + + * WebCore.vcproj/WebCore.vcproj: Added new *AllInOne.cpp files and + excluded the individual files they contain from the build. + + * rendering/RenderSVGAllInOne.cpp: Added a few more files to this. + + * dom/DOMAllInOne.cpp: Added. + * rendering/RenderingAllInOne.cpp: Added. + * rendering/style/StyleAllInOne.cpp: Added. + +2010-10-08 Girish Ramakrishnan <girish@forwardbias.in> + + Reviewed by Andreas Kling. + + [Qt] Use constBegin and constEnd when using const iterators + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): + (WebCore::GraphicsLayerQtImpl::updateTransform): + (WebCore::GraphicsLayerQtImpl::flushChanges): + +2010-10-07 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add resource viewer to the network panel. + https://bugs.webkit.org/show_bug.cgi?id=47346 + + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid): + (WebInspector.DataGrid.prototype.autoSizeColumns): + (WebInspector.DataGrid.prototype.updateWidths): + (WebInspector.DataGrid.prototype.columnWidthsMap): + (WebInspector.DataGrid.prototype.applyColumnWidthsMap): + (WebInspector.DataGrid.prototype.isColumnVisible): + (WebInspector.DataGrid.prototype.showColumn): + (WebInspector.DataGrid.prototype.hideColumn): + (WebInspector.DataGrid.prototype._positionResizers): + (WebInspector.DataGrid.prototype._resizerDragging): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel): + (WebInspector.NetworkPanel.prototype.updateSidebarWidth): + (WebInspector.NetworkPanel.prototype.updateMainViewWidth): + (WebInspector.NetworkPanel.prototype.handleShortcut): + (WebInspector.NetworkPanel.prototype._createTable): + (WebInspector.NetworkPanel.prototype._sortItems): + (WebInspector.NetworkPanel.prototype._sortByTimeline): + (WebInspector.NetworkPanel.prototype._createSummaryBar): + (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded): + (WebInspector.NetworkPanel.prototype.hide): + (WebInspector.NetworkPanel.prototype.get searchableViews): + (WebInspector.NetworkPanel.prototype.refresh): + (WebInspector.NetworkPanel.prototype.reset): + (WebInspector.NetworkPanel.prototype.refreshResource): + (WebInspector.NetworkPanel.prototype.canShowSourceLine): + (WebInspector.NetworkPanel.prototype.showSourceLine): + (WebInspector.NetworkPanel.prototype._showResource): + (WebInspector.NetworkPanel.prototype._closeVisibleResource): + (WebInspector.NetworkPanel.prototype._resourceViewForResource): + (WebInspector.NetworkPanel.prototype._resourceViewTypeMatchesResource): + (WebInspector.NetworkPanel.prototype._toggleGridMode): + (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode): + (WebInspector.NetworkDataGridNode): + (WebInspector.NetworkDataGridNode.prototype.select): + (WebInspector.NetworkDataGridNode.prototype._createTimelineCell): + * inspector/front-end/networkPanel.css: + (#network-container): + (#network-views): + (.network.panel .data-grid.full-grid-mode .viewer-column): + (.network.panel .data-grid.brief-grid-mode .time-column): + (.network.panel.viewing-resource .network-timeline-grid): + (.network.panel .data-grid.viewing-resource-mode .timeline-column): + (.network.panel .network-sidebar): + (.network.panel:not(.viewing-resource) .sidebar-resizer-vertical): + (.network.panel.viewing-resource .data-grid-resizer): + (.network.panel .scope-bar): + (.network.panel .resource-view.headers-visible .resource-view-content): + (.network.panel:not(.viewing-resource) .data-grid tr.selected): + +2010-10-08 Andreas Kling <kling@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVGTextLayoutAttributesBuilder: "XValue" and "YValue" clash with X11 macros + https://bugs.webkit.org/show_bug.cgi?id=47180 + + Rename *Value to *ValueAttribute + + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: + (WebCore::SVGTextLayoutAttributesBuilder::nextLayoutValue): + (WebCore::SVGTextLayoutAttributesBuilder::assignLayoutAttributesForCharacter): + * rendering/svg/SVGTextLayoutAttributesBuilder.h: + +2010-10-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Don't use -whole-archive to link-in libWebKit2.a except for libQtWebKit.so + https://bugs.webkit.org/show_bug.cgi?id=47347 + + * WebCore.pro: + +2010-10-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Implement IntRectEfl.cpp + https://bugs.webkit.org/show_bug.cgi?id=47403 + + Implement IntRect for Efl Port using Eina_Rectangle. + + * platform/graphics/IntRect.h: + * platform/graphics/efl/IntRectEfl.cpp: + (WebCore::IntRect::IntRect): + (WebCore::IntRect::operator Eina_Rectangle): + +2010-10-08 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Nikolas Zimmermann. + + SVG: Make RenderPath DRT output platform-independent + https://bugs.webkit.org/show_bug.cgi?id=46051 + + Move away from using the port-specific Path::debugString() to dump + RenderPath objects. This shrinks the DRT output delta between platforms + and makes it more readable as we now dump only the relevant, + element-specific properties of each object. + + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::operator<<): + Generate DRT output for RenderPaths in a platform-independent manner, + dumping the relevant element properties. + +2010-10-08 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by David Levin. + + Fix FileSystem path validation order to normalize '..' and '.' before restriction checks + https://bugs.webkit.org/show_bug.cgi?id=47309 + + Test: fast/filesystem/op-get-entry.html + + * fileapi/DOMFileSystemBase.cpp: + (WebCore::DOMFileSystemBase::getFile): Fixed the path validation order. + (WebCore::DOMFileSystemBase::getDirectory): Fixed the path validation order. + +2010-10-08 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Port GTK+ theming code to GTK+ 3.x APIs + https://bugs.webkit.org/show_bug.cgi?id=47398 + + Create a new gtk3drawing file for the widget drawing primitives in + WebKit, using the GTK+ 3.x APIs. It's very similar to the GTK+ 2.x + code at the moment, but we'll evolve it incrementally from here. + + * GNUmakefile.am: + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::partsForDrawable): + (WebCore::RenderThemeGtk::paintMozillaGtkWidget): + * platform/gtk/gtk2drawing.c: + (TSOffsetStyleGCArray): + (TSOffsetStyleGCs): + (moz_gtk_button_paint): + (moz_gtk_scrollbar_thumb_paint): + (moz_gtk_entry_paint): + (moz_gtk_combo_box_paint): + (moz_gtk_get_widget_border): + * platform/gtk/gtk3drawing.c: Added. + * platform/gtk/gtkdrawing.h: + +2010-10-07 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Kent Tamura. + + [chromium] Fix indentation in ChromiumDataObject.h + https://bugs.webkit.org/show_bug.cgi?id=47396 + + Just a cleanup patch to make followup diffs smaller. + + * platform/chromium/ChromiumDataObject.h: + (WebCore::ChromiumDataObject::create): + (WebCore::ChromiumDataObject::copy): + (WebCore::ChromiumDataObject::urlTitle): + (WebCore::ChromiumDataObject::setUrlTitle): + (WebCore::ChromiumDataObject::htmlBaseUrl): + (WebCore::ChromiumDataObject::setHtmlBaseUrl): + (WebCore::ChromiumDataObject::containsFilenames): + (WebCore::ChromiumDataObject::filenames): + (WebCore::ChromiumDataObject::setFilenames): + (WebCore::ChromiumDataObject::fileExtension): + (WebCore::ChromiumDataObject::setFileExtension): + (WebCore::ChromiumDataObject::fileContentFilename): + (WebCore::ChromiumDataObject::setFileContentFilename): + (WebCore::ChromiumDataObject::fileContent): + (WebCore::ChromiumDataObject::setFileContent): + +2010-10-07 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Refactor HTMLInputElement: Move valueAsDate and valueAsNumber implementations + https://bugs.webkit.org/show_bug.cgi?id=47327 + + Move the content of HTMLInputElement::valueAsDate(), setValueAsDate(), + valueAsNumber(), and setValueAsNumber() to InputType, and move + serialize() and serializeForDateTimeTypes() too + + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::valueAsDate): + (WebCore::BaseDateAndTimeInputType::setValueAsDate): + (WebCore::BaseDateAndTimeInputType::valueAsNumber): + (WebCore::BaseDateAndTimeInputType::setValueAsNumber): + (WebCore::BaseDateAndTimeInputType::serialize): + * html/BaseDateAndTimeInputType.h: + * html/DateInputType.cpp: + (WebCore::DateInputType::setMillisecondToDateComponents): + * html/DateInputType.h: + * html/DateTimeInputType.cpp: + (WebCore::DateTimeInputType::setMillisecondToDateComponents): + * html/DateTimeInputType.h: + * html/DateTimeLocalInputType.cpp: + (WebCore::DateTimeLocalInputType::valueAsDate): + (WebCore::DateTimeLocalInputType::setValueAsDate): + (WebCore::DateTimeLocalInputType::setMillisecondToDateComponents): + * html/DateTimeLocalInputType.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::valueAsDate): + (WebCore::HTMLInputElement::setValueAsDate): + (WebCore::HTMLInputElement::valueAsNumber): + (WebCore::HTMLInputElement::setValueAsNumber): + (WebCore::HTMLInputElement::stepUpFromRenderer): + * html/HTMLInputElement.h: + * html/InputType.cpp: + (WebCore::InputType::valueAsDate): + (WebCore::InputType::setValueAsDate): + (WebCore::InputType::valueAsNumber): + (WebCore::InputType::setValueAsNumber): + (WebCore::InputType::serialize): + * html/InputType.h: + * html/MonthInputType.cpp: + (WebCore::MonthInputType::valueAsDate): + (WebCore::MonthInputType::setValueAsDate): + (WebCore::MonthInputType::setMillisecondToDateComponents): + * html/MonthInputType.h: + * html/NumberInputType.cpp: + (WebCore::NumberInputType::valueAsNumber): + (WebCore::NumberInputType::setValueAsNumber): + (WebCore::NumberInputType::serialize): + * html/NumberInputType.h: + * html/RangeInputType.cpp: + (WebCore::RangeInputType::valueAsNumber): + (WebCore::RangeInputType::setValueAsNumber): + (WebCore::RangeInputType::serialize): + * html/RangeInputType.h: + * html/TimeInputType.cpp: + (WebCore::TimeInputType::setMillisecondToDateComponents): + * html/TimeInputType.h: + * html/WeekInputType.cpp: + (WebCore::WeekInputType::setMillisecondToDateComponents): + * html/WeekInputType.h: + +2010-10-07 No'am Rosenthal <noam.rosenthal@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Texmap] [Qt] Texture mapper initial implementation + Texture Mapper is an implementation of accelerated compositing that doesn't require a + platform specific scenegraph library like CA or QGraphicsView. The idea is that with + time this would replace GraphicsLayerQt, and could serve as an implementation for other + platforms that don't have a scenegraph library. The first stage of this is to add all the code to trunk, + and enable it in Qt with an opt-in build flag so that it can be easily tested. Once it reaches + an adequate level of stability, we can enable it by default and eventually have it replace GraphicsLayerQt. + + This change includes only the common new files and the Qt backend; Still to come: the GL backend and integration layer. + + * platform/graphics/qt/TextureMapperQt.cpp: Added. + * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added. + * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added. + * platform/graphics/texmap/TextureMapper.h: Added. + * platform/graphics/texmap/TextureMapperPlatformLayer.h: Added. + +2010-10-07 Antonio Gomes <agomes@rim.com> + + Reviewed by Simon Fraser. + + [Mac] [DRT] implement setSpatialNavigationEnabled + https://bugs.webkit.org/show_bug.cgi?id=47291 + + Added Settings::setSpatialNavigationEnabled symbols to WebKit.exp.in + so it can be used from WebKit/mac. + + * WebCore.exp.in: + +2010-10-07 Eric Uhrhane <ericu@chromium.org> + + Reviewed by Jian Li + + [V8] Add FileWriter to active DOM map + https://bugs.webkit.org/show_bug.cgi?id=47380 + + It's an ActiveDOMObject; it needs to be in the map. + + * bindings/scripts/CodeGeneratorV8.pm: + +2010-10-07 Nico Weber <thakis@chromium.org> + + Reviewed by James Robinson. + + [chromium] Make sure to update the current graphics context when calling out to AppKit. + https://bugs.webkit.org/show_bug.cgi?id=47387 + + This ports r57741 to ThemeChromiumMac. It also reverts r66975, which is + now no longer necessary. + + Should be covered by existing tests. The checkbox at + http://webkit.org/blog-files/3d-transforms/morphing-cubes.html should + now show up correctly. + + * platform/chromium/ThemeChromiumMac.mm: + (WebCore::paintCheckbox): + (WebCore::paintRadio): + Create current context. + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::updateContents): + Remove LocalCurrentContext, it's now no longer necessary. + +2010-10-07 Cris Neckar <cdn@chromium.org> + + Reviewed by Adam Barth. + + Postpone clearing the imageLoader when rendering certain fallback content for objects until after the attach(). + https://bugs.webkit.org/show_bug.cgi?id=46921 + + Test: fast/html/object-image-nested-fallback.html + + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::renderFallbackContent): + +2010-10-07 Rafael Antognolli <antognolli@profusion.mobi> + + Reviewed by Kenneth Rohde Christiansen. + + [EFL] Fix shared timers on EFL port - make them thread safe. + https://bugs.webkit.org/show_bug.cgi?id=47383 + + Using ecore_timer_add to create a timer from a thread that is + not the main thread isn't safe. Now we add a pipe that is used + to request a timer to be added in the main thread. + + In order to reduce some delay on timers that are added with a + very small interval, the timer callback is called immediately + if the interval is smaller than the mainloop frame time. + + No new features, so no tests added. + + * platform/efl/SharedTimerEfl.cpp: + (WebCore::setSharedTimerFiredFunction): + (WebCore::timerEvent): + (WebCore::processTimers): + (WebCore::pipeHandlerCb): + (WebCore::stopSharedTimer): + (WebCore::addNewTimer): + (WebCore::setSharedTimerFireTime): + +2010-10-07 James Kozianski <koz@chromium.org> + + Reviewed by Adam Barth. + + getPropertyValue('border') is incorrect after border-top-width is set + https://bugs.webkit.org/show_bug.cgi?id=45949 + + Test: fast/dom/css-shorthand-common-value.html + + CSSMutableStyleDeclaration::getCommonValue() was ignoring values from + properties that were implicitly set, which led to erroneous results + from getPropertyValue(). + + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::getCommonValue): + +2010-10-07 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + REGRESSION: Indenting pre duplicates content + https://bugs.webkit.org/show_bug.cgi?id=47233 + + The bug was caused by our not splitting text nodes properly. + + In new approach, we split text nodes in each iteration. Added rangeForParagraphSplitingTextNodesIfNeeded + to split text nodes at the start and at the end of paragraph, which also adjusts start and end positions + for moveParagraphWithClones. Added endOfNextParagrahSplittingTextNodesIfNeeded to adjust endOfNextParagraph, + start, and end to work-around moveParagraphWithClones's removing a line feed. + + Tests: editing/execCommand/indent-pre-list.html + editing/execCommand/indent-pre-paragraphs.html + + * editing/ApplyBlockElementCommand.cpp: + (WebCore::ApplyBlockElementCommand::formatSelection): See above. + (WebCore::isNewLineAtPosition): + (WebCore::renderStyleOfEnclosingTextNode): Added. + (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Added. + (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Added. + * editing/ApplyBlockElementCommand.h: + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::formatRange): Takes two Positions instead of one VisiblePosition. + * editing/FormatBlockCommand.h: + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Ditto. + (WebCore::IndentOutdentCommand::indentIntoBlockquote): Ditto. + (WebCore::IndentOutdentCommand::formatRange): Ditto. + * editing/IndentOutdentCommand.h: + +2010-10-07 Jian Li <jianli@chromium.org> + + Reviewed by Adam Barth. + + Support generating a FormData object based on the data in an existing <form>. + https://bugs.webkit.org/show_bug.cgi?id=45929 + + Test: http/tests/local/formdata/send-form-data-constructed-from-form.html + + * bindings/js/JSDOMFormDataCustom.cpp: + (WebCore::toHTMLFormElement): + (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData): + * bindings/v8/custom/V8DOMFormDataCustom.cpp: + (WebCore::V8DOMFormData::constructorCallback): + * html/DOMFormData.cpp: + (WebCore::DOMFormData::DOMFormData): + * html/DOMFormData.h: + (WebCore::DOMFormData::create): + * html/DOMFormData.idl: + +2010-10-07 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dave Hyatt. + + Set the m_selectedChildren flag on the root inline box if one of the leaf + inline box from the bidi runs walk has a selection state. Remove the flag + setting logic from addToLine, since line boxes created in createLinesBoxes + should not be propagating selection state to root inline box. + https://bugs.webkit.org/show_bug.cgi?id=47201 + + Test: editing/selection/root-inlinebox-selected-children-crash.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::addToLine): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::constructLine): + +2010-10-07 Benjamin Otte <otte@gnome.org> + + Reviewed by Martin Robinson. + + [GTK] Code cleanup in PluginViewGtk.cpp for transparent plugins + https://bugs.webkit.org/show_bug.cgi?id=47361 + + Reduce some code in PluginViewGtk.cpp by doing things with Cairo instead + of directly with X11. This should work fine with GDK double-buffering, but + if we ever disable it, we'll need to verify that this is still functioning + properly. + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::paint): Do a bit of code cleanup. + +2010-10-07 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Add a WKPageFindClient, hook up WKPageCountStringMatches + https://bugs.webkit.org/show_bug.cgi?id=47373 + + Export find related symbols needed by WebKit2. + + * WebCore.exp.in: + +2010-10-07 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=47370 + + Make line box placement in the inline direction writing-mode-aware. Lines now set their y-position instead of x-position + when vertical. + + Refactored shadow overflow to give text-shadow the same helpers in RenderStyle that box-shadow has so that the shadow-walking loop in + placeBoxesInInlineDirection can be replaced with the helper. + + Overflow had to be patched to be writing-mode-aware so that the correct physical directions would be set for vertical line + boxes. + + Vertical lines are still not testable until they can be placed in the block direction. Then the render tree dumps + become meaningful (even if the pixel results look horrible). + + * rendering/InlineBox.h: + (WebCore::InlineBox::logicalRight): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesInInlineDirection): + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): + (WebCore::InlineFlowBox::logicalRightLayoutOverflow): + (WebCore::InlineFlowBox::logicalLeftVisualOverflow): + (WebCore::InlineFlowBox::logicalRightVisualOverflow): + (WebCore::InlineFlowBox::setInlineDirectionOverflowPositions): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::getShadowExtent): + (WebCore::RenderStyle::getShadowHorizontalExtent): + (WebCore::RenderStyle::getShadowVerticalExtent): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::getTextShadowExtent): + (WebCore::InheritedFlags::getTextShadowHorizontalExtent): + (WebCore::InheritedFlags::getTextShadowVerticalExtent): + (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent): + (WebCore::InheritedFlags::getBoxShadowExtent): + (WebCore::InheritedFlags::getBoxShadowHorizontalExtent): + (WebCore::InheritedFlags::getBoxShadowVerticalExtent): + (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent): + (WebCore::InheritedFlags::getShadowInlineDirectionExtent): + +2010-10-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + <rdar://problem/8142645> REGRESSION (r47440): Printing Mail messages with large fonts does not fill page + https://bugs.webkit.org/show_bug.cgi?id=47374 + + In the legacy (paint-time pagination) printing model, when there are overlapping lines, + adjustPageHeightDeprecated() was not idempotent, since the truncation point imposed by line n, + namely the top of line n, was above the bottom of line n-1, so in the next round, line n-1 + moved the truncation point up again. + + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::paint): Consider the top of the next line when deciding if the + current line extends below the truncation point. + +2010-10-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Beth Dakin. + + Use isIdentityOrTranslationOrFlipped() in scrollbar code + https://bugs.webkit.org/show_bug.cgi?id=47378 + + Replace old code that looked at values in the CGAffineTransform + with nicely named method that does the same test. + + * platform/mac/ScrollbarThemeMac.mm: + (WebCore::ScrollbarThemeMac::paint): + +2010-10-07 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Beth Dakin. + + Edge fringe artifact with transformed, masked elements (including reflections) + https://bugs.webkit.org/show_bug.cgi?id=19179 + + When drawing the mask images, use a transparency layer if the CTM + has a rotation, scale or skew in it to avoid antialiasing issues at + the edges. + + Test: fast/css/transformed-mask.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintMask): Don't bother painting the mask if + painting is disabled, which also avoids an assertion in getCTM(). + (WebCore::RenderBox::paintMaskImages): + +2010-10-07 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Map non-alphabet key code to Unicode value + https://bugs.webkit.org/show_bug.cgi?id=46002 + + Non-alphabet key codes are not equal to the unicode values. Add conversion. + + * platform/brew/PlatformKeyboardEventBrew.cpp: + (WebCore::singleCharacterString): + +2010-10-05 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Chris Fleizach. + + [GTK] The FreeType backend does not respect the FC_EMBOLDEN property + https://bugs.webkit.org/show_bug.cgi?id=46216 + + Look for the FC_EMBOLDEN property of the FcPattern when constructing + FontPlatformData and use it to enable synthetic bold fonts when necessary. + + Test: platform/gtk/fonts/fontconfig-synthetic-bold.html + + * platform/graphics/cairo/FontPlatformDataFreeType.cpp: + (WebCore::FontPlatformData::FontPlatformData): Properly handle the FC_EMBOLDEN property. + +2010-10-07 James Simonsen <simonjam@chromium.org> + + Reviewed by Pavel Feldman. + + [Web Timing] Use platform definition of responseEnd + https://bugs.webkit.org/show_bug.cgi?id=46306 + + No new tests. Used existing webtiming test. + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::didFinishLoading): + +2010-10-05 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Chris Fleizach. + + [Gtk] CSS font-style: italic behavior + https://bugs.webkit.org/show_bug.cgi?id=33299 + + Properly interpret the FC_MATRIX property from a FontConfig pattern. + FontConfig will use this property when returning fonts which have a + synthetic oblique variant configured in the fonts.conf configuration + file. + + Test: platform/gtk/fonts/fontconfig-synthetic-oblique.html + + * platform/graphics/cairo/FontPlatformDataFreeType.cpp: + (WebCore::FontPlatformData::FontPlatformData): Added a constructor that + takes an existing FontPlatformData and a font size. + (WebCore::FontPlatformData::initializeWithFontFace): Added this helper + intialization method that properly handles the FC_MATRIX property from + the FcPattern. + * platform/graphics/cairo/FontPlatformDataFreeType.h: Added a declaration + to the new constructor and the initializeWithFontFace. + * platform/graphics/cairo/SimpleFontDataCairo.cpp: + (WebCore::SimpleFontData::smallCapsFontData): Use the new FontPlatformData + constructor. + +2010-10-07 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47357 + + Make findNextLineBreak and some of the helper functions it also calls writing-mode-aware. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesInBlockDirection): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::positionNewFloatOnLine): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::getBorderPaddingMargin): + (WebCore::inlineLogicalWidth): + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + (WebCore::inlineFlowRequiresLineBox): + (WebCore::RenderBlock::skipLeadingWhitespace): + (WebCore::RenderBlock::fitBelowFloats): + (WebCore::RenderBlock::findNextLineBreak): + * rendering/RenderBoxModelObject.h: + (WebCore::RenderBoxModelObject::hasInlineDirectionBordersPaddingOrMargin): + (WebCore::RenderBoxModelObject::hasInlineDirectionBordersOrPadding): + +2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + Fixing viewport meta tag user-scalable handling + https://bugs.webkit.org/show_bug.cgi?id=47330 + + user-scalable attribute was not considered in viewport meta tag handling. + + * dom/ViewportArguments.cpp: + (WebCore::findConfigurationForViewportData): + * dom/ViewportArguments.h: + +2010-10-05 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Andreas Kling. + + [Qt] Hook up accelerometer data via Qt DeviceMotion + https://bugs.webkit.org/show_bug.cgi?id=47105 + + Get accelerometer necessary data via Qt mobility library using a + provider class. Enable, also the RotationRate using the current device + orientation provider. + + * WebCore.pro: + +2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + Some viewport meta tag api refactoring + https://bugs.webkit.org/show_bug.cgi?id=47334 + + WebCore::findConfigurationForViewportData renamed to computeViewportAttributes. + WebCore::ViewportAttributes::layoutViewport renamed to layoutSize. + + * dom/ViewportArguments.cpp: + (WebCore::computeViewportAttributes): + * dom/ViewportArguments.h: + +2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Don't use GtkObject + https://bugs.webkit.org/show_bug.cgi?id=47090 + + GtkObject has been removed in gtk3. + + * plugins/gtk/gtk2xtbin.c: + (gtk_xtbin_class_init): + (gtk_xtbin_dispose): + +2010-10-07 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: highlight XHR breakpoint when hit. + https://bugs.webkit.org/show_bug.cgi?id=47253 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::setNativeBreakpoint): + (WebCore::InspectorController::removeNativeBreakpoint): + (WebCore::InspectorController::findEventListenerBreakpoint): + (WebCore::InspectorController::findXHRBreakpoint): + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl): + (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl): + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype.createXHRBreakpoint): + (WebInspector.BreakpointManager.prototype._xhrBreakpointRemoved): + (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint): + (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled): + (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend.didSetNativeBreakpoint): + (WebInspector.BreakpointManager.prototype._setNativeBreakpointOnBackend): + (WebInspector.BreakpointManager.prototype._removeNativeBreakpointFromBackend): + (WebInspector.BreakpointManager.prototype.debuggerPaused): + (WebInspector.BreakpointManager.prototype.debuggerResumed): + (WebInspector.NativeBreakpoint): + (WebInspector.NativeBreakpoint.prototype.get enabled): + (WebInspector.NativeBreakpoint.prototype.set enabled): + (WebInspector.NativeBreakpoint.prototype.remove): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointItem): + (WebInspector.BreakpointItem.prototype._breakpointClicked): + (WebInspector.BreakpointItem.prototype._hitStateChanged): + * inspector/front-end/CallStackSidebarPane.js: + (WebInspector.CallStackSidebarPane.prototype.updateStatus): + * inspector/front-end/inspector.css: + (.breakpoint-list .breakpoint-hit): + * inspector/front-end/inspector.js: + (WebInspector.pausedScript): + (WebInspector.resumedScript): + +2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix the build for GTK+ 3 + https://bugs.webkit.org/show_bug.cgi?id=47249 + + Use GdkVisual instead of GdkColormap. GdkColormap has been removed + in gtk3. + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::platformStart): + * plugins/gtk/gtk2xtbin.c: + (gtk_xtbin_new): + +2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix the build for GTK+ 3 + https://bugs.webkit.org/show_bug.cgi?id=47249 + + Do not use GdkDrawable deprecated API. Some methods of GdkDrawable + are deprecated in gtk2 and have been removed in gtk3. Equivalent + API has been added to GdkWindow. + + * platform/gtk/GtkVersioning.c: + (getDefaultGDKPointerDevice): + * platform/gtk/GtkVersioning.h: + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::getVisual): + (WebCore::screenAvailableRect): + +2010-10-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Andreas Kling. + + [Qt] Disconnect signals before destroying MediaPlayerPrivateQt + + https://bugs.webkit.org/show_bug.cgi?id=47073 + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + +2010-10-07 Alexander Pavlov <apavlov@chromium.org> + + Unreviewed, release build fix. + + * inspector/InspectorStyleSheet.cpp: + (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): + * inspector/InspectorStyleSheet.h: + (WebCore::InspectorStyleSheetForInlineStyle::styleForId): + (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor): + +2010-10-07 Pavel Podivilov <podivilov@chromium.org> + + Unreviewed, build fix. + + Build fix for r69283. + + * dom/Document.cpp: + (WebCore::Document::inspectorController): + * dom/Document.h: + +2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Fix the build for GTK+ 3 + https://bugs.webkit.org/show_bug.cgi?id=47249 + + Don't use gtk_size_request_get_size(). It has been removed, + gtk_widget_get_preferred_size() should be used instead + + * platform/gtk/PopupMenuGtk.cpp: + (WebCore::PopupMenuGtk::show): + +2010-10-06 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: Implement handling of CSS operations in InspectorCSSAgent. + Property toggling not implemented yet. The code is not going live. + https://bugs.webkit.org/show_bug.cgi?id=45825 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/InspectorCSSAgent.cpp: Added. + (WebCore::InspectorCSSAgent::buildObjectForStyle): + (WebCore::InspectorCSSAgent::parentStyleSheet): + (WebCore::InspectorCSSAgent::asCSSStyleRule): + (WebCore::InspectorCSSAgent::InspectorCSSAgent): + (WebCore::InspectorCSSAgent::~InspectorCSSAgent): + (WebCore::InspectorCSSAgent::reset): + (WebCore::InspectorCSSAgent::getMatchedRulesForNode2): + (WebCore::InspectorCSSAgent::getMatchedPseudoRulesForNode2): + (WebCore::InspectorCSSAgent::getAttributeStylesForNode2): + (WebCore::InspectorCSSAgent::getInlineStyleForNode2): + (WebCore::InspectorCSSAgent::getComputedStyleForNode2): + (WebCore::InspectorCSSAgent::getInheritedStylesForNode2): + (WebCore::InspectorCSSAgent::getAllStyles2): + (WebCore::InspectorCSSAgent::getStyleSheet2): + (WebCore::InspectorCSSAgent::setStyleSheetText2): + (WebCore::InspectorCSSAgent::setStyleText2): + (WebCore::InspectorCSSAgent::toggleProperty2): + (WebCore::InspectorCSSAgent::setRuleSelector2): + (WebCore::InspectorCSSAgent::addRule2): + (WebCore::InspectorCSSAgent::getSupportedCSSProperties): + (WebCore::InspectorCSSAgent::inlineStyleElement): + (WebCore::InspectorCSSAgent::populateObjectWithStyleProperties): + (WebCore::InspectorCSSAgent::shorthandValue): + (WebCore::InspectorCSSAgent::shorthandPriority): + (WebCore::InspectorCSSAgent::longhandProperties): + (WebCore::InspectorCSSAgent::asInspectorStyleSheet): + (WebCore::InspectorCSSAgent::elementForId): + (WebCore::InspectorCSSAgent::bindStyleSheet): + (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): + (WebCore::InspectorCSSAgent::styleSheetForId): + (WebCore::InspectorCSSAgent::detectOrigin): + (WebCore::InspectorCSSAgent::buildArrayForRuleList): + (WebCore::InspectorCSSAgent::buildObjectForAttributeStyles): + (WebCore::InspectorCSSAgent::didRemoveDocument): + (WebCore::InspectorCSSAgent::didRemoveDOMNode): + * inspector/InspectorCSSAgent.h: Added. + (WebCore::InspectorCSSAgent::create): + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::setDOMListener): + (WebCore::InspectorDOMAgent::unbind): + (WebCore::InspectorDOMAgent::didRemoveDOMNode): + (WebCore::InspectorDOMAgent::getSupportedCSSProperties): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::DOMListener::~DOMListener): + (WebCore::InspectorDOMAgent::documents): + * inspector/InspectorStyleSheet.cpp: Added. + (ParsedStyleSheet::cssStyleSheet): + (ParsedStyleSheet::text): + (ParsedStyleSheet::hasText): + (ParsedStyleSheet::sourceData): + (ParsedStyleSheet::hasSourceData): + (ParsedStyleSheet::ParsedStyleSheet): + (ParsedStyleSheet::setText): + (ParsedStyleSheet::setSourceData): + (ParsedStyleSheet::ruleSourceDataAt): + (WebCore::InspectorStyleSheet::InspectorStyleSheet): + (WebCore::InspectorStyleSheet::~InspectorStyleSheet): + (WebCore::InspectorStyleSheet::setText): + (WebCore::InspectorStyleSheet::setRuleSelector): + (WebCore::InspectorStyleSheet::addRule): + (WebCore::InspectorStyleSheet::ruleForId): + (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): + (WebCore::InspectorStyleSheet::buildObjectForRule): + (WebCore::InspectorStyleSheet::buildObjectForStyle): + (WebCore::InspectorStyleSheet::styleForId): + (WebCore::InspectorStyleSheet::setStyleText): + (WebCore::InspectorStyleSheet::ownerDocument): + (WebCore::InspectorStyleSheet::ruleSourceDataFor): + (WebCore::InspectorStyleSheet::ruleIndexByStyle): + (WebCore::InspectorStyleSheet::ensureParsedDataReady): + (WebCore::InspectorStyleSheet::text): + (WebCore::InspectorStyleSheet::ensureText): + (WebCore::InspectorStyleSheet::ensureSourceData): + (WebCore::InspectorStyleSheet::innerSetStyleSheetText): + (WebCore::InspectorStyleSheet::innerSetStyleText): + (WebCore::InspectorStyleSheet::styleSheetTextWithChangedStyle): + (WebCore::InspectorStyleSheet::findPageRuleWithStyle): + (WebCore::InspectorStyleSheet::fullRuleId): + (WebCore::InspectorStyleSheet::revalidateStyle): + (WebCore::InspectorStyleSheet::styleSheetText): + (WebCore::InspectorStyleSheet::resourceStyleSheetText): + (WebCore::InspectorStyleSheet::inlineStyleSheetText): + (WebCore::InspectorStyleSheet::buildArrayForRuleList): + (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle): + (WebCore::InspectorStyleSheetForInlineStyle::setStyleText): + (WebCore::InspectorStyleSheetForInlineStyle::ownerDocument): + (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady): + (WebCore::InspectorStyleSheetForInlineStyle::inlineStyle): + (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges): + * inspector/InspectorStyleSheet.h: Added. + (WebCore::InspectorStyleSheet::create): + (WebCore::InspectorStyleSheet::id): + (WebCore::InspectorStyleSheet::pageStyleSheet): + (WebCore::InspectorStyleSheet::canBind): + (WebCore::InspectorStyleSheet::fullRuleOrStyleId): + (WebCore::InspectorStyleSheet::ruleOrStyleId): + (WebCore::InspectorStyleSheet::fullStyleId): + (WebCore::InspectorStyleSheetForInlineStyle::create): + (WebCore::InspectorStyleSheetForInlineStyle::styleForId): + (WebCore::InspectorStyleSheetForInlineStyle::ruleSourceDataFor): + (WebCore::InspectorStyleSheetForInlineStyle::ruleIndexByStyle): + * inspector/InspectorUtilities.cpp: Added. + (WebCore::InspectorUtilities::resourceContentForURL): + * inspector/InspectorUtilities.h: Added. + +2010-10-05 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: extract Inspector Instrumentation API as a class + https://bugs.webkit.org/show_bug.cgi?id=47173 + + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::send): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluateInWorld): + * bindings/v8/V8DOMWindowShell.cpp: + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::evaluate): + (WebCore::V8Proxy::callFunction): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::sendCallback): + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + * dom/Document.h: + * dom/Node.cpp: + (WebCore::Node::dispatchGenericEvent): + * html/parser/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::pumpTokenizer): + * html/parser/HTMLDocumentParser.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::InspectorInstrumentation::hasFrontend): + (WebCore::InspectorInstrumentation::retrieveTimelineAgent): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::hasFrontends): + (WebCore::InspectorInstrumentation::inspectorControllerForContext): + (WebCore::InspectorInstrumentation::inspectorControllerForDocument): + (WebCore::InspectorInstrumentation::inspectorControllerForFrame): + (WebCore::InspectorInstrumentation::inspectorControllerForPage): + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): + (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent): + * inspector/InspectorTimelineAgent.h: + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::didReceiveResponse): + (WebCore::ResourceLoader::didReceiveData): + * loader/loader.cpp: + (WebCore::Loader::load): + * page/DOMTimer.cpp: + (WebCore::DOMTimer::install): + (WebCore::DOMTimer::removeById): + (WebCore::DOMTimer::fired): + * page/DOMTimer.h: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::dispatchEvent): + * page/DOMWindow.h: + * page/FrameView.cpp: + (WebCore::FrameView::layout): + (WebCore::FrameView::paintContents): + * page/FrameView.h: + * page/Page.cpp: + * page/Page.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintContents): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::callReadyStateChangeListener): + +2010-10-07 Zraly Mike <mike.zraly@nokia.com> + + Reviewed by Andreas Kling. + + Windowless flash plugin is not rendered in Symbian + https://bugs.webkit.org/show_bug.cgi?id=47172 + + * plugins/symbian/PluginViewSymbian.cpp: + (WebCore::PluginView::platformStart): + Add call to updatePluginWidget() following changes to + platform widget. This is needed to set PluginView's + m_windowRect and m_clipRect members properly after + the proxy widget and its container get created. + +2010-10-07 Andreas Kling <kling@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Rename (and move) RenderPath to svg/RenderSVGPath + https://bugs.webkit.org/show_bug.cgi?id=47053 + + Also renamed RenderObject::isRenderPath() to isSVGPath() + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.order: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderObject.h: + (WebCore::RenderObject::isSVGPath): + * rendering/RenderPath.cpp: Removed. + * rendering/RenderPath.h: Removed. + * rendering/RenderSVGHiddenContainer.cpp: + * rendering/RenderSVGResourceClipper.cpp: + (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): + (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): + (WebCore::RenderSVGResourceClipper::hitTestClipContent): + * rendering/RenderSVGResourceContainer.cpp: + (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke): + * rendering/RenderSVGResourceSolidColor.cpp: + (WebCore::RenderSVGResourceSolidColor::postApplyResource): + * rendering/RenderTreeAsText.cpp: + (WebCore::write): + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderSupport::layoutChildren): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeStyle): + (WebCore::operator<<): + (WebCore::write): + * rendering/SVGRenderTreeAsText.h: + * rendering/style/SVGRenderStyle.cpp: + (WebCore::SVGRenderStyle::diff): + * rendering/svg/RenderSVGPath.cpp: Copied from WebCore/rendering/RenderPath.cpp. + (WebCore::RenderSVGPath::RenderSVGPath): + (WebCore::RenderSVGPath::fillContains): + (WebCore::RenderSVGPath::strokeContains): + (WebCore::RenderSVGPath::layout): + (WebCore::RenderSVGPath::fillAndStrokePath): + (WebCore::RenderSVGPath::paint): + (WebCore::RenderSVGPath::addFocusRingRects): + (WebCore::RenderSVGPath::nodeAtFloatPoint): + (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded): + (WebCore::RenderSVGPath::updateCachedBoundaries): + * rendering/svg/RenderSVGPath.h: Copied from WebCore/rendering/RenderPath.h. + (WebCore::RenderSVGPath::isSVGPath): + (WebCore::RenderSVGPath::renderName): + (WebCore::toRenderSVGPath): + * svg/SVGCircleElement.cpp: + (WebCore::SVGCircleElement::svgAttributeChanged): + * svg/SVGEllipseElement.cpp: + (WebCore::SVGEllipseElement::svgAttributeChanged): + * svg/SVGGradientElement.cpp: + * svg/SVGLineElement.cpp: + (WebCore::SVGLineElement::svgAttributeChanged): + * svg/SVGPathElement.cpp: + (WebCore::SVGPathElement::svgAttributeChanged): + * svg/SVGPolyElement.cpp: + (WebCore::SVGPolyElement::svgAttributeChanged): + * svg/SVGRectElement.cpp: + (WebCore::SVGRectElement::svgAttributeChanged): + * svg/SVGStyledLocatableElement.cpp: + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::createRenderer): + +2010-10-06 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: clear line highlight when switching current view + https://bugs.webkit.org/show_bug.cgi?id=47262 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.clearLineHighlight): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype.hide): + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype.highlightLine): + (WebInspector.TextViewer.prototype.clearLineHighlight): + +2010-10-06 Chris Evans <cevans@google.com> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=47313 + + Fix integer errors with enormous input strings to newline normalization APIs. + + * platform/text/LineEnding.cpp: + (WebCore::normalizeLineEndingsToCRLF): return the empty string upon huge input strings. (Behaves similarly to base64Encode now). + (WebCore::normalizeToCROrLF): use the correct type for a string length. + +2010-10-06 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix. + + Windows build fix for r69272. + + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::stepBase): + Use defaultStepBase() instead of defaultStepBase. + * html/InputType.h: + (WebCore::InputType::defaultStepBase): + Make defaultStepBase static function. + * html/NumberInputType.cpp: + (WebCore::NumberInputType::stepBase): + Use defaultStepBase() instead of defaultStepBase. + +2010-10-06 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Refactor HTMLInputElement: Move range/step related functions + https://bugs.webkit.org/show_bug.cgi?id=47251 + + Move the content of the following functions: + - rangeUnderflow() + - rangeOverflow() + - minimum() + - maximum() + - stepMismatch() + - stepBase() + + getStepParameters() was split into InputType::defaultStep() and + stepScaleFactor(). + + * html/BaseDateAndTimeInputType.cpp: + (WebCore::BaseDateAndTimeInputType::rangeUnderflow): + (WebCore::BaseDateAndTimeInputType::rangeOverflow): + (WebCore::BaseDateAndTimeInputType::stepMismatch): + (WebCore::BaseDateAndTimeInputType::stepBase): + * html/BaseDateAndTimeInputType.h: + * html/DateInputType.cpp: + (WebCore::DateInputType::minimum): + (WebCore::DateInputType::maximum): + (WebCore::DateInputType::defaultStep): + (WebCore::DateInputType::stepScaleFactor): + (WebCore::DateInputType::parsedStepValueShouldBeInteger): + * html/DateInputType.h: + * html/DateTimeInputType.cpp: + (WebCore::DateTimeInputType::minimum): + (WebCore::DateTimeInputType::maximum): + (WebCore::DateTimeInputType::defaultStep): + (WebCore::DateTimeInputType::stepScaleFactor): + (WebCore::DateTimeInputType::scaledStepValeuShouldBeInteger): + * html/DateTimeInputType.h: + * html/DateTimeLocalInputType.cpp: + (WebCore::DateTimeLocalInputType::minimum): + (WebCore::DateTimeLocalInputType::maximum): + (WebCore::DateTimeLocalInputType::defaultStep): + (WebCore::DateTimeLocalInputType::stepScaleFactor): + (WebCore::DateTimeLocalInputType::scaledStepValeuShouldBeInteger): + * html/DateTimeLocalInputType.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::rangeUnderflow): + (WebCore::HTMLInputElement::rangeOverflow): + (WebCore::HTMLInputElement::minimum): + (WebCore::HTMLInputElement::maximum): + (WebCore::HTMLInputElement::stepMismatch): + (WebCore::HTMLInputElement::getAllowedValueStep): + (WebCore::HTMLInputElement::applyStep): + (WebCore::HTMLInputElement::handleKeyEventForRange): + (WebCore::HTMLInputElement::stepUpFromRenderer): + * html/HTMLInputElement.h: + * html/InputType.cpp: + (WebCore::InputType::patternMismatch): + (WebCore::InputType::rangeUnderflow): + (WebCore::InputType::rangeOverflow): + (WebCore::InputType::minimum): + (WebCore::InputType::maximum): + (WebCore::InputType::stepMismatch): + (WebCore::InputType::stepBase): + (WebCore::InputType::defaultStep): + (WebCore::InputType::stepScaleFactor): + (WebCore::InputType::parsedStepValueShouldBeInteger): + (WebCore::InputType::scaledStepValeuShouldBeInteger): + * html/InputType.h: + * html/MonthInputType.cpp: + (WebCore::MonthInputType::minimum): + (WebCore::MonthInputType::maximum): + (WebCore::MonthInputType::defaultStep): + (WebCore::MonthInputType::stepScaleFactor): + (WebCore::MonthInputType::parsedStepValueShouldBeInteger): + * html/MonthInputType.h: + * html/NumberInputType.cpp: + (WebCore::NumberInputType::rangeUnderflow): + (WebCore::NumberInputType::rangeOverflow): + (WebCore::NumberInputType::minimum): + (WebCore::NumberInputType::maximum): + (WebCore::NumberInputType::stepMismatch): + (WebCore::NumberInputType::stepBase): + (WebCore::NumberInputType::defaultStep): + (WebCore::NumberInputType::stepScaleFactor): + * html/NumberInputType.h: + * html/RangeInputType.cpp: + (WebCore::RangeInputType::rangeUnderflow): + (WebCore::RangeInputType::rangeOverflow): + (WebCore::RangeInputType::minimum): + (WebCore::RangeInputType::maximum): + (WebCore::RangeInputType::stepMismatch): + (WebCore::RangeInputType::stepBase): + (WebCore::RangeInputType::defaultStep): + (WebCore::RangeInputType::stepScaleFactor): + * html/RangeInputType.h: + * html/TimeInputType.cpp: + (WebCore::TimeInputType::minimum): + (WebCore::TimeInputType::maximum): + (WebCore::TimeInputType::defaultStep): + (WebCore::TimeInputType::stepScaleFactor): + (WebCore::TimeInputType::scaledStepValeuShouldBeInteger): + * html/TimeInputType.h: + * html/WeekInputType.cpp: + (WebCore::WeekInputType::minimum): + (WebCore::WeekInputType::maximum): + (WebCore::WeekInputType::stepBase): + (WebCore::WeekInputType::defaultStep): + (WebCore::WeekInputType::stepScaleFactor): + (WebCore::WeekInputType::parsedStepValueShouldBeInteger): + * html/WeekInputType.h: + +2010-10-06 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein, Darin Adler. + + :first-letter should apply to "punctuation" after the first letter + https://bugs.webkit.org/show_bug.cgi?id=45986 + + Follow the CSS 2.1 spec by allow certain kinds of punctuation before and after + the :first-letter character. + + The spec does not describe whitespace behavior, and browsers are inconsistent. + This patch allows whitespace (including non-breaking spaces) before and after the + leading punctuation, and before the trailing punctuation. + + Test: fast/css/first-letter-punctuation.html + + * rendering/RenderBlock.cpp: + (WebCore::isPunctuationForFirstLetter): + (WebCore::shouldSkipForFirstLetter): + (WebCore::RenderBlock::updateFirstLetter): + +2010-10-06 Sanjeev Radhakrishnan <sanjeevr@chromium.org> + + Reviewed by Darin Fisher. + + Released the pluginNode in PluginDocument::detach() and prevents a memory leak. + https://bugs.webkit.org/show_bug.cgi?id=47129 + + * html/PluginDocument.cpp: + (WebCore::PluginDocument::detach): + * html/PluginDocument.h: + +2010-10-06 Vincent Scheib <scheib@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] Thumbnail generation asserts on zero alpha values. + https://bugs.webkit.org/show_bug.cgi?id=47292 + + Test: Tested manually by running debug mode, and analyzing in PIX. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayers): + +2010-10-06 Kinuko Yasuda <kinuko@chromium.org> + + Unreviewed, trying to fix chromium Windows build. + + Explicitly give the parameter value that has a default parameter value. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::requestFileSystem): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::requestFileSystem): + +2010-10-06 Darin Adler <darin@apple.com> + + Try to fix Windows build. + + * platform/graphics/cg/ColorCG.cpp: + (WebCore::cachedCGColor): Put in braces to make the Windows compiler + happy with this file. + + * platform/graphics/cg/ImageCG.cpp: Added include of RetainPtr.h. + +2010-10-06 Darin Adler <darin@apple.com> + + Reviewed by Alexey Proskuryakov. + + Cache CGColor as we do NSColor + https://bugs.webkit.org/show_bug.cgi?id=47226 + + This fixes performance problems on certain web pages that use + multiple colors. Once in the past we were using NSColor. Now that + we are using CGColor, we need the same sort of caching that we have + for NSColor. + + One example: <http://results.active.com/uploads/html/100759.html>. + + * WebCore.xcodeproj/project.pbxproj: Add GraphicsContextCG.h. + + * platform/graphics/Color.h: Replace createCGColor with cachedCGColor. + + * platform/graphics/cg/ColorCG.cpp: + (WebCore::cachedCGColorSpace): Added. + (WebCore::leakCGColor): Added. + (WebCore::cachedCGColor): Added. + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::setCGFillColor): Use cachedCGColor. + (WebCore::setCGStrokeColor): Ditto. + (WebCore::GraphicsContext::fillRect): Ditto. + (WebCore::GraphicsContext::setPlatformShadow): Ditto. + + * platform/graphics/cg/GraphicsContextCG.h: Added. + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: + Moved the color space functions here. + + * platform/graphics/cg/ImageCG.cpp: Tweaked headers and formatting. + + * platform/graphics/mac/ColorMac.mm: Removed the createCGColor + function. + + * platform/graphics/mac/GraphicsContextMac.mm: + (WebCore::drawFocusRingToContext): Removed innappropriate use of + RetainPtr for the arguments to this function. + (WebCore::GraphicsContext::drawFocusRing): Use cachedCGColor. + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::setLayerBorderColor): Use cachedCGColor. + (WebCore::setLayerBackgroundColor): Ditto. + * platform/graphics/win/GraphicsContextCGWin.cpp: + (WebCore::GraphicsContext::drawFocusRing): Ditto. + * platform/graphics/win/GraphicsLayerCACF.cpp: + (WebCore::setLayerBorderColor): Ditto. + (WebCore::setLayerBackgroundColor): Ditto. + + * platform/graphics/win/WKCACFLayerRenderer.cpp: + (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Use + CGColorCreateGenericRGB for color used only for debugging. + * platform/graphics/win/WebTiledLayer.cpp: + (WebCore::WebTiledLayer::addTile): Ditto. + +2010-10-06 Peter Kasting <pkasting@google.com> + + Reviewed by James Robinson + + ScrollViews without scrollbars should not eat scroll events + https://bugs.webkit.org/show_bug.cgi?id=47036 + + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + +2010-10-06 Daniel Bates <dbates@rim.com> + + Reviewed by Darin Adler. + + ASSERTION FAILURE: Attempt to cast RenderObject to RenderFrameSet + when <frameset> has CSS content property + https://bugs.webkit.org/show_bug.cgi?id=47314 + + Fixes an issue where sending a mouse event to an HTML Frameset Element that + whose content was replaced via the CSS content property causes an assertion + failure. + + By default, HTMLFrameSetElement forwards mouse events to RenderFrameSet so as + to support resizing a frame within the set. When a <frameset> specifies an + image in its CSS content property we create a generic render object (RenderObject) + for the frame set instead of a RenderFrameSet object. The event handler code + in HTMLFrameSetElement calls WebCore::toRenderFrameSet() to cast its renderer + to type RenderFrameSet, which fails. To correct this, HTMLFrameSetElement + must check that its renderer is of type RenderFrameSet before casting to this type. + + Test: fast/frames/crash-frameset-CSS-content-property.html + + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::defaultEventHandler): Check that our renderer is + of type RenderFrameSet before casting it as such. + +2010-10-06 Albert J. Wong <ajwong@chromium.org> + + Reviewed by Andreas Kling. + + r69181 breaks compilation of WebCore/platform/graphics/filters/FETile.cpp if ENABLE(SVG) is false. + https://bugs.webkit.org/show_bug.cgi?id=47315 + + Compile fix. No tests. + + * platform/graphics/filters/FETile.cpp: + (WebCore::FETile::apply): + +2010-10-06 Kinuko Yasuda <kinuko@chromium.org> + + Unreviewed, fixing screwed up ChangeLogs. + +2010-10-06 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by David Levin. + + Add FileSystemSync implementation for Worker + https://bugs.webkit.org/show_bug.cgi?id=47044 + + Tests: fast/filesystem/async-operations.html + fast/filesystem/workers/async-operations.html + fast/filesystem/workers/sync-operations.html + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/generic/RuntimeEnabledFeatures.h: Removed + requestFileSystemEnabled() as I changed the idl/generator to + use fileSystemEnabled for all the FileSystem related features. + * fileapi/DOMFileSystem.cpp: + * fileapi/DOMFileSystem.h: + * fileapi/DOMFileSystemBase.cpp: + (WebCore::DOMFileSystemBase::getMetadata): Moved from DOMFileSystem. + (WebCore::checkValidityForForCopyOrMove): Moved from DOMFileSystem. + (WebCore::DOMFileSystemBase::move): Moved from DOMFileSystem. + (WebCore::DOMFileSystemBase::copy): Moved from DOMFileSystem. + (WebCore::DOMFileSystemBase::remove): Moved from DOMFileSystem. + (WebCore::DOMFileSystemBase::getParent): Moved from DOMFileSystem. + (WebCore::DOMFileSystemBase::getFile): Moved from DOMFileSystem. + (WebCore::DOMFileSystemBase::getDirectory): Moved from DOMFileSystem. + (WebCore::DOMFileSystemBase::readDirectory): Moved from DOMFileSystem. + * fileapi/DOMFileSystemBase.h: + * fileapi/DOMFileSystemSync.h: + * fileapi/DirectoryEntry.cpp: + (WebCore::DirectoryEntry::DirectoryEntry): Updated to call + DOMFileSystemBase's method instead of DOMFileSystem's one. + (WebCore::DirectoryEntry::getFile): Ditto. + (WebCore::DirectoryEntry::getDirectory): Ditto. + * fileapi/DirectoryEntry.h: + * fileapi/DirectoryEntrySync.cpp: + (WebCore::DirectoryEntrySync::getFile): Implemented. + (WebCore::DirectoryEntrySync::getDirectory): Implemented. + * fileapi/DirectoryReader.h: + * fileapi/DirectoryReaderSync.cpp: + (WebCore::DirectoryReaderSync::readEntries): Implemented. + * fileapi/Entry.cpp: + (WebCore::Entry::Entry): Updated to call DOMFileSystemBase's method. + (WebCore::Entry::getMetadata): Ditto. + (WebCore::Entry::moveTo): Ditto. + (WebCore::Entry::copyTo): Ditto. + (WebCore::Entry::remove): Ditto. + (WebCore::Entry::getParent): Ditto. + * fileapi/Entry.h: + * fileapi/Entry.idl: + * fileapi/EntryArraySync.cpp: + (WebCore::EntryArraySync::create): Added. + * fileapi/EntryArraySync.h: + * fileapi/EntryBase.h: + (WebCore::EntryBase::filesystem): Added. + * fileapi/EntrySync.cpp: + (WebCore::EntrySync::create): Implemented. + (WebCore::EntrySync::getMetadata): Implemented. + (WebCore::EntrySync::moveTo): Implemented. + (WebCore::EntrySync::copyTo): Implemented. + (WebCore::EntrySync::remove): Implemented. + * fileapi/EntrySync.h: + * fileapi/FileEntry.cpp: + * fileapi/FileEntry.h: + * fileapi/FileSystemCallbacks.cpp: + (WebCore::EntryCallbacks::create): Updated to take DOMFileSystemBase + instead of DOMFileSystem. + (WebCore::EntryCallbacks::EntryCallbacks): Ditto. + (WebCore::EntriesCallbacks::create): Ditto. + (WebCore::EntriesCallbacks::EntriesCallbacks): Ditto. + * fileapi/FileSystemCallbacks.h: + * fileapi/LocalFileSystem.cpp: + (WebCore::LocalFileSystem::requestFileSystem): Added synchronous + parameter. + * fileapi/LocalFileSystem.h: + * fileapi/Metadata.h: + * fileapi/SyncCallbackHelper.h: Added. This defines a helper template + for synchronous implementation. + * page/DOMWindow.idl: + * platform/AsyncFileSystem.h: + (WebCore::AsyncFileSystem::waitCompletion): Added. + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::requestFileSystemSync): Added. + * workers/WorkerContext.h: + * workers/WorkerContext.idl: + +2010-10-06 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IDBDatabase and IDBObjectStore metadata is not recovered correctly when the setVersion transactions aborts. + https://bugs.webkit.org/show_bug.cgi?id=47245 + + Recover metadata properly by adding abort tasks that + are run when a transaction aborts. + + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::createObjectStore): + (WebCore::IDBDatabase::removeObjectStore): + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::createObjectStore): + (WebCore::IDBDatabaseBackendImpl::removeObjectStore): + (WebCore::IDBDatabaseBackendImpl::setVersion): + (WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap): + (WebCore::IDBDatabaseBackendImpl::addObjectStoreToMap): + (WebCore::IDBDatabaseBackendImpl::resetVersion): + * storage/IDBDatabaseBackendImpl.h: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::createIndex): + (WebCore::IDBObjectStoreBackendImpl::removeIndex): + (WebCore::IDBObjectStoreBackendImpl::removeIndexFromMap): + (WebCore::IDBObjectStoreBackendImpl::addIndexToMap): + * storage/IDBObjectStoreBackendImpl.h: + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::scheduleTask): + (WebCore::IDBTransactionBackendImpl::abort): + * storage/IDBTransactionBackendImpl.h: + * storage/IDBTransactionBackendInterface.h: + * storage/IDBTransactionCoordinator.h: + +2010-10-06 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47306 + + Convert determineStart/EndPosition and matchedEndLine to be writing-mode-aware. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::determineStartPosition): + (WebCore::RenderBlock::determineEndPosition): + (WebCore::RenderBlock::matchedEndLine): + +22010-10-06 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + REGRESSION (r53857): AREA tag with tabindex="-1" displays focus ring after multiple mouse clicks. + https://bugs.webkit.org/show_bug.cgi?id=45832 + + Test: fast/events/mouse-focus-imagemap.html + + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::isKeyboardFocusable): + (WebCore::HTMLAreaElement::isMouseFocusable): + (WebCore::HTMLAreaElement::isFocusable): + (WebCore::HTMLAreaElement::updateFocusAppearance): + * html/HTMLAreaElement.h: + +010-10-06 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47303 + + Convert layoutInlineChildren to be block-flow-aware. None of the functions it calls are patched yet. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::forceLayoutInlineChildren): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::beforeSideVisibleOverflowForLine): + (WebCore::RenderBlock::afterSideVisibleOverflowForLine): + (WebCore::RenderBlock::beforeSideLayoutOverflowForLine): + (WebCore::RenderBlock::afterSideLayoutOverflowForLine): + * rendering/RenderBox.h: + (WebCore::RenderBox::logicalLeftLayoutOverflow): + (WebCore::RenderBox::logicalRightLayoutOverflow): + (WebCore::RenderBox::logicalLeftVisualOverflow): + (WebCore::RenderBox::logicalRightVisualOverflow): + +2010-10-06 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47298 + + Rename blockHeight to blockLogicalHeight. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::markLinesDirtyInBlockRange): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::computeBlockDirectionPositionsForLine): + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::determineStartPosition): + (WebCore::RenderBlock::determineEndPosition): + (WebCore::RenderBlock::matchedEndLine): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::RootInlineBox): + (WebCore::RootInlineBox::adjustPosition): + * rendering/RootInlineBox.h: + (WebCore::RootInlineBox::blockLogicalHeight): + (WebCore::RootInlineBox::setBlockLogicalHeight): + * rendering/svg/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::layoutRootBox): + +2010-10-05 James Robinson <jamesr@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] DRT assertion w/accel 2D canvas in PlatformContextSkia + https://bugs.webkit.org/show_bug.cgi?id=47242 + + Call PlatformContextSkia::prepareForSoftwareDraw before doing putImageData + since that call mutates the software backing store. + + Test: fast/canvas/canvas-putImageData.html + + * platform/graphics/skia/ImageBufferSkia.cpp: + (WebCore::ImageBuffer::putUnmultipliedImageData): + +2010-10-06 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Brady Eidson. + + https://bugs.webkit.org/show_bug.cgi?id=47294 + <rdar://problem/8425647>Application cache isn't consulted on redirect + + Test: http/tests/appcache/main-resource-redirect.html + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::continueAfterNavigationPolicy): If we have substitute data now + (presumably after a redirect is served by appcache), switch to it. + (WebCore::MainResourceLoader::willSendRequest): Check appcache for the new URL. + + * loader/MainResourceLoader.h: Made handleDataLoadSoon() take a const ResourceRequest + reference - it doesn't ever modify it, and we can call it from continueAfterNavigationPolicy() now. + +2010-10-06 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Dirk Schulze. + + ContextShadow should not use the blur radius as kernel size of the + box blurs + https://bugs.webkit.org/show_bug.cgi?id=46918 + + Calculate the size of the kernel in the blur algorithm using the radius instead + of using the blur distance directly. Change the name of the variables to match the + terminology in the spec. + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::ContextShadow): + (WebCore::ContextShadow::clear): + (WebCore::ContextShadow::blurLayerImage): + (WebCore::ContextShadow::calculateLayerBoundingRect): + * platform/graphics/ContextShadow.h: + +2010-10-06 Andras Becsi <abecsi@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Correct CamelCase of socketSentdata() in SocketStreamHandlePrivate + to fix "QMetaObject::invokeMethod: No such method" warnings in layout tests. + https://bugs.webkit.org/show_bug.cgi?id=47284 + + No new tests needed. + + * platform/network/qt/SocketStreamHandlePrivate.h: + * platform/network/qt/SocketStreamHandleQt.cpp: + (WebCore::SocketStreamHandlePrivate::socketSentData): + +2010-10-06 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47285 + + Update to the latest writing-mode draft. The block-flow property is gone and has been replaced with writing-mode. + Change all the code to use writingMode() instead of blockFlow() and rename all functions that referred to block flow + as appropriate. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator WritingMode): + (WebCore::CSSPrimitiveValue::operator SVGWritingMode): + * css/CSSProperty.cpp: + (WebCore::resolveToPhysicalProperty): + (WebCore::CSSProperty::resolveDirectionAwareProperty): + * css/CSSProperty.h: + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForDocument): + (WebCore::CSSStyleSelector::adjustRenderStyle): + (WebCore::CSSStyleSelector::applyDeclarations): + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValueKeywords.in: + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::MarginInfo::MarginInfo): + (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): + (WebCore::RenderBlock::setLogicalLeftForChild): + (WebCore::RenderBlock::setLogicalTopForChild): + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::addIntrudingFloats): + (WebCore::RenderBlock::collapsedMarginBeforeForChild): + (WebCore::RenderBlock::collapsedMarginAfterForChild): + (WebCore::RenderBlock::marginBeforeForChild): + (WebCore::RenderBlock::marginAfterForChild): + (WebCore::RenderBlock::marginStartForChild): + (WebCore::RenderBlock::marginEndForChild): + (WebCore::RenderBlock::setMarginStartForChild): + (WebCore::RenderBlock::setMarginEndForChild): + (WebCore::RenderBlock::setMarginBeforeForChild): + (WebCore::RenderBlock::setMarginAfterForChild): + (WebCore::RenderBlock::marginValuesForChild): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::logicalWidthForChild): + (WebCore::RenderBlock::logicalHeightForChild): + (WebCore::RenderBlock::logicalTopForChild): + (WebCore::RenderBlock::logicalRightOffsetForContent): + (WebCore::RenderBlock::logicalLeftOffsetForContent): + (WebCore::RenderBlock::logicalTopForFloat): + (WebCore::RenderBlock::logicalBottomForFloat): + (WebCore::RenderBlock::logicalLeftForFloat): + (WebCore::RenderBlock::logicalRightForFloat): + (WebCore::RenderBlock::logicalWidthForFloat): + (WebCore::RenderBlock::setLogicalTopForFloat): + (WebCore::RenderBlock::setLogicalLeftForFloat): + (WebCore::RenderBlock::setLogicalHeightForFloat): + (WebCore::RenderBlock::setLogicalWidthForFloat): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::marginBefore): + (WebCore::RenderBox::marginAfter): + (WebCore::RenderBox::marginStart): + (WebCore::RenderBox::marginEnd): + (WebCore::RenderBox::setMarginStart): + (WebCore::RenderBox::setMarginEnd): + (WebCore::RenderBox::setMarginBefore): + (WebCore::RenderBox::setMarginAfter): + (WebCore::RenderBox::styleDidChange): + (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight): + (WebCore::RenderBox::computeLogicalWidth): + (WebCore::RenderBox::computeLogicalHeight): + (WebCore::RenderBox::availableLogicalHeightUsing): + (WebCore::RenderBox::avoidsFloats): + * rendering/RenderBox.h: + (WebCore::RenderBox::logicalLeft): + (WebCore::RenderBox::logicalTop): + (WebCore::RenderBox::logicalWidth): + (WebCore::RenderBox::logicalHeight): + (WebCore::RenderBox::setLogicalLeft): + (WebCore::RenderBox::setLogicalTop): + (WebCore::RenderBox::setLogicalWidth): + (WebCore::RenderBox::setLogicalHeight): + (WebCore::RenderBox::setLogicalLocation): + (WebCore::RenderBox::contentLogicalWidth): + (WebCore::RenderBox::contentLogicalHeight): + (WebCore::RenderBox::stretchesToViewport): + (WebCore::RenderBox::intrinsicLogicalWidth): + (WebCore::RenderBox::intrinsicLogicalHeight): + (WebCore::RenderBox::availableWidth): + (WebCore::RenderBox::availableHeight): + (WebCore::RenderBox::scrollbarLogicalHeight): + (WebCore::RenderBox::isWritingModeRoot): + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::paintBoxDecorations): + (WebCore::RenderFieldset::paintMask): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::computeReplacedLogicalWidth): + (WebCore::RenderImage::computeReplacedLogicalHeight): + * rendering/RenderInline.cpp: + (WebCore::RenderInline::marginLeft): + (WebCore::RenderInline::marginRight): + (WebCore::RenderInline::marginTop): + (WebCore::RenderInline::marginBottom): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paddingTop): + (WebCore::RenderTableCell::paddingBottom): + (WebCore::RenderTableCell::paddingLeft): + (WebCore::RenderTableCell::paddingRight): + * rendering/RenderView.h: + (WebCore::RenderView::viewLogicalWidth): + (WebCore::RenderView::viewLogicalHeight): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::RootInlineBox): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + (WebCore::RenderStyle::logicalWidth): + (WebCore::RenderStyle::logicalHeight): + (WebCore::RenderStyle::logicalMinWidth): + (WebCore::RenderStyle::logicalMaxWidth): + (WebCore::RenderStyle::logicalMinHeight): + (WebCore::RenderStyle::logicalMaxHeight): + (WebCore::RenderStyle::borderBeforeWidth): + (WebCore::RenderStyle::borderAfterWidth): + (WebCore::RenderStyle::borderStartWidth): + (WebCore::RenderStyle::borderEndWidth): + (WebCore::RenderStyle::marginBefore): + (WebCore::RenderStyle::marginAfter): + (WebCore::RenderStyle::marginBeforeUsing): + (WebCore::RenderStyle::marginAfterUsing): + (WebCore::RenderStyle::marginStart): + (WebCore::RenderStyle::marginEnd): + (WebCore::RenderStyle::marginStartUsing): + (WebCore::RenderStyle::marginEndUsing): + (WebCore::RenderStyle::paddingBefore): + (WebCore::RenderStyle::paddingAfter): + (WebCore::RenderStyle::paddingStart): + (WebCore::RenderStyle::paddingEnd): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::setBitDefaults): + (WebCore::InheritedFlags::writingMode): + (WebCore::InheritedFlags::isHorizontalWritingMode): + (WebCore::InheritedFlags::setWritingMode): + (WebCore::InheritedFlags::initialWritingMode): + * rendering/style/RenderStyleConstants.h: + * rendering/style/SVGRenderStyle.h: + (WebCore::SVGRenderStyle::initialWritingMode): + (WebCore::SVGRenderStyle::setWritingMode): + (WebCore::SVGRenderStyle::writingMode): + * rendering/style/SVGRenderStyleDefs.h: + +2010-10-06 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r69201. + http://trac.webkit.org/changeset/69201 + https://bugs.webkit.org/show_bug.cgi?id=47279 + + This change broke the WebKitGTK+ build for GTK+ 2.0. + (Requested by mrobinson on #webkit). + + * platform/gtk/GtkVersioning.c: + (getDefaultGDKPointerDevice): + * platform/gtk/GtkVersioning.h: + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::getVisual): + (WebCore::screenAvailableRect): + +2010-10-06 Stephen White <senorblanco@chromium.org> + + Reviewed by James Robinson. + https://bugs.webkit.org/show_bug.cgi?id=47282 + + Robustify the creation of SharedGraphicsContext3D against shader + compilation failures. + + Covered by any canvas 2D layout test, when opened in chrome with + --enable-accelerated-2d-canvas --in-process-webgl. + + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + +2010-10-06 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes + https://bugs.webkit.org/show_bug.cgi?id=47268 + + Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes + + * dom/ViewportArguments.cpp: + (WebCore::findConfigurationForViewportData): + * dom/ViewportArguments.h: + +2010-10-06 Renata Hodovan <reni@inf.u-szeged.hu> + + Reviewed by Nikolas Zimmermann. + + SVGFEMergeNodeElement doesn't support dynamic invalidation, when attributes change. + https://bugs.webkit.org/show_bug.cgi?id=47181 + + Since feMergeNode doesn't have own renderer, we have to call the invalidation via its parent. + + Tests: svg/dynamic-updates/SVGFEMergeNodeElement-dom-in-attr.html + svg/dynamic-updates/SVGFEMergeNodeElement-svgdom-in-prop.html + + * svg/SVGFEMergeNodeElement.cpp: + (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): + * svg/SVGFEMergeNodeElement.h: + +2010-10-06 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Martin Robinson. + + [GTK] Remove unused code from gtk2drawing.c + https://bugs.webkit.org/show_bug.cgi?id=47086 + + gtk2drawing.c was copied from mozilla and contains a lot of code that is not + used by WebKit. Most of that unused code is uncompatible with gtk3, so + removing it will make easier porting to gtk3. + + * platform/gtk/gtk2drawing.c: + (moz_gtk_get_widget_border): + (moz_gtk_widget_paint): + (moz_gtk_destroy_theme_parts_widgets): + * platform/gtk/gtkdrawing.h: + +2010-10-06 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Use pixbufs instead of pixmaps when creating platform cursors + https://bugs.webkit.org/show_bug.cgi?id=47087 + + gdk_cursor_new_from_pixmap() has been removed in gtk3. We can use a + pixbuf instead of a pixman and use gdk_cursor_new_from_pixbuf() instead + for both gtk2 and gtk3. + + * platform/gtk/CursorGtk.cpp: + (WebCore::createNamedCursor): + * platform/gtk/GtkVersioning.c: + (gdk_cairo_format_for_content): + (gdk_cairo_surface_coerce_to_image): + (convert_alpha): + (convert_no_alpha): + (gdk_pixbuf_get_from_surface): + * platform/gtk/GtkVersioning.h: + +2010-10-06 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add event listener breakpoints sidebar pane + https://bugs.webkit.org/show_bug.cgi?id=46738 + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint): + (WebInspector.BreakpointManager.prototype.createXHRBreakpoint.breakpoint.compareTo): + (WebInspector.BreakpointManager.prototype.createXHRBreakpoint): + (WebInspector.NativeBreakpoint): + (WebInspector.NativeBreakpoint.prototype._setOnBackend.didSet): + (WebInspector.NativeBreakpoint.prototype._setOnBackend): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.XHRBreakpointsSidebarPane.prototype._showEditBreakpointDialog): + (WebInspector.BreakpointItem): + (WebInspector.EventListenerBreakpointsSidebarPane): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._populate): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCheckbox): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._eventNameCheckboxClicked): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointEnableChanged): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox): + (WebInspector.EventListenerBreakpointsSidebarPane.prototype.reset): + * inspector/front-end/EventListenersSidebarPane.js: + (): + * inspector/front-end/PropertiesSection.js: + (WebInspector.PropertiesSection): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.reset): + * inspector/front-end/inspector.css: + (.section .properties, .event-bar .event-properties): + (.section.expanded .properties, .event-bar.expanded .event-properties): + (ol.properties-tree): + (ol.properties-tree li): + (ol.properties-tree li.parent): + (ol.properties-tree li.parent::before): + (ol.properties-tree li.parent.expanded::before): + (ol.properties-tree li .info): + (ol.properties-tree ol, .stack-trace ol, ol.stack-trace): + (ol.properties-tree ol.expanded, .stack-trace ol, ol.stack-trace): + (ol.stack-trace): + (.event-listener-breakpoints .event-category): + (ol.event-listener-breakpoints.properties-tree .children li): + (.event-listener-breakpoints .checkbox-elem): + * inspector/front-end/inspector.js: + (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded): + (WebInspector.createXHRBreakpointsSidebarPane): + +2010-10-06 Carlos Garcia Campos <cgarcia@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Port to gtk+3 (2.91.0) + https://bugs.webkit.org/show_bug.cgi?id=47249 + + Do not use GdkDrawable deprecated API + + Some methods of GdkDrawable are deprecated in gtk2 and have been + remmoved in gtk3. Equivalent API has been added to GdkWindow. + + * platform/gtk/GtkVersioning.c: + (getDefaultGDKPointerDevice): + * platform/gtk/GtkVersioning.h: + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::getVisual): + (WebCore::screenAvailableRect): + +2010-10-06 Ryuan Choi <ryuan.choi@samsung.com> + + Reviewed by Antonio Gomes. + + [EFL] Support Progress Tag + https://bugs.webkit.org/show_bug.cgi?id=45951 + + Implement to render progress tag. + + No new tests. Existing tests in fast/dom/HTMLProgressElement. + + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::paintThemePart): + (WebCore::RenderThemeEfl::edjeGroupFromFormType): + (WebCore::RenderThemeEfl::adjustProgressBarStyle): + (WebCore::RenderThemeEfl::paintProgressBar): + * platform/efl/RenderThemeEfl.h: + +2010-10-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Darin Adler. + + Add KURL::protocolIsData() + https://bugs.webkit.org/show_bug.cgi?id=47219 + + * page/Page.cpp: + (WebCore::Page::userStyleSheetLocationChanged): + * page/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::taintsCanvas): + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::findInRequest): + * platform/KURL.h: + (WebCore::KURL::protocolIsData): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::dispatchSynchronousJob): + (WebCore::ResourceHandleManager::startJob): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::fileLoadTimer): + +2010-10-06 Alexander Pavlov <apavlov@chromium.org> + + Reviewed by Pavel Feldman. + + CSSParser: Enable rule selector source range extraction. + API modification followed by clients. + https://bugs.webkit.org/show_bug.cgi?id=46367 + + Some code removal suggested by Darin Adler. + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::CSSParser): + (WebCore::CSSParser::parseSheet): + (WebCore::CSSParser::parseDeclaration): + (WebCore::CSSParser::createStyleRule): + (WebCore::CSSParser::markSelectorListStart): + (WebCore::CSSParser::markSelectorListEnd): + (WebCore::CSSParser::markRuleBodyStart): + (WebCore::CSSParser::markRuleBodyEnd): + (WebCore::CSSParser::markPropertyStart): + (WebCore::CSSParser::markPropertyEnd): + * css/CSSParser.h: + (WebCore::CSSParser::resetSelectorListMarks): + (WebCore::CSSParser::resetRuleBodyMarks): + (WebCore::CSSParser::resetPropertyMarks): + * css/CSSPropertySourceData.cpp: + * css/CSSPropertySourceData.h: + (WebCore::CSSRuleSourceData::create): + * inspector/InspectorCSSStore.cpp: + (WebCore::InspectorCSSStore::getRuleSourceData): + (WebCore::InspectorCSSStore::extractRanges): + (WebCore::InspectorCSSStore::getStyleAttributeRanges): + * inspector/InspectorCSSStore.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::getStyleSourceData): + +2010-10-06 Dirk Schulze <krit@webkit.org> + + Added reviewer to commit r69187. + +2010-10-06 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVG feMorphology - big radii cause huge ImageBuffer sizes + https://bugs.webkit.org/show_bug.cgi?id=47263 + + The current code in FEMorphology::determineAbsolutePaintRect calculates the smallest paint rect by inflate the paint rect + of a previous effect with the radius. This was meant as an optimization, but I forgot to clip the calculated image size + by the maximal effect size. This caused huge image sizes for big radii. + + This is covered by svg/filters/feMorphology-invalid-radius.svg and fixes the crashes on Windows and Snow Leopard bots. + + * platform/graphics/filters/FEMorphology.cpp: + (WebCore::FEMorphology::determineAbsolutePaintRect): + +2010-10-06 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Dirk Schulze. + + Fixed crash in gtk bots (filter-empty-g.svg) after r69181. + + * rendering/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::postApplyResource): + +2010-10-06 Antonio Gomes <agomes@rim.org> + + Reviewed by Kenneth Rohde Christiansen. + + Rename HitTestResult::rectFromPoint to rectForPoint + https://bugs.webkit.org/show_bug.cgi?id=47261 + + As per Kenneth Christiansen request inhttps://bugs.webkit.org/show_bug.cgi?id=46336#c20. + + * WebCore.exp.in: + * dom/Document.cpp: + (WebCore::Document::nodesFromRect): + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::nodeAtPoint): + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::addNodeToRectBasedTestResult): + (WebCore::HitTestResult::rectForPoint): + * rendering/HitTestResult.h: + (WebCore::HitTestResult::rectForPoint): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::nodeAtPoint): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::nodeAtPoint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::nodeAtPoint): + (WebCore::RenderBlock::hitTestColumns): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::nodeAtPoint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::hitTestLayer): + (WebCore::RenderLayer::hitTestChildLayerColumns): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::nodeAtPoint): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::nodeAtPoint): + +2010-10-06 Dirk Schulze <krit@webkit.org> + + Reviewed by Martin Robinson. + + SVGs with filters look grainy when scaled + https://bugs.webkit.org/show_bug.cgi?id=5526 + + Fixed issues on Cairos shadow implementation after the changes to FilterEffects. + Cairo calculates the inflation of the effect rect itself. Respect this for FEGaussianBlur. + This is just a temporary solution, since Cairo and Qt will use ContextShadow soon. + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::drawBorderlessRectShadow): + (WebCore::GraphicsContext::applyPlatformShadow): + (WebCore::GraphicsContext::createShadowMask): + (WebCore::GraphicsContext::drawTiledShadow): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/filters/ImageBufferFilter.cpp: + (WebCore::ImageBufferFilter::ImageBufferFilter): + (WebCore::ImageBufferFilter::create): + * platform/graphics/filters/ImageBufferFilter.h: + (WebCore::ImageBufferFilter::filterRegion): + (WebCore::ImageBufferFilter::sourceImageRect): + +2010-10-06 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Only execute first SVG text layout phase if needed + https://bugs.webkit.org/show_bug.cgi?id=47254 + + The first SVG text layout phase which computes the per-character metrics and extracts + the x/y/dx/dy/rotate values from the SVG DOM is currently executed upon every RenderSVGText::layout() call. + + Optimize this, by only calling it: + - if x/y/dx/dy/rotate value lists change + - the style of a RenderSVGInlineText changes (eg. font-size changes influence metrics) + - the text content of any of the children in the <text> subtree change + + No change in layout tests, a pure performance change - covered by existing tests. + + * rendering/RenderSVGResourceGradient.cpp: + (WebCore::createMaskAndSwapContextForTextGradient): Adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor(). + (WebCore::clipToTextMask): Ditto. + * rendering/SVGRenderSupport.cpp: + * rendering/SVGRenderSupport.h: Move findTreeRootObject to RenderSVGText::locateRenderSVGTextAncestor(). + * rendering/svg/RenderSVGInline.cpp: + (WebCore::RenderSVGInline::objectBoundingBox): adapt to renames, use RenderSVGText::locateRenderSVGTextAncestor(). + (WebCore::RenderSVGInline::strokeBoundingBox): Ditto. + (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto. + (WebCore::RenderSVGInline::absoluteQuads): Ditto. + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::styleDidChange): Call setNeedsPositioningValuesUpdate() on the RenderSVGText root object, if diff == StyleDifferenceLayout. + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::RenderSVGText): Initialize m_needsPositioningValuesUpdate. + (WebCore::RenderSVGText::locateRenderSVGTextAncestor): New helper function, moved from SVGRenderSupport, to a more sensible place. + (WebCore::RenderSVGText::layout): Only execute the first SVG text layout phase, if m_needsPositioningValuesUpdate=true. + * rendering/svg/RenderSVGText.h: + (WebCore::RenderSVGText::setNeedsPositioningValuesUpdate): + (WebCore::toRenderSVGText): Add new helper casting methods, like most other renderers have. + * svg/SVGTextPositioningElement.cpp: + (WebCore::updatePositioningValuesInRenderer): + (WebCore::SVGTextPositioningElement::svgAttributeChanged): If x/y/dx/dy/rotate changes, call setNeedsPositioningValuesUpdate on the RenderSVGText root object. + (WebCore::SVGTextPositioningElement::childrenChanged): If any children changes (addition, removal), do the same. + * svg/SVGTextPositioningElement.h: + +2010-10-05 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Extensions API] Expose access to resource bodies + Added support for encoding resource in WebInspector.getResourceContent() + https://bugs.webkit.org/show_bug.cgi?id=45953 + + * inspector/Inspector.idl: Added encoding parameter to getResourceContent() + * inspector/InspectorController.cpp: + (WebCore::InspectorController::getResourceContent): + * inspector/InspectorController.h: + * inspector/InspectorResource.cpp: Added sourceBytes() to return encoded representation of resource's binary body. + (WebCore::InspectorResource::sourceBytes): + * inspector/InspectorResource.h: + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.Resources.prototype.getContent): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer): + (WebInspector.ExtensionServer.prototype._onGetResourceContent): + (WebInspector.ExtensionServer.prototype._onGetResourceContent.onContentAvailable): + (WebInspector.getEncodedResourceContent): + * inspector/front-end/NetworkPanel.js: + (WebInspector.getResourceContent): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.getResourceContent): + +2010-10-06 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47235 + + Make "lr" block-flow fieldsets work. + + (1) Patched html.css rules for legends and fieldsets to use logical margins and padding. + (2) Converted just enough of computePreferredLogicalWidths to make basic examples work. + (3) Removed the extra border drawing code from fieldsets so that the "clip out the legend" approach + is now just always used. It's silly to keep the old border drawing code in (which has already gotten out + of sync with the base class) just to avoid a save/restore and some clipping. + (4) Modified the layout/painting routines to place the legend properly and to be able to draw it in + both the top and the left borders. + + Added fast/blockflow/fieldsets.html + + * css/html.css: + (legend): + (fieldset): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::determineLogicalLeftPositionForChild): + (WebCore::RenderBlock::setLogicalLeftForChild): + (WebCore::RenderBlock::setLogicalTopForChild): + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::computePreferredLogicalWidths): + * rendering/RenderBlock.h: + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::layoutLegend): + (WebCore::RenderFieldset::paintBoxDecorations): + (WebCore::RenderFieldset::paintMask): + * rendering/RenderFieldset.h: + +2010-10-06 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Darin Adler. + + Move parseDataUrl() from CURL into own file + https://bugs.webkit.org/show_bug.cgi?id=41462 + + Move the data URL parsing algorithm into a new file to use it in ResourceHandleWin too. + + * CMakeLists.txt: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * platform/network/DataURL.cpp: Added. + (WebCore::handleDataURL): + * platform/network/DataURL.h: Added. + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::dispatchSynchronousJob): + (WebCore::ResourceHandleManager::startJob): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::fileLoadTimer): + +2010-10-06 Dirk Schulze <krit@webkit.org> + + Reviewed by Nikolas Zimmermann. + + SVGs with filters look grainy when scaled + https://bugs.webkit.org/show_bug.cgi?id=5526 + + SVG filter effects need smarter size calculation + https://bugs.webkit.org/show_bug.cgi?id=31370 + + SVG elements use Filters before own transformations + https://bugs.webkit.org/show_bug.cgi?id=32486 + + Calculate all filter results in device space instead of the filtered objects user space. This change is similar to + the patches for SVG Pattern and SVG Masker before. It avoids pixelation and guarantees smooth filter results for + every scale level and is independent of any transformation to the target element or any ancester of the target. + The second part of this patch reduces the size of every effect to the smallest affected region instead of the complete + filter primitive subregion (http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveSubRegion). We just use the subregion + as clipping region, like mentioned in the SVG specification, to make the affected region even smaller now. + + This is a huge speed up. The ECMA cloud (http://ejohn.org/files/ecma-cloud.svg) is more than 100 times faster on Gtk and + renders in less than a second. + Some examples on svg-wow.org can be viewed the first time now, since the subregions were much bigger than the affected + region. + There's still more potential to speed up filters, by further reducing the ImageBuffer sizes. + Renamed repaintRectInLocalCoordinates to absolutePaintRect, since all coordinates are in device space instead of the + user space now. + The absolute paint rect is calculated by determineAbsolutePaintRect() and gets called by FilterEffect::effectContext() on + applying the effect. + Partly rewrote filter resolution (http://www.w3.org/TR/SVG/filters.html#FilterElementFilterResAttribute) to work with the + new concept. This also corrects the old behavior to match the SVG specification. + + Tests: svg/filters/filterRes1.svg + svg/filters/filterRes2.svg + svg/filters/filterRes3.svg + + * platform/graphics/cairo/GraphicsContextCairo.cpp: Call setAbsolutePaintRect instead of setRepaintRectInLocalCoordinates. + (WebCore::GraphicsContext::createShadowMask): + * platform/graphics/filters/FEBlend.cpp: Renamed repaintRectInLocalCoordinates to absolutePaintRect. + (WebCore::FEBlend::apply): + * platform/graphics/filters/FEColorMatrix.cpp: Ditto. + (WebCore::FEColorMatrix::apply): + * platform/graphics/filters/FEComponentTransfer.cpp: Ditto. + (WebCore::FEComponentTransfer::apply): + * platform/graphics/filters/FEComposite.cpp: Ditto. + (WebCore::FEComposite::determineAbsolutePaintRect): + (WebCore::FEComposite::apply): + * platform/graphics/filters/FEComposite.h: + * platform/graphics/filters/FEConvolveMatrix.cpp: Ditto. + (WebCore::FEConvolveMatrix::apply): + * platform/graphics/filters/FEConvolveMatrix.h: + (WebCore::FEConvolveMatrix::determineAbsolutePaintRect): + * platform/graphics/filters/FEDisplacementMap.cpp: Ditto. + (WebCore::FEDisplacementMap::apply): + * platform/graphics/filters/FEDisplacementMap.h: + (WebCore::FEDisplacementMap::determineAbsolutePaintRect): + * platform/graphics/filters/FEFlood.cpp: Ditto. + (WebCore::FEFlood::apply): + * platform/graphics/filters/FEFlood.h: + (WebCore::FEFlood::determineAbsolutePaintRect): + * platform/graphics/filters/FEGaussianBlur.cpp: Ditto. + (WebCore::calculateKernelSize): + (WebCore::FEGaussianBlur::determineAbsolutePaintRect): + (WebCore::FEGaussianBlur::apply): + * platform/graphics/filters/FEGaussianBlur.h: + * platform/graphics/filters/FELighting.cpp: Ditto. + (WebCore::FELighting::apply): + * platform/graphics/filters/FEMerge.cpp: Ditto. + (WebCore::FEMerge::apply): + * platform/graphics/filters/FEMorphology.cpp: Ditto. + (WebCore::FEMorphology::determineAbsolutePaintRect): + (WebCore::FEMorphology::apply): + * platform/graphics/filters/FEMorphology.h: + * platform/graphics/filters/FEOffset.cpp: Ditto. + (WebCore::FEOffset::determineAbsolutePaintRect): + (WebCore::FEOffset::apply): + * platform/graphics/filters/FEOffset.h: + * platform/graphics/filters/FETile.cpp: Ditto. + (WebCore::FETile::determineFilterPrimitiveSubregion): + (WebCore::FETile::apply): + * platform/graphics/filters/FETile.h: + (WebCore::FETile::determineAbsolutePaintRect): + * platform/graphics/filters/FETurbulence.cpp: Ditto. + (WebCore::FETurbulence::apply): + * platform/graphics/filters/FETurbulence.h: + (WebCore::FETurbulence::determineAbsolutePaintRect): + * platform/graphics/filters/Filter.h: + (WebCore::Filter::applyHorizontalScale): Map horizontal effect values to absolute coordinates. + (WebCore::Filter::applyVerticalScale): Map vertical effect values to absolute coordinates. + (WebCore::Filter::mapAbsolutePointToLocalPoint): + (WebCore::Filter::filterRegionInUserSpace): + * platform/graphics/filters/FilterEffect.cpp: Ditto. + (WebCore::FilterEffect::determineFilterPrimitiveSubregion): + (WebCore::FilterEffect::determineAbsolutePaintRect): + (WebCore::FilterEffect::requestedRegionOfInputImageData): + (WebCore::FilterEffect::drawingRegionOfInputImage): + (WebCore::FilterEffect::effectContext): + * platform/graphics/filters/FilterEffect.h: + (WebCore::FilterEffect::absolutePaintRect): + (WebCore::FilterEffect::setAbsolutePaintRect): + (WebCore::FilterEffect::maxEffectRect): The subregion in absolute coordinates for SVG. + (WebCore::FilterEffect::setMaxEffectRect): + * platform/graphics/filters/SourceAlpha.cpp: Ditto. + (WebCore::SourceAlpha::determineAbsolutePaintRect): + (WebCore::SourceAlpha::apply): + * platform/graphics/filters/SourceAlpha.h: + * platform/graphics/filters/SourceGraphic.cpp: Ditto. + (WebCore::SourceGraphic::determineAbsolutePaintRect): + (WebCore::SourceGraphic::apply): + * platform/graphics/filters/SourceGraphic.h: + * rendering/RenderSVGResourceFilter.cpp: + (WebCore::RenderSVGResourceFilter::applyResource): + (WebCore::RenderSVGResourceFilter::postApplyResource): + * rendering/RenderSVGResourceFilter.h: + (WebCore::FilterData::FilterData): + * svg/graphics/filters/SVGFEImage.cpp: Ditto. + (WebCore::FEImage::apply): + * svg/graphics/filters/SVGFEImage.h: + (WebCore::FEImage::determineAbsolutePaintRect): + * svg/graphics/filters/SVGFilter.cpp: + (WebCore::SVGFilter::SVGFilter): + (WebCore::SVGFilter::determineFilterPrimitiveSubregion): + (WebCore::SVGFilter::applyHorizontalScale): + (WebCore::SVGFilter::applyVerticalScale): + (WebCore::SVGFilter::create): + * svg/graphics/filters/SVGFilter.h: + (WebCore::SVGFilter::effectBoundingBoxMode): + (WebCore::SVGFilter::filterRegionInUserSpace): + (WebCore::SVGFilter::filterRegion): + (WebCore::SVGFilter::mapAbsolutePointToLocalPoint): Map absolute point to local point in userspace. + (WebCore::SVGFilter::sourceImageRect): + (WebCore::SVGFilter::maxImageSize): + +2010-10-06 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add "Set Breakpoint" item to XHR resource context menu. + https://bugs.webkit.org/show_bug.cgi?id=47085 + + * English.lproj/localizedStrings.js: + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype._contextMenu): + +2010-10-05 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by David Levin. + + Add idl and mock classes for FileSystemSync for FileSystem API + https://bugs.webkit.org/show_bug.cgi?id=46405 + + Added bunch of *Sync classes, plus refactored some classes: + Added DOMFileSystemBase as a common base class for DOMFileSystem and + DOMFileSystemSync. + Added EntryBase as a common base class for Entry and EntrySync. + Added DirectoryReaderBase as a common base class for DirectoryReader and + DirectoryReaderSync. + + Test: fast/filesystem/workers/ + + * CMakeLists.txt: Added new files. + * DerivedSources.cpp: Added new files. + * DerivedSources.make: Added new files. + * GNUmakefile.am: Added new files. + * WebCore.gypi: Added new files. + * WebCore.pri: Added new files. + * WebCore.pro: Added new files. + * WebCore.vcproj/WebCore.vcproj: Added new files. Also removed the duplicated fileapi\FileEntry.cpp entry. + * WebCore.xcodeproj/project.pbxproj: Added new files. + * bindings/js/JSDirectoryEntrySyncCustom.cpp: Added. + * bindings/js/JSEntrySyncCustom.cpp: Added. + * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Added. + * bindings/v8/custom/V8EntrySyncCustom.cpp: Added. + * fileapi/DOMFileSystemBase.cpp: Added. + * fileapi/DOMFileSystemBase.h: Added. + * fileapi/DOMFileSystemSync.cpp: Added. + * fileapi/DOMFileSystemSync.h: Added. + * fileapi/DOMFileSystemSync.idl: Added. + * fileapi/DirectoryEntrySync.cpp: Added. + * fileapi/DirectoryEntrySync.h: Added. + * fileapi/DirectoryEntrySync.idl: Added. + * fileapi/DirectoryReaderBase.h: Added. + * fileapi/DirectoryReaderSync.cpp: Added. + * fileapi/DirectoryReaderSync.h: Added. + * fileapi/DirectoryReaderSync.idl: Added. + * fileapi/EntryArraySync.cpp: Added. + * fileapi/EntryArraySync.h: Added. + * fileapi/EntryArraySync.idl: Added. + * fileapi/EntryBase.h: Added. + * fileapi/EntrySync.cpp: Added. + * fileapi/EntrySync.h: Added. + * fileapi/EntrySync.idl: Added. + * fileapi/FileEntrySync.cpp: Added. + * fileapi/FileEntrySync.h: Added. + * fileapi/FileEntrySync.idl: Added. + +2010-10-05 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + REGRESSION (r67166): "Placeholder" text remains in input box after 2nd focus() + https://bugs.webkit.org/show_bug.cgi?id=45940 + + Test: fast/forms/input-placeholder-focus-twice.html + + * html/HTMLFormControlElement.h: Make supportsPlaceholder() public. + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::updateFromElement): + We always need to update the renderer value with the DOM value if + the element supports the placeholder feature. + Note: the placeholder feature and "unacceptable renderer value" + are exclusive. + +2010-10-05 Kyusun Kim <maniagoon@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Translate key code in PlatformKeyboardEvent with IKeysMapping + https://bugs.webkit.org/show_bug.cgi?id=47234 + + Brew MP devices have a variey of key configurations and use modifiers to + input capital letters, symbols and special characters. Use IKeysMapping to translate key code. + + * platform/brew/PlatformKeyboardEventBrew.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2010-10-05 W. James MacLean <wjmaclean@chromium.org> + + Reviewed by James Robinson. + + [chromium] Add mipmap support for ImageLayerChromium + https://bugs.webkit.org/show_bug.cgi?id=46493 + + Mipmap behaviour can be tested with existing tests. + Tests in LayoutTests/compositing/images/ will detect if + mipmaps fail. + + * platform/graphics/chromium/ContentLayerChromium.cpp: + (WebCore::ContentLayerChromium::SharedValues::SharedValues): + (WebCore::isPowerOfTwo): + (WebCore::ContentLayerChromium::updateTextureRect): + * platform/graphics/chromium/ContentLayerChromium.h: + (WebCore::ContentLayerChromium::SharedValues::npotSupported): + * platform/graphics/chromium/ImageLayerChromium.cpp: + (WebCore::ImageLayerChromium::updateContents): + +2010-10-05 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Issue in treebuilder parsing related to table tags + https://bugs.webkit.org/show_bug.cgi?id=47190 + + Update ASSERT to match the spec and our behavior. + + * html/parser/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTagForInCell): + +2010-10-05 Victoria Kirst <vrk@google.com> + + Reviewed by James Robinson. + + VideoLayerChromium releases old resources if the LayerRenderer changes. + https://bugs.webkit.org/show_bug.cgi?id=47030 + + Refactored LayerChromium to have a virtual cleanupResources() method + that will release textures/other context-dependent resources when a + LayerRenderer changes. ContentLayerChromium and VideoLayerChromium now + override this method to perform cleanup. + + * platform/graphics/chromium/ContentLayerChromium.cpp: + * platform/graphics/chromium/ContentLayerChromium.h: + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::setLayerRenderer): + * platform/graphics/chromium/LayerChromium.h: + (WebCore::LayerChromium::cleanupResources): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::~VideoLayerChromium): + (WebCore::VideoLayerChromium::cleanupResources): + * platform/graphics/chromium/VideoLayerChromium.h: + +2010-10-05 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Jian Li. + + FileEntry::file needs to be implemented + https://bugs.webkit.org/show_bug.cgi?id=47192 + + Test: fast/filesystem/file-from-file-entry.html + + * fileapi/FileEntry.cpp: + (WebCore::FileEntry::file): Implemented. + +2010-09-29 Alpha Lam <hclam@chromium.org> + + Reviewed by James Robinson. + + Render textures in video frame directly. + https://bugs.webkit.org/show_bug.cgi?id=46765 + + Render textures in VideoLayerChromium directly if the video frame type + is GL texture. In the future VideoLayerChromium will not allocate + textures and perform textures upload as those operations will be done + in Chromium to minimize memory copy. This patch will help moving toward + this direction and facilitate hardware video decoding. + + * platform/graphics/chromium/VideoFrameChromium.h: + * platform/graphics/chromium/VideoFrameProvider.h: + (WebCore::VideoFrameProvider::~VideoFrameProvider): + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::VideoLayerChromium): + (WebCore::VideoLayerChromium::~VideoLayerChromium): + (WebCore::VideoLayerChromium::updateContents): + (WebCore::VideoLayerChromium::draw): + (WebCore::VideoLayerChromium::releaseCurrentFrame): + (WebCore::VideoLayerChromium::resetFrameParameters): + (WebCore::VideoLayerChromium::saveCurrentFrame): + * platform/graphics/chromium/VideoLayerChromium.h: + (WebCore::VideoLayerChromium::SharedValues::initialized): + +2010-10-05 Fady Samuel <fsamuel@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages + https://bugs.webkit.org/show_bug.cgi?id=45131 + + When border-collapse: separate property is set on the table, paintObject + may skip repainting cells, if the dirty region only touches one row/col of pixels. + + Test: fast/table/simple_paint_separate_borders.html + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::paintObject): + Don't subtract one from the right and bottom of the dirty paint rect. + +2010-10-05 Sanjeev Radhakrishnan <sanjeevr@chromium.org> + + Reviewed by Darin Fisher. + + PluginDocument now holds on to the created plugin node so that the pluginNode() and pluginWidget() methods can return the correct node. + https://bugs.webkit.org/show_bug.cgi?id=47129 + + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::createDocumentStructure): + (WebCore::PluginDocument::pluginWidget): + (WebCore::PluginDocument::pluginNode): + * html/PluginDocument.h: + (WebCore::PluginDocument::setPluginNode): + +2010-10-05 Andreas Kling <kling@webkit.org> + + Reviewed by Tor Arne Vestbø. + + [Qt] Re-enable single-NPP_SetWindow quirk for 64-bit + https://bugs.webkit.org/show_bug.cgi?id=45363 + + This is still causing trouble for people, so let's put the + quirk back until we can figure this out properly. + + * plugins/PluginPackage.cpp: + (WebCore::PluginPackage::determineQuirks): + +2010-10-05 Jian Li <jianli@chromium.org> + + Reviewed by Nate Chapin. + + [V8] Add FileReader to active DOM map + https://bugs.webkit.org/show_bug.cgi?id=47205 + + We need to have a custom FileReader V8 constructor in order to add object + into active DOM map to prevent it from GC-ed when it is still in-use. + + * Android.v8bindings.mk: + * WebCore.gypi: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/custom/V8FileReaderCustom.cpp: Added. + (WebCore::V8FileReader::constructorCallback): + * fileapi/FileReader.idl: + +2010-10-05 Vincent Scheib <scheib@chromium.org> + + Reviewed by Kenneth Russell. + + [chromium] 51304 GPU compositor resorts to "slow" text rendering for base page layer + https://bugs.webkit.org/show_bug.cgi?id=47193 + + Test: Accelerated compositor test infrastructure still coming online. Tested manually. + + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::setRootLayerCanvasSize): + (WebCore::LayerRendererChromium::prepareToDrawLayers): + (WebCore::LayerRendererChromium::drawLayers): + +2010-10-05 Nico Weber <thakis@chromium.org> + + Reviewed by Andreas Kling. + + Fix clang build + https://bugs.webkit.org/show_bug.cgi?id=47198 + + * page/Chrome.h: + Declare ViewportArguments as struct, not as class. + +2010-10-05 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=47204 + + Make isSelfCollapsingBlock use logical height instead of height in all its checks. + + Added fast/blockflow/self-collapsing-block.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::isSelfCollapsingBlock): + +2010-10-05 Eric Uhrhane <ericu@chromium.org> + + Reviewed by David Levin. + + Relax restrictions on FileWriter::didWrite calls + https://bugs.webkit.org/show_bug.cgi?id=47139 + + No new tests; they're still waiting on the first implementation. + + * fileapi/FileWriter.cpp: + (WebCore::FileWriter::FileWriter): + (WebCore::FileWriter::write): + (WebCore::FileWriter::didWrite): + * fileapi/FileWriter.h: + +2010-10-05 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Tony Chang. + + [chromium] getData('text/uri-list') should return the same thing that was passed to setData('text/uri-list') + https://bugs.webkit.org/show_bug.cgi?id=46943 + + We no longer parse the input of setData('text/uri-list') and only store + the valid URLs that were parsed out. + + Test: editing/pasteboard/dataTransfer-setData-getData.html + + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::clearData): + (WebCore::ChromiumDataObject::clearAllExceptFiles): + (WebCore::ChromiumDataObject::types): + (WebCore::ChromiumDataObject::getData): + (WebCore::ChromiumDataObject::setData): + * platform/chromium/ChromiumDataObject.h: + +2010-10-05 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Support FontPlatformData::isFixedPitch for custom fonts + https://bugs.webkit.org/show_bug.cgi?id=47124 + + Instead of determining whether or not a font is a fixed-width font + lazily, do it up front. For fonts not backed by Fontconfig patterns, + fetch information about whether or not the font is fixed-width from + the FreeType face. + + No new tests as this should not change functionality. + + * platform/graphics/cairo/FontPlatformDataFreeType.cpp: + (WebCore::FontPlatformData::FontPlatformData): Initialize the m_fixedWidth member + from the Fontconfig pattern or the FreeType face. + (WebCore::FontPlatformData::operator=): Copy over the m_fixedWidth member. + (WebCore::FontPlatformData::isFixedPitch): Just return the value of the m_fixedWidth member. + * platform/graphics/cairo/FontPlatformDataFreeType.h: Added an m_fixedWidth member. + +2010-10-05 David Hyatt <hyatt@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=47199 + + Make float positioning work in block layout with block children. + It doesn't work yet from inside line layout, since line layout is unpatched. + + Added fast/blockflow/floats-in-block-layout.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::adjustFloatingBlock): + (WebCore::RenderBlock::setLogicalLeftForChild): + (WebCore::RenderBlock::setLogicalTopForChild): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::positionNewFloats): + (WebCore::RenderBlock::logicalLeftOffsetForLine): + (WebCore::RenderBlock::logicalRightOffsetForLine): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::FloatingObject::type): + (WebCore::RenderBlock::FloatingObject::renderer): + (WebCore::RenderBlock::logicalRightForFloat): + (WebCore::RenderBlock::setLogicalTopForFloat): + (WebCore::RenderBlock::setLogicalLeftForFloat): + (WebCore::RenderBlock::setLogicalHeightForFloat): + (WebCore::RenderBlock::setLogicalWidthForFloat): + +2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Web process crash when pressing modifiers in input field + https://bugs.webkit.org/show_bug.cgi?id=44935 + + Revert part of the http://trac.webkit.org/changeset/69105 due to a + test regression. Unix: Add ASSERTs to plugin related code. These + will fail if Qt WebKit2 is used with plugins, unless code is not + fixed before. + + * plugins/qt/PluginViewQt.cpp: + (WebCore::setXKeyEventSpecificFields): Use qKeyEvent, Use ASSERT as a reminder. + +2010-10-05 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioBasicProcessorNode files + https://bugs.webkit.org/show_bug.cgi?id=46495 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioBasicProcessorNode.cpp: Added. + (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode): + (WebCore::AudioBasicProcessorNode::initialize): + (WebCore::AudioBasicProcessorNode::uninitialize): + (WebCore::AudioBasicProcessorNode::process): + (WebCore::AudioBasicProcessorNode::pullInputs): + (WebCore::AudioBasicProcessorNode::reset): + (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput): + (WebCore::AudioBasicProcessorNode::numberOfChannels): + * webaudio/AudioBasicProcessorNode.h: Added. + (WebCore::AudioBasicProcessorNode::processor): + +2010-10-05 Chris Marrin <cmarrin@apple.com> + + Unreviewed. + + The platform/graphics/gpu folder was mistakenly inside the filters folder. + I moved it to the right place in the Group Tree. + + * WebCore.xcodeproj/project.pbxproj: + +2010-10-05 Chris Marrin <cmarrin@apple.com> + + Reviewed by Adam Roben. + + Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash + https://bugs.webkit.org/show_bug.cgi?id=47197 + + This is work in progress and the crash only happens with ACCELERATED_2D_CANVAS turned on (which is off + by default). Many existing test cases will crash before and after this patch. + + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + +2010-10-05 Tony Chang <tony@chromium.org> + + Reviewed by Kent Tamura. + + [chromium] properly paint really small scrollbar arrows on linux + https://bugs.webkit.org/show_bug.cgi?id=47109 + + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::buttonSize): Clamp button size based on available size. This matches what + we do on Win. + +2010-10-05 Nate Chapin <japhet@chromium.org> + + Reviewed by David Levin. + + Remove unused CachedResource::Status values (New and NotCached). + https://bugs.webkit.org/show_bug.cgi?id=47132 + + Refactor only, no new tests. + + * loader/CachedResource.h: + * loader/CachedResourceLoader.cpp: + (WebCore::CachedResourceLoader::checkCacheObjectStatus): + +2010-10-04 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Rename get* and open*Cursor per the spec on IDBIndex + https://bugs.webkit.org/show_bug.cgi?id=46906 + + The spec changed so that: + IDBIndex.get -> getKey + IDBIndex.getObject -> get + IDBIndex.openCursor -> openKeyCursor + IDBIndex.openObjectCursor -> openCursor + + Existing tests cover since this is just renaming stuff. + + * storage/IDBIndex.cpp: + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::openKeyCursor): + (WebCore::IDBIndex::get): + (WebCore::IDBIndex::getKey): + * storage/IDBIndex.h: + * storage/IDBIndex.idl: + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::openCursor): + (WebCore::IDBIndexBackendImpl::openKeyCursor): + (WebCore::IDBIndexBackendImpl::get): + (WebCore::IDBIndexBackendImpl::getKey): + * storage/IDBIndexBackendImpl.h: + * storage/IDBIndexBackendInterface.h: + +2010-10-05 Keith Kyzivat <keith.kyzivat@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Fix breakage in RVCT 2.2 compile + https://bugs.webkit.org/show_bug.cgi?id=47187 + + Fix bug in RVCT 2.2 compile for Symbian^3 in html/canvas/Int32Array.h and + html/canvas/Uin8Array.h + For RVCT2.2, the using clause is unneeded, and can be omitted. + + A Test case cannot be made for this since this is a build-related issue. + + * html/canvas/Int32Array.h: + * html/canvas/Uint8Array.h: + +2010-10-04 Andrei Popescu <andreip@google.com> + + Reviewed by Jeremy Orlow. + + IDBDatabase::createObjectStore/removeObjectStore and IDBObjectStore::createIndex/removeIndex should be synchronous. + https://bugs.webkit.org/show_bug.cgi?id=46883 + + Makes the schema manipulation methods synchronous. Modifies the transaction + logic to support tasks that may have pending events as well as tasks that + don't have such events. + + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::createObjectStore): + (WebCore::IDBDatabase::removeObjectStore): + * storage/IDBDatabase.h: + * storage/IDBDatabase.idl: + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::createObjectStore): + (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): + (WebCore::IDBDatabaseBackendImpl::removeObjectStore): + (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal): + * storage/IDBDatabaseBackendImpl.h: + * storage/IDBDatabaseBackendInterface.h: + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl): + * storage/IDBIndexBackendImpl.h: + (WebCore::IDBIndexBackendImpl::create): + (WebCore::IDBIndexBackendImpl::id): + (WebCore::IDBIndexBackendImpl::setId): + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::createIndex): + (WebCore::IDBObjectStore::removeIndex): + * storage/IDBObjectStore.h: + * storage/IDBObjectStore.idl: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): + (WebCore::IDBObjectStoreBackendImpl::createIndex): + (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): + (WebCore::IDBObjectStoreBackendImpl::removeIndex): + (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal): + * storage/IDBObjectStoreBackendImpl.h: + (WebCore::IDBObjectStoreBackendImpl::create): + (WebCore::IDBObjectStoreBackendImpl::id): + (WebCore::IDBObjectStoreBackendImpl::setId): + (WebCore::IDBObjectStoreBackendImpl::autoIncrement): + * storage/IDBObjectStoreBackendInterface.h: + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): + (WebCore::IDBTransactionBackendImpl::objectStore): + (WebCore::IDBTransactionBackendImpl::scheduleTask): + (WebCore::IDBTransactionBackendImpl::abort): + (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents): + (WebCore::IDBTransactionBackendImpl::run): + (WebCore::IDBTransactionBackendImpl::taskTimerFired): + (WebCore::IDBTransactionBackendImpl::taskEventTimerFired): + * storage/IDBTransactionBackendImpl.h: + +2010-10-05 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + WAI-ARIA 'marquee' role live region uses aria-live="polite", should use aria-live="off" + https://bugs.webkit.org/show_bug.cgi?id=47185 + + Test: platform/mac/accessibility/aria-liveregion-marquee-default.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus): + +2010-10-05 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Interior scrollbars do not draw their background properly + https://bugs.webkit.org/show_bug.cgi?id=47096 + + Correct the method that the GTK+ theme drawing code uses to + draw scrolled window backgrounds. Now it uses gtk_paint_shadow, + the same as the actual code from GTK+. + + No new tests as this is very hard to write tests for. The bug only + manifests on some GTK+ themes and we have no test harness mechanism + for testing rendering with non-default GTK+ themes. + + * platform/gtk/ScrollbarThemeGtk.cpp: + (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): No longer + initialize the widget state, as it's unused by the callee. + (WebCore::ScrollbarThemeGtk::paint): Remove an inaccurate comment. + * platform/gtk/gtk2drawing.c: + (moz_gtk_scrolled_window_paint): Paint scrolled window backgrounds + with gtk_paint_shadow instead of gtk_paint_box. + +2010-10-05 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Use PlatformRefPtr instead of OwnPtr in FileSystem + https://bugs.webkit.org/show_bug.cgi?id=47025 + + PlatformRefPtr is a better choice here because all Brew MP instances are + reference counted. + + * platform/brew/FileSystemBrew.cpp: + (WebCore::getFileSize): + (WebCore::fileExists): + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + (WebCore::canonicalPath): + (WebCore::makeAllDirectories): + (WebCore::openTemporaryFile): + +2010-10-05 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Complex text rendering does not render custom fonts + https://bugs.webkit.org/show_bug.cgi?id=41091 + + For fonts that do not have a FontConfig pattern (including custom + fonts), fall back to the simple text rendering path. This is a work- + -around for not supporting Pango rendering with non-FontConfig fonts. + + Test: platform/gtk/fonts/font-face-with-complex-text.html + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::Font::drawComplexText): Fall back to the simple path for custom fonts. + (WebCore::Font::floatWidthForComplexText): Ditto. + (WebCore::Font::offsetForPositionForComplexText): Ditto. + (WebCore::Font::selectionRectForComplexText): Ditto. + +2010-10-05 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Use PlatformRefPtr in getDisplayInfo + https://bugs.webkit.org/show_bug.cgi?id=47023 + + Use PlatformRefPtr to release IBitmap* automatically. + + * platform/brew/ScreenBrew.cpp: + (WebCore::getDisplayInfo): + +2010-10-05 Kristian Monsen <kristianm@google.com> + + Reviewed by Steve Block. + + Including JavaScriptCore/config.h from WebCore/config.h + instead of from WebCorePrefix.h. + https://bugs.webkit.org/show_bug.cgi?id=47179 + + No new tests, just changing where files are included. + + * WebCorePrefix.h: + * config.h: + +2010-10-05 Jakob Petsovits <jpetsovits@rim.com> + + Reviewed by Andreas Kling. + + [Qt] Make build work with QT_NO_CURSOR + https://bugs.webkit.org/show_bug.cgi?id=46097 + + Add a missing include. + + * platform/qt/QWebPageClient.h: + +2010-10-05 Jakob Petsovits <jpetsovits@rim.com> + + Reviewed by Andreas Kling. + + [Qt] Make build work with QT_NO_CURSOR + https://bugs.webkit.org/show_bug.cgi?id=46097 + + createCustomCursor() is a static function and not used + in that file if QT_NO_CURSOR is defined, so rather than + making it return 0, it should not exist altogether. + + * platform/qt/CursorQt.cpp: + (WebCore::createCustomCursor): + +2010-10-05 Adam Roben <aroben@apple.com> + + Windows linker warning fix + + * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMTokenList.cpp from the + build, since it is already being compiled via DerivedSources.cpp. Also + let VS reorder some files. + +2010-10-05 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Web process crash when pressing modifiers in input field + https://bugs.webkit.org/show_bug.cgi?id=44935 + + Fix null pointer dereference by not using + PlatformKeyboardEvent::m_qtEvent. This member is not set when + event comes from WebKit2. Unix: Add ASSERTs to plugin related + code. These will fail if WebKit2 is used with plugins, unless code + is not fixed before. Symbian: Add ASSERT to code which uses + qtEvent(). It will fail when WebKit2 is enabled for Symbian, if + code is not fixed before. + + * platform/PlatformKeyboardEvent.h: + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::isVirtualKeyCodeRepresentingCharacter): Added. + (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Avoid using m_qtEvent. + (WebCore::PlatformKeyboardEvent::nativeModifiers): Added. Use ASSERT as a reminder. + (WebCore::PlatformKeyboardEvent::nativeScanCode): Added. Use ASSERT as a reminder. + * plugins/qt/PluginViewQt.cpp: + (WebCore::setXKeyEventSpecificFields): + * plugins/symbian/PluginViewSymbian.cpp: + (WebCore::PluginView::handleKeyboardEvent): Add ASSERT as a reminder. + +2010-10-05 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Csaba Osztrogonác. + + Add ENABLE(ACCELERATED_2D_CANVAS) guard to LoopBlinnLocalTriangulator.cpp + https://bugs.webkit.org/show_bug.cgi?id=47115 + + LoopBlinnLocalTriangulator.cpp depends on LoopBlinnMathUtils.cpp which is guarded by + ENABLE(ACCELERATED_2D_CANVAS). + + * platform/graphics/gpu/LoopBlinnLocalTriangulator.cpp: + +2010-10-05 Satish Sampath <satish@chromium.org> + + Reviewed by Kent Tamura. + + Added event onwebkitspeechchange to invoke on new speech input results. + https://bugs.webkit.org/show_bug.cgi?id=47127 + + * dom/EventNames.h: Added webkitspeechchange event name. + * html/HTMLAttributeNames.in: Added onwebkitspeechchange attribute name. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::parseMappedAttribute): Handle new attribute set. + (WebCore::HTMLInputElement::dispatchWebkitSpeechChangeEvent): Invoke the event handler. + * html/HTMLInputElement.h: + * html/HTMLInputElement.idl: Added attribute to IDL. + * rendering/TextControlInnerElements.cpp: + (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): Invoke new event handler instead of onChange + +2010-10-05 Satish Sampath <satish@chromium.org> + + Reviewed by Jeremy Orlow. + + Rename @webkitspeech to @x-webkit-speech to follow HTML5 convention + https://bugs.webkit.org/show_bug.cgi?id=46873 + + The @webkitspeech attribute is renamed to @x-webkit-speech per the HTML5 spec for extension + attributes. The DOM attribute in IDL was renamed to 'webkitSpeech' as well. But the generated + code for the attribute did not match the generated code for the IDL, so I modified + dom/make_names.pl to generate the appropriate name for such extension attributes. + + * bindings/generic/RuntimeEnabledFeatures.h: Rename flag accessor to match IDL attribute name. + (WebCore::RuntimeEnabledFeatures::webkitSpeechEnabled): + * dom/make_names.pl: Additions to generate names for x-webkit-xxxx attributes that match the + generated code from IDL and remember the original names including the x- prefix when writing + out the cpp files. + * html/HTMLAttributeNames.in: Rename @webkitspeech to @x-webkit-speech + * html/HTMLInputElement.idl: Rename @webkitspeech to @webkitSpeech + +2010-10-04 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: [Chromium][Extension API] provide tab id of inspected tab in extension API + https://bugs.webkit.org/show_bug.cgi?id=47080 + + * inspector/front-end/ExtensionServer.js: Added support for platform-specific extensions API. + (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript): + +2010-10-05 Sanjeev Radhakrishnan <sanjeevr@chromium.org> + + Reviewed by Darin Fisher. + + Fixed implementation of pluginWidgetFromDocument to search for the "embed" element rather than just use the first child. + https://bugs.webkit.org/show_bug.cgi?id=47129 + + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::pluginWidgetFromDocument): + +2010-10-05 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add BiquadDSPKernel files + https://bugs.webkit.org/show_bug.cgi?id=46528 + + No new tests since audio API is not yet implemented. + + * webaudio/BiquadDSPKernel.cpp: Added. + (WebCore::BiquadDSPKernel::process): + * webaudio/BiquadDSPKernel.h: Added. + (WebCore::BiquadDSPKernel::BiquadDSPKernel): + (WebCore::BiquadDSPKernel::reset): + (WebCore::BiquadDSPKernel::biquadProcessor): + +2010-10-05 Chris Rogers <crogers@google.com> + + Reviewed by James Robinson. + + Fix AudioContext to use new HRTFDatabaseLoader API + https://bugs.webkit.org/show_bug.cgi?id=46858 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioContext.cpp: + (WebCore::AudioContext::AudioContext): + (WebCore::AudioContext::isRunnable): + * webaudio/AudioContext.h: + * webaudio/AudioContext.idl: + +2010-10-05 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioPannerNode files + https://bugs.webkit.org/show_bug.cgi?id=46505 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioPannerNode.cpp: Added. + (WebCore::fixNANs): + (WebCore::AudioPannerNode::AudioPannerNode): + (WebCore::AudioPannerNode::~AudioPannerNode): + (WebCore::AudioPannerNode::pullInputs): + (WebCore::AudioPannerNode::process): + (WebCore::AudioPannerNode::reset): + (WebCore::AudioPannerNode::initialize): + (WebCore::AudioPannerNode::uninitialize): + (WebCore::AudioPannerNode::listener): + (WebCore::AudioPannerNode::setPanningModel): + (WebCore::AudioPannerNode::getAzimuthElevation): + (WebCore::AudioPannerNode::dopplerRate): + (WebCore::AudioPannerNode::distanceConeGain): + (WebCore::AudioPannerNode::notifyAudioSourcesConnectedToNode): + * webaudio/AudioPannerNode.h: Added. + (WebCore::AudioPannerNode::create): + (WebCore::AudioPannerNode::panningModel): + (WebCore::AudioPannerNode::position): + (WebCore::AudioPannerNode::setPosition): + (WebCore::AudioPannerNode::orientation): + (WebCore::AudioPannerNode::setOrientation): + (WebCore::AudioPannerNode::velocity): + (WebCore::AudioPannerNode::setVelocity): + (WebCore::AudioPannerNode::distanceModel): + (WebCore::AudioPannerNode::setDistanceModel): + (WebCore::AudioPannerNode::refDistance): + (WebCore::AudioPannerNode::setRefDistance): + (WebCore::AudioPannerNode::maxDistance): + (WebCore::AudioPannerNode::setMaxDistance): + (WebCore::AudioPannerNode::rolloffFactor): + (WebCore::AudioPannerNode::setRolloffFactor): + (WebCore::AudioPannerNode::coneInnerAngle): + (WebCore::AudioPannerNode::setConeInnerAngle): + (WebCore::AudioPannerNode::coneOuterAngle): + (WebCore::AudioPannerNode::setConeOuterAngle): + (WebCore::AudioPannerNode::coneOuterGain): + (WebCore::AudioPannerNode::setConeOuterGain): + (WebCore::AudioPannerNode::distanceGain): + (WebCore::AudioPannerNode::coneGain): + * webaudio/AudioPannerNode.idl: Added. + +2010-10-04 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [Cairo] Port drawTiledShadow to the new ContextShadow + https://bugs.webkit.org/show_bug.cgi?id=45902 + + Ported the drawTiledShadow function to the ContextShadow, it + renders shadows for rects faster than the simple blurring using + tiling of a smaller rect. We will remove the old function in a + next patch when starting to use ContextShadows for cairo + rendering. + + * platform/graphics/ContextShadow.h: + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::drawRectShadowWithoutTiling): + (WebCore::ContextShadow::drawRectShadow): + +2010-10-05 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add BiquadProcessor files + https://bugs.webkit.org/show_bug.cgi?id=46527 + + No new tests since audio API is not yet implemented. + + * webaudio/BiquadProcessor.cpp: Added. + (WebCore::BiquadProcessor::BiquadProcessor): + (WebCore::BiquadProcessor::~BiquadProcessor): + (WebCore::BiquadProcessor::createKernel): + (WebCore::BiquadProcessor::process): + * webaudio/BiquadProcessor.h: Added. + (WebCore::BiquadProcessor::filterCoefficientsDirty): + (WebCore::BiquadProcessor::parameter1): + (WebCore::BiquadProcessor::parameter2): + (WebCore::BiquadProcessor::parameter3): + (WebCore::BiquadProcessor::type): + +2010-10-05 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add EqualPowerPanner files + https://bugs.webkit.org/show_bug.cgi?id=45077 + + No new tests since audio API is not yet implemented. + + * platform/audio/EqualPowerPanner.cpp: Added. + (WebCore::EqualPowerPanner::EqualPowerPanner): + (WebCore::EqualPowerPanner::pan): + * platform/audio/EqualPowerPanner.h: Added. + (WebCore::EqualPowerPanner::reset): + +2010-10-05 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add HighPass2FilterNode files + https://bugs.webkit.org/show_bug.cgi?id=46533 + + No new tests since audio API is not yet implemented. + + * webaudio/HighPass2FilterNode.cpp: Added. + (WebCore::HighPass2FilterNode::HighPass2FilterNode): + * webaudio/HighPass2FilterNode.h: Added. + (WebCore::HighPass2FilterNode::create): + (WebCore::HighPass2FilterNode::cutoff): + (WebCore::HighPass2FilterNode::resonance): + (WebCore::HighPass2FilterNode::biquadProcessor): + * webaudio/HighPass2FilterNode.idl: Added. + +2010-10-05 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add LowPass2FilterNode files + https://bugs.webkit.org/show_bug.cgi?id=46532 + + No new tests since audio API is not yet implemented. + + * webaudio/LowPass2FilterNode.cpp: Added. + (WebCore::LowPass2FilterNode::LowPass2FilterNode): + * webaudio/LowPass2FilterNode.h: Added. + (WebCore::LowPass2FilterNode::create): + (WebCore::LowPass2FilterNode::cutoff): + (WebCore::LowPass2FilterNode::resonance): + (WebCore::LowPass2FilterNode::biquadProcessor): + * webaudio/LowPass2FilterNode.idl: Added. + +2010-10-04 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Kent Tamura. + + Fixed compilation problem added in commit 69082. The interface of + the function has two parameters with the same name. + + * rendering/RenderBlock.h: + +2010-10-04 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioUtilities files + https://bugs.webkit.org/show_bug.cgi?id=47011 + + No new tests since audio API is not yet implemented. + + * platform/audio/AudioUtilities.cpp: Added. + (WebCore::AudioUtilities::decibelsToLinear): + (WebCore::AudioUtilities::linearToDecibels): + (WebCore::AudioUtilities::discreteTimeConstantForSampleRate): + * platform/audio/AudioUtilities.h: Added. + +2010-10-04 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47112 + + Convert addOverhangingFloats and addIntrudingFloats to be block-flow-aware. + + Also clean up how floats are placed to use a bit instead of the magic -1 value on top(). + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::removeFloatingObject): + (WebCore::RenderBlock::removeFloatingObjectsBelow): + (WebCore::RenderBlock::positionNewFloats): + (WebCore::RenderBlock::markLinesDirtyInBlockRange): + (WebCore::RenderBlock::clearFloats): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::addIntrudingFloats): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::FloatingObject::FloatingObject): + (WebCore::RenderBlock::FloatingObject::isPlaced): + (WebCore::RenderBlock::FloatingObject::setIsPlaced): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::determineStartPosition): + +2010-10-04 Nico Weber <thakis@chromium.org> + + Reviewed by Kenneth Russell. + + Fix broken C++ in PODInterval and PODIntervalTree + https://bugs.webkit.org/show_bug.cgi?id=47063 + + See http://clang.llvm.org/compatibility.html#dep_lookup . Since + valueToString needs to work with non-class types, it needs to be + declared before it's used. And since it needs to handle many types, it + needs to be a template function, for which clients will need to + provide specializations for the types they care about. Partial template + specialization is only supported for structs, so wrap the function in + a struct, too. + + * platform/graphics/gpu/PODInterval.h: + (WebCore::PODInterval::toString): + * platform/graphics/gpu/PODIntervalTree.h: + (WebCore::PODIntervalTree::checkInvariantsFromNode): + * platform/graphics/gpu/PODRedBlackTree.h: + (WebCore::PODRedBlackTree::dumpFromNode): + +2010-10-04 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Antonio Gomes. + + Spatial Navigation: Add support for <input type="radio"> + https://bugs.webkit.org/show_bug.cgi?id=46993 + + When using Spatial Navigation, every radio button should be focusable and + users should be able to navigate from one button to the next without moving the selection. + + Tests: fast/events/spatial-navigation/snav-radio-group.html + fast/events/spatial-navigation/snav-radio.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::isKeyboardFocusable): + Every radio button should be keyboard focusable, if using Spatial Navigation. + (WebCore::HTMLInputElement::defaultEventHandler): + Disable the algorithm for selecting the next radio button within a group, if using Spatial Navigation. + +2010-10-04 Renata Hodovan <reni@inf.u-szeged.hu> + + Reviewed by Andreas Kling. + + SVGFEGaussianBlurElement doesn't support dynamic invalidation, when attributes change. + https://bugs.webkit.org/show_bug.cgi?id=47074 + The patch also implements the simple setStdDeviation method. + + Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html + svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html + svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html + svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html + + * svg/SVGFEGaussianBlurElement.cpp: + (WebCore::SVGFEGaussianBlurElement::setStdDeviation): + (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged): + * svg/SVGFEGaussianBlurElement.h: + +2010-10-04 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Darin Adler. + + Add Base64DecodePolicy option at base64Decode() + https://bugs.webkit.org/show_bug.cgi?id=41510 + + Add an option for ignoring characters in base64 data. + This is necessary for decoding data urls. + + Also add an overload to decode WebCore::String directly. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::atob): + * page/Page.cpp: + (WebCore::Page::userStyleSheetLocationChanged): + * platform/text/Base64.cpp: + (WebCore::base64Encode): + (WebCore::base64Decode): + (WebCore::base64DecodeInternal): + * platform/text/Base64.h: + (WebCore::): + +2010-10-04 Ryuan Choi <bunhere@gmail.com> + + Unreviewed build fix. + + [WML] Build fix for r68854 + https://bugs.webkit.org/show_bug.cgi?id=47043 + + Include HTMLParserIdioms.h. + + No features added, so no new tests. + + * wml/WMLAElement.cpp: + * wml/WMLImageLoader.cpp: + +2010-10-04 Ryuan Choi <ryuan.choi@samsung.com> + + Unreviewed build fix. + + [CMAKE] Build fix for r68901 + https://bugs.webkit.org/show_bug.cgi?id=47042 + + Move plugins/PluginPackage.cpp + + No features added, so no new tests. + + * CMakeLists.txt: + +2010-10-04 Eric Uhrhane <ericu@chromium.org> + + Reviewed by David Levin. + + Hook FileEntry::createWriter to DOMFileSystem::createWriter + https://bugs.webkit.org/show_bug.cgi?id=46908 + + No new tests--still waiting for the first complete implementation. + + * fileapi/FileEntry.cpp: + (WebCore::FileEntry::createWriter): + +2010-10-04 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by Antonio Gomes. + + Spatial Navigation: select element does not release focus with Spatial Navigation + https://bugs.webkit.org/show_bug.cgi?id=46896 + + When using Spatial Navigation, once a select element is focused, you cannot use arrow keys + to navigate out of the select element. That is because select element currently uses the + arrow keys to change the selected element. + Change the behavior of select element so it does not change selection, if Spatial Navigation + is on. + + This patch is addressing the case where Spatial Navigation is used + in a mobile device, and the flag ENABLE_NO_LISTBOX_RENDERING is on. + In the future we can add support for the case where the flag is off, and + the user needs to traverse the select element inline. + + Tests: fast/events/spatial-navigation/snav-multiple-select.html + fast/events/spatial-navigation/snav-single-select.html + + * dom/SelectElement.cpp: + (WebCore::SelectElement::menuListDefaultEventHandler): + +2010-10-04 Sriram Neelakandan <sriram.neelakandan@gmail.com> + + Reviewed by Andreas Kling. + + [Qt] QNetworkReplyHandler forces buffered output for FormData with files + https://bugs.webkit.org/show_bug.cgi?id=46259 + + No new tests. Existing form submit tests should cover this change. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::FormDataIODevice::FormDataIODevice): + (WebCore::FormDataIODevice::computeSize): + Add computeSize() for computing form device size + (WebCore::QNetworkReplyHandler::start): + Call computeSize(), fill Content-Length and prevent UploadData buffering + * platform/network/qt/QNetworkReplyHandler.h: + (WebCore::FormDataIODevice::getFormDataSize): + +2010-10-04 Chang Shu <chang.shu@nokia.com> + + Reviewed by Antonio Gomes. + + Fixed the typo that searches the wrong direction in the no-focus-node case. + As a result, after page is loaded, pressing key "arrowdown" will bring the + focus to the 1st element instead of the last element. + https://bugs.webkit.org/show_bug.cgi?id=46901 + + Test: fast/events/spatial-navigation/snav-1st-stop.html + + * page/FocusController.cpp: + (WebCore::FocusController::advanceFocusDirectionally): + +2010-10-04 Simon Fraser <simon.fraser@apple.com> + + No review. + + Touch cf/SocketStreamHandle.h and add an #ifdef to qt/SocketStreamHandle.h + to fail at compile time if Mac includes that header. + + * platform/network/cf/SocketStreamHandle.h: + * platform/network/qt/SocketStreamHandle.h: + +2010-10-04 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=47136 + WebSocket tests are crashing + + The Mac xcode project was finding qt/SocketStreamHandle.h because of + an inadvertent change in r68951. Thus the header and implementation didn't match, + and memory corruption ensued. + + * WebCore.xcodeproj/project.pbxproj: + +2010-10-04 Chris Marrin <cmarrin@apple.com> + + Reviewed by James Robinson. + + Move SharedGraphicsContext3D from ChromeClient to Page + https://bugs.webkit.org/show_bug.cgi?id=47113 + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): + * page/ChromeClient.h: + * page/Page.cpp: + (WebCore::Page::sharedGraphicsContext3D): + * page/Page.h: + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::create): + * platform/graphics/gpu/SharedGraphicsContext3D.h: + +2010-10-04 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Nate Chapin. + + Implement IndexedDB's oncomplete and ontimeout. + https://bugs.webkit.org/show_bug.cgi?id=47106 + + Add ontimeout and oncomplete to IDBTransaction and plumb + them. Test this behavior in the existing IDBTransaction-basics + test. + + * WebCore.gypi: + * storage/IDBTransaction.cpp: + (WebCore::IDBTransaction::IDBTransaction): + (WebCore::IDBTransaction::mode): + (WebCore::IDBTransaction::objectStore): + (WebCore::IDBTransaction::abort): + (WebCore::IDBTransaction::onAbort): + (WebCore::IDBTransaction::onComplete): + (WebCore::IDBTransaction::onTimeout): + (WebCore::IDBTransaction::stop): + (WebCore::IDBTransaction::onAbortTimerFired): + (WebCore::IDBTransaction::onCompleteTimerFired): + (WebCore::IDBTransaction::onTimeoutTimerFired): + * storage/IDBTransaction.h: + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): + (WebCore::IDBTransactionBackendImpl::commit): + * storage/IDBTransactionCallbacks.h: + +2010-10-04 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + Crash at WebCore::nextCandidate + 27 + https://bugs.webkit.org/show_bug.cgi?id=47118 + <rdar://problem/7282934> + + When we canonicalize a Position to create a VisiblePosition, the position + is passed by reference. In canonicalPosition we call updateLayoutIgnorePendingStylesheets + that can produce a lot of side effects, including changing the selection. + This becomes a serious problem whne the position passed as reference is one of + the selection endpoints. + + Test: editing/selection/focus-crash.html + + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::canonicalPosition): + +2010-10-04 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=37812 + Assertion failure when appcache/fail-on-update.html is run twice in a row + + Test: http/tests/appcache/fail-on-update-2.html + + For some reason, I can't reproduce this assertion failure with ToT, but the fixes I made + previously are still good, and covered by the new test. + + * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): + Handle the case when the cache is already obsolete by the time cache selection occurs. + + * loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::failedLoadingMainResource): + It's not true that loading from appcache always succeeds - it can be aborted. + + * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store): + Calling ensureOriginRecord(group->origin()) can change lastInsertRowID! + +2010-10-04 Erik Arvidsson <arv@chromium.org> + + Reviewed by James Robinson. + + https://bugs.webkit.org/show_bug.cgi?id=47122 + Crash in classList when class attribute is empty. + + Tests: fast/dom/HTMLElement/class-list.html + + * html/DOMTokenList.cpp: + (WebCore::DOMTokenList::length): + (WebCore::DOMTokenList::containsInternal): + (WebCore::DOMTokenList::classNames): + +2010-10-04 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Use isHTMLSpace in more places, and optimize it + https://bugs.webkit.org/show_bug.cgi?id=47103 + + * css/CSSParser.cpp: + (WebCore::parseColorInt): Use isHTMLSpace instead of a separate isCSSWhitespace function. + (WebCore::parseAlphaValue): Ditto. + (WebCore::CSSParser::text): Ditto. + + * dom/SpaceSplitString.h: Removed isClassWhitespace. + + * dom/SpaceSplitString.cpp: + (WebCore::SpaceSplitStringData::createVector): Use isHTMLSpace instead of isClassWhitespace. + * dom/StyledElement.cpp: + (WebCore::StyledElement::classAttributeChanged): Ditto. + * html/DOMTokenList.cpp: + (WebCore::validateToken): Ditto. + (WebCore::DOMTokenList::removeInternal): Ditto. + + * html/parser/HTMLParserIdioms.h: Added histogram data an changed so that non-spaces take + only a single branch and plain old spaces take only two branches. + +2010-10-04 Justin Schuh <jschuh@chromium.org> + + Reviewed by James Robinson. + + HTMLMediaElement delayed load should fire asynchronously + https://bugs.webkit.org/show_bug.cgi?id=45765 + + Test: media/remove-from-document-before-load.html + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::decrementLoadEventDelayCount): + (WebCore::Document::loadEventDelayTimerFired): + * dom/Document.h: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::asyncEventTimerFired): + (WebCore::HTMLMediaElement::setShouldDelayLoadEvent): + * html/HTMLMediaElement.h: + +2010-10-04 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + ResourceHandle's public/protected/private sections are fragmented + https://bugs.webkit.org/show_bug.cgi?id=47038 + + Minor cleanup. + + * platform/network/ResourceHandle.h: + +2010-10-04 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=43506 + <rdar://problem/8289284> foreign-iframe-main.html occasionally crashes (during the next test, + idempotent-update.html) + + Application cache doesn't use ResourceLoader machinery (for better or worse), so we need to + abort update process explicitly. + + Note that in principle, update could piggyback on any other existing frame - or even run + frameless - but currently, it's tied to the first frame that requested update. + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::stopLoading): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::stopLoadingInFrame): + * loader/appcache/ApplicationCacheGroup.h: + * loader/appcache/ApplicationCacheHost.cpp: + (WebCore::ApplicationCacheHost::~ApplicationCacheHost): + (WebCore::ApplicationCacheHost::stopLoadingInFrame): + * loader/appcache/ApplicationCacheHost.h: + +2010-10-04 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Rename RedirectScheduler to NavigationScheduler + https://bugs.webkit.org/show_bug.cgi?id=47037 + + This class schedules more than just redirects. In fact, it schedules + most kinds of navigations. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/generic/BindingDOMWindow.h: + (WebCore::::createWindow): + (WebCore::::open): + * bindings/generic/BindingFrame.h: + (WebCore::::navigateIfAllowed): + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::setLocation): + (WebCore::createWindow): + (WebCore::JSDOMWindow::open): + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::setLocation): + * bindings/js/JSLocationCustom.cpp: + (WebCore::JSLocation::reload): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::V8Location::reloadCallback): + * dom/Document.cpp: + (WebCore::Document::implicitClose): + (WebCore::Document::processHttpEquiv): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::setResourceTrackingEnabled): + (WebCore::InspectorController::reloadPage): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::setDefersLoading): + (WebCore::FrameLoader::submitForm): + (WebCore::FrameLoader::stopLoading): + (WebCore::FrameLoader::didOpenURL): + (WebCore::FrameLoader::didExplicitOpen): + (WebCore::FrameLoader::cancelAndClear): + (WebCore::FrameLoader::clear): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::checkCompleted): + (WebCore::FrameLoader::provisionalLoadStarted): + (WebCore::FrameLoader::completed): + (WebCore::FrameLoader::prepareForCachedPageRestore): + * loader/FrameLoader.h: + * loader/NavigationScheduler.cpp: Added. + (WebCore::ScheduledNavigation::ScheduledNavigation): + (WebCore::ScheduledNavigation::~ScheduledNavigation): + (WebCore::ScheduledNavigation::shouldStartTimer): + (WebCore::ScheduledNavigation::didStartTimer): + (WebCore::ScheduledNavigation::didStopTimer): + (WebCore::ScheduledNavigation::delay): + (WebCore::ScheduledNavigation::lockHistory): + (WebCore::ScheduledNavigation::lockBackForwardList): + (WebCore::ScheduledNavigation::wasDuringLoad): + (WebCore::ScheduledNavigation::isLocationChange): + (WebCore::ScheduledNavigation::wasUserGesture): + (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): + (WebCore::ScheduledURLNavigation::fire): + (WebCore::ScheduledURLNavigation::didStartTimer): + (WebCore::ScheduledURLNavigation::didStopTimer): + (WebCore::ScheduledURLNavigation::url): + (WebCore::ScheduledURLNavigation::referrer): + (WebCore::ScheduledRedirect::ScheduledRedirect): + (WebCore::ScheduledRedirect::shouldStartTimer): + (WebCore::ScheduledLocationChange::ScheduledLocationChange): + (WebCore::ScheduledRefresh::ScheduledRefresh): + (WebCore::ScheduledRefresh::fire): + (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation): + (WebCore::ScheduledHistoryNavigation::fire): + (WebCore::ScheduledFormSubmission::ScheduledFormSubmission): + (WebCore::ScheduledFormSubmission::fire): + (WebCore::ScheduledFormSubmission::didStartTimer): + (WebCore::ScheduledFormSubmission::didStopTimer): + (WebCore::NavigationScheduler::NavigationScheduler): + (WebCore::NavigationScheduler::~NavigationScheduler): + (WebCore::NavigationScheduler::redirectScheduledDuringLoad): + (WebCore::NavigationScheduler::locationChangePending): + (WebCore::NavigationScheduler::clear): + (WebCore::NavigationScheduler::scheduleRedirect): + (WebCore::NavigationScheduler::mustLockBackForwardList): + (WebCore::NavigationScheduler::scheduleLocationChange): + (WebCore::NavigationScheduler::scheduleFormSubmission): + (WebCore::NavigationScheduler::scheduleRefresh): + (WebCore::NavigationScheduler::scheduleHistoryNavigation): + (WebCore::NavigationScheduler::timerFired): + (WebCore::NavigationScheduler::schedule): + (WebCore::NavigationScheduler::startTimer): + (WebCore::NavigationScheduler::cancel): + * loader/NavigationScheduler.h: Added. + * loader/RedirectScheduler.cpp: Removed. + * loader/RedirectScheduler.h: Removed. + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadOrRedirectSubframe): + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::selectCache): + * page/Frame.cpp: + (WebCore::Frame::Frame): + * page/Frame.h: + (WebCore::Frame::navigationScheduler): + * page/History.cpp: + (WebCore::History::back): + (WebCore::History::forward): + (WebCore::History::go): + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::findInRequest): + +2010-10-04 Adam Barth <abarth@webkit.org> + + Reviewed by Sam Weinig. + + Remove ENABLE_SANDBOX + https://bugs.webkit.org/show_bug.cgi?id=47032 + + I'm not sure there's a reason for this to be behind a compile flag + anymore. + + * Configurations/FeatureDefines.xcconfig: + * GNUmakefile.am: + * features.pri: + * html/HTMLIFrameElement.cpp: + (WebCore::parseSandboxAttribute): + (WebCore::HTMLIFrameElement::parseMappedAttribute): + +2010-10-04 Huahui Wu <mediadependent@gmail.com> + + Reviewed by Darin Adler. + + Fix a compiler error for ANDROID introduced by bug 45221. + https://bugs.webkit.org/show_bug.cgi?id=47095 + + It's a small fix for a compiler error, so there is no new test. + + * platform/android/PlatformTouchEventAndroid.cpp: + (WebCore::PlatformTouchEvent::PlatformTouchEvent): + +2010-10-04 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Beth Dakin. + + AX: doAXRangeForLine does not work + https://bugs.webkit.org/show_bug.cgi?id=47101 + + Asking for NSAccessibilityRangeForLine was returning a null range for any line number > 0. + The code was using a SelectionController to extend to the next line. Rather than change the implementation + of that core functionality, it is cleaner to use endOfLine to find the end of the line. + + Test: platform/mac/accessibility/range-for-line-textarea.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::doAXRangeForLine): + +2010-10-04 Brent Fulgham <bfulgham@webkit.org> + + Unreviewed, build fix for r68951. + + Add stub implementation for ProxyServer logic. + + * WebCore.vcproj/WebCore.vcproj: Add new WinCairo file. + * WebCore/platform/network/curl/ProxyServerCurl.cpp: Added + +2010-10-04 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=47035 + Application cache selection algorithm should only be invoked after navigation + + Tests: http/tests/appcache/document-write-html-element-2.html + http/tests/appcache/document-write-html-element.html + http/tests/appcache/insert-html-element-with-manifest-2.html + http/tests/appcache/insert-html-element-with-manifest.html + + * dom/DocumentParser.cpp: (WebCore::DocumentParser::DocumentParser): + * dom/DocumentParser.h: + (WebCore::DocumentParser::setDocumentWasLoadedAsPartOfNavigation): + (WebCore::DocumentParser::documentWasLoadedAsPartOfNavigation): + Track whether the document being parsed is being loaded as part of navigation. + + * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::insertedByParser): Only run the + cache selection algorithm if the document is being loaded as part of navigation. We don't + want to switch associated appcache is someone document.writes <html manifest=...>. + + * html/HTMLHtmlElement.h: We need to differentiate between parsing and DOM manipulation, so + this code can't be in HTMLHtmlElement::insertedIntoDocument(). + + * dom/XMLDocumentParserLibxml2.cpp: (WebCore::XMLDocumentParser::startElementNs): + * dom/XMLDocumentParserQt.cpp: (WebCore::XMLDocumentParser::parseStartElement): + * html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure): + * html/MediaDocument.cpp: (WebCore::MediaDocumentParser::createDocumentStructure): + * html/PluginDocument.cpp: (WebCore::PluginDocumentParser::createDocumentStructure): + * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML): + Check for manifest attribute in cases specified by HTML5. + + * html/parser/HTMLConstructionSite.h: Removed unused insertHTMLHtmlElement(). + + * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation): + * loader/DocumentWriter.h: + Forward this call to DocumentParser, since DocumentWriter is supposed to encapsulate it. + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::receivedFirstData): Receiving data from + loader means being loaded as part of navigation. This notion is used in HTML5 without a rigorous + definition that I could find - this seems to be a meaningful formalization. + +2010-10-04 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47100 + + Convert clearFloats() to be block-flow-aware. Helpers that it calls have not been patched though. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::clearFloats): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::logicalTopForFloat): + (WebCore::RenderBlock::logicalLeftForFloat): + (WebCore::RenderBlock::logicalWidthForFloat): + +2010-10-04 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Hook up DeviceOrientation data for Qt support + https://bugs.webkit.org/show_bug.cgi?id=47052 + + Get DeviceOrientation necessary data via Qt mobility library + using a provider class. + + * WebCore.pro: + +2010-10-01 Victoria Kirst <vrk@google.com> + + Reviewed by James Robinson. + + Fixing crash when audio media player is destructed + https://bugs.webkit.org/show_bug.cgi?id=47020 + + Adds assert for LayerRenderer in destructor. + + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::~VideoLayerChromium): + +2010-10-04 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: do not show breakpoint in front-end if it was not set in v8 + https://bugs.webkit.org/show_bug.cgi?id=46749 + + * bindings/v8/DebuggerScript.js: + (): + +2010-10-04 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [cairo] Context shadow modifies the data of the surface without + flushing and marking as dirty + https://bugs.webkit.org/show_bug.cgi?id=47079 + + Added the cairo_surface_flush and cairo_surface_mark_dirty before + and after modifying the image pixels directly. + + * platform/graphics/cairo/ContextShadowCairo.cpp: + (WebCore::ContextShadow::endShadowLayer): + +2010-10-04 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Xan Lopez. + + Crashed caused by missing OwnPtrCairo include, for more + information check the issue in the bug 46268. + + * platform/graphics/cairo/CairoUtilities.cpp: + +2010-10-04 Alejandro G. Castro <alex@igalia.com> + + Reviewed by Martin Robinson. + + [cairo] Move some cairo functions to the CairoUtilities + https://bugs.webkit.org/show_bug.cgi?id=47076 + + Moved some cairo functions to the CairoUtilities so we can use + them outside GraphicsContextCairo. + + * platform/graphics/cairo/CairoUtilities.cpp: + (WebCore::appendPathToCairoContext): + (WebCore::setPathOnCairoContext): + (WebCore::appendWebCorePathToCairoContext): + (WebCore::toCairoOperator): + (WebCore::drawPatternToCairoContext): + * platform/graphics/cairo/CairoUtilities.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::Image::drawPattern): + +2010-10-04 podivilov@chromium.org <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: implement pausing on event listeners (back-end part) + https://bugs.webkit.org/show_bug.cgi?id=46624 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setPauseOnNextStatement): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setPauseOnNextStatement): + * bindings/v8/ScriptDebugServer.h: + * dom/Node.cpp: + (WebCore::Node::dispatchGenericEvent): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::setNativeBreakpoint): + (WebCore::InspectorController::removeNativeBreakpoint): + (WebCore::InspectorController::shouldBreakOnEvent): + (WebCore::InspectorController::shouldBreakOnXMLHttpRequest): + * inspector/InspectorController.h: + * inspector/InspectorDebuggerAgent.cpp: + (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent): + (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement): + (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement): + (WebCore::InspectorDebuggerAgent::pause): + (WebCore::InspectorDebuggerAgent::didContinue): + (WebCore::InspectorDebuggerAgent::breakProgram): + * inspector/InspectorDebuggerAgent.h: + * inspector/InspectorInstrumentation.cpp: + (WebCore::eventHasListeners): + (WebCore::InspectorInstrumentation::instrumentWillDispatchEventImpl): + (WebCore::InspectorInstrumentation::instrumentDidDispatchEventImpl): + (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl): + * inspector/InspectorInstrumentation.h: + (WebCore::InspectorInstrumentation::instrumentWillDispatchEvent): + (WebCore::InspectorInstrumentation::instrumentDidDispatchEvent): + (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest): + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): + * inspector/InspectorTimelineAgent.h: + (WebCore::InspectorTimelineAgent::id): + * inspector/front-end/CallStackSidebarPane.js: + +2010-10-04 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: add total bar to the network panel. + https://bugs.webkit.org/show_bug.cgi?id=47081 + + * English.lproj/localizedStrings.js: + * inspector/front-end/ConsoleView.js: + (WebInspector.ConsoleView.createDividerElement): + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid.prototype.removeChild): + (WebInspector.DataGrid.prototype.sortNodes): + (WebInspector.DataGrid.prototype._clickInHeaderCell): + (WebInspector.DataGrid.prototype.markColumnAsSortedBy): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel): + (WebInspector.NetworkPanel.prototype.resize): + (WebInspector.NetworkPanel.prototype._positionSummaryBar): + (WebInspector.NetworkPanel.prototype._createTimelineGrid): + (WebInspector.NetworkPanel.prototype._createSortingFunctions): + (WebInspector.NetworkPanel.prototype._sortItems): + (WebInspector.NetworkPanel.prototype._sortByTimeline): + (WebInspector.NetworkPanel.prototype._createFilterStatusBarItems): + (WebInspector.NetworkPanel.prototype._createSummaryBar): + (WebInspector.NetworkPanel.prototype._updateSummaryBar): + (WebInspector.NetworkPanel.prototype._updateFilter): + (WebInspector.NetworkPanel.prototype.show): + (WebInspector.NetworkPanel.prototype.refresh): + (WebInspector.NetworkPanel.prototype.reset): + (WebInspector.NetworkDataGridNode.SizeComparator): + (WebInspector.NetworkDataGridNode.ResourcePropertyComparator): + (WebInspector.NetworkTotalGridNode): + (WebInspector.NetworkTotalGridNode.prototype.createCells): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.createFilterPanel): + * inspector/front-end/inspector.css: + (.scope-bar-divider): + * inspector/front-end/networkPanel.css: + (.network-timeline-grid): + (.network-summary-bar): + (.network-summary-bar-bottom): + (.data-grid td .network-summary-bar): + +2010-09-28 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + Viewport data change notifications + https://bugs.webkit.org/show_bug.cgi?id=46755 + + Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has + changed and its current value. Viewport data belongs to the document, but it is useful to keep the current + viewport data in Page as a reference, to be able to send notifications only when the current viewport + has changed. + + * dom/Document.cpp: + (WebCore::Document::processViewport): + (WebCore::Document::setInPageCache): + * dom/ViewportArguments.h: + (WebCore::ViewportArguments::operator==): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::HTMLBodyElement): + * page/Chrome.cpp: + (WebCore::Chrome::viewportDataChanged): + * page/Chrome.h: + * page/ChromeClient.h: + (WebCore::ChromeClient::viewportDataChanged): + * page/Page.cpp: + (WebCore::Page::updateViewportArguments): + * page/Page.h: + (WebCore::Page::viewportArguments): + +2010-10-03 Kent Tamura <tkent@chromium.org> + + Unreviewed, build fix for r68996. + + * html/BaseDateAndTimeInputType.cpp: Includes <wtf/MathExtras.h> for isfinite(). + * html/MonthInputType.cpp: ditto. + * html/NumberInputType.cpp: ditto. + * html/RangeInputType.cpp: ditto. + +2010-10-03 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Refactor HTMLInputElement: Move parseToDouble() and + parseToDateComponents() to InputType. + https://bugs.webkit.org/show_bug.cgi?id=46965 + + Introduce BaseDateAndTimeInputType, which is a super class of + date, datetime, datetime-local, month, time, and week types. + + No new tests. Just a refactoring. + + * Android.mk: Add BaseDateAndTimeInputType. + * CMakeLists.txt: ditto. + * GNUmakefile.am: ditto. + * WebCore.gypi: ditto. + * WebCore.pro: ditto. + * WebCore.vcproj/WebCore.vcproj: ditto. + * WebCore.xcodeproj/project.pbxproj: ditto. + * html/BaseDateAndTimeInputType.cpp: Added. + (WebCore::BaseDateAndTimeInputType::parseToDouble): + (WebCore::BaseDateAndTimeInputType::parseToDateComponents): + * html/BaseDateAndTimeInputType.h: Added. + (WebCore::BaseDateAndTimeInputType::BaseDateAndTimeInputType): + * html/DateInputType.cpp: + (WebCore::DateInputType::parseToDateComponentsInternal): + * html/DateInputType.h: + (WebCore::DateInputType::DateInputType): + * html/DateTimeInputType.cpp: + (WebCore::DateTimeInputType::parseToDateComponentsInternal): + * html/DateTimeInputType.h: + (WebCore::DateTimeInputType::DateTimeInputType): + * html/DateTimeLocalInputType.cpp: + (WebCore::DateTimeLocalInputType::parseToDateComponentsInternal): + * html/DateTimeLocalInputType.h: + (WebCore::DateTimeLocalInputType::DateTimeLocalInputType): + * html/HTMLInputElement.cpp: Replace parseToD* calls with m_inputType->parseToD*. + (WebCore::HTMLInputElement::typeMismatch): + (WebCore::HTMLInputElement::rangeUnderflow): + (WebCore::HTMLInputElement::rangeOverflow): + (WebCore::HTMLInputElement::minimum): + (WebCore::HTMLInputElement::maximum): + (WebCore::HTMLInputElement::stepBase): + (WebCore::HTMLInputElement::stepMismatch): + (WebCore::HTMLInputElement::applyStep): + (WebCore::HTMLInputElement::valueAsDate): + (WebCore::HTMLInputElement::valueAsNumber): + (WebCore::HTMLInputElement::handleKeyEventForRange): + (WebCore::HTMLInputElement::stepUpFromRenderer): + * html/HTMLInputElement.h: + * html/InputType.cpp: + (WebCore::InputType::parseToDouble): + (WebCore::InputType::parseToDateComponents): + * html/InputType.h: + * html/MonthInputType.cpp: + (WebCore::MonthInputType::parseToDouble): + (WebCore::MonthInputType::parseToDateComponentsInternal): + * html/MonthInputType.h: + (WebCore::MonthInputType::MonthInputType): + * html/NumberInputType.cpp: + (WebCore::NumberInputType::parseToDouble): + * html/NumberInputType.h: + * html/RangeInputType.cpp: + (WebCore::RangeInputType::parseToDouble): + * html/RangeInputType.h: + * html/TimeInputType.cpp: + (WebCore::TimeInputType::parseToDateComponentsInternal): + * html/TimeInputType.h: + (WebCore::TimeInputType::TimeInputType): + * html/WeekInputType.cpp: + (WebCore::WeekInputType::parseToDateComponentsInternal): + * html/WeekInputType.h: + (WebCore::WeekInputType::WeekInputType): + +2010-10-03 Adam Barth <abarth@webkit.org> + + Reviewed by Holger Freyther. + + ASSERT(m_state = Open); is bad news bears + https://bugs.webkit.org/show_bug.cgi?id=47057 + + Added by ap (review by darin) in http://trac.webkit.org/changeset/50951 + Too bad the compiler doesn't catch these errors. I don't believe this + is possible to test. + + * platform/network/cf/SocketStreamHandleCFNet.cpp: + (WebCore::SocketStreamHandle::writeStreamCallback): + +2010-10-03 Adam Barth <abarth@webkit.org> + + Reviewed by Holger Freyther. + + All the WebSocket tests crash + https://bugs.webkit.org/show_bug.cgi?id=47056 + + More code that tries to hold onto temporaries with references. + + * websockets/WebSocketChannel.cpp: + (WebCore::WebSocketChannel::didOpen): + +2010-10-03 Adam Barth <abarth@webkit.org> + + Reviewed by Holger Freyther. + + All the WebSocket tests crash + https://bugs.webkit.org/show_bug.cgi?id=47055 + + This code attempts to hold onto temporary objects using references. + That doesn't work in C++. Instead, we need to actually store the + objects somewhere. + + * bindings/js/JSWebSocketCustom.cpp: + (WebCore::JSWebSocketConstructor::constructJSWebSocket): + +2010-10-02 Diego Gonzalez <diegohcg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Provide Qt support for DeviceMotion/Orientation clients + https://bugs.webkit.org/show_bug.cgi?id=47051 + + Add Qt DeviceMotion/Orientation dummy clients in build system. + + * WebCore.pro: + +2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Rewrite SVG text layout code + https://bugs.webkit.org/show_bug.cgi?id=45532 + + Modernize SVG text layout engine, split the layout process into three phases, so that each results can be cached (which will be done in a follow-up patch). + + Phase #1) - SVGTextLayoutAttributesBuilder + ------------------------------------------ + + Parse x/y/dx/dy/rotate values of the <text> subtree (<text x="30 40">A<tspan>B<tspan x="50">C</tspan></tspan></text>) + This is done by SVGTextLayoutAttributesBuilder. It builds a SVGTextLayoutAttributes object for each RenderSVGInlineText renderer, and stores it there. + Phase #1 is started from RenderSVGText::layout(), before RenderBlockLineLayout is laying out the inline children, and thus before the InlineBox tree is created. + + Now we know which character has an associated absolute x or y position, denoting the start of a new text chunk. Whenever we encounter a new text chunk + RenderBlockLineLayout should create a new SVGInlineTextBox. This is very important, as BiDi reordering shouldn't happen across text chunks, as well as ligature detection. + + The text chunk concept is now merged right into the InlineBox tree, so we don't need to hack around the lack of that, as done for the previous years. + + Phase #2) - SVGTextLayoutEngine + ------------------------------------------ + + RenderSVGText::layout() calls RenderBlock::layoutInlineChildren() right after phase #1 ends. The InlineBox tree is created. During that process findNextLineBreak() + decides how to split up the text into InlineTextBoxes. It has already been patched, to ask RenderSVGInlineText::characterStartsNewTextChunk(int position), whether the + current character should go in a new SVGInlineTextBox or not. This requires that phase #1 already stored these information in the RenderSVGInlineText objects. + + For each <text> object a SVGRootInlineBox is created (in constructLine()) and all child boxes are added. After that SVGRootInlineBox::computePerCharacterLayoutInformation() + is called (unlike HTML text, which splits the vertical & horizontal layout in two phases, it's just one single phase for SVG). This function invokes SVGTextLayoutEngine + and starts phase #2 of the layout process. + + SVGTextLayoutEngine lays out the content of each SVGInlineTextBox either on a line or a path. It contains all the logic handling, alignment-baseline, dominant-baseline, + letter-spacing, word-spacing, kerning, glyph-orientation-(horizontal|vertical), rotation, etc. etc. + + As result it generates a set of SVGTextFragment objects which are stored in each SVGInlineTextBox. Each SVGTextFragment is a portion of text that can be rendered/measured + at once. Some examples to illustrate what's going on: + + <text x="20">ABCD</text>: + - SVGInlineTextBox + - SVGTextFragment, start 0 length 4, "ABCD" (x=20) + + <text x="20 100">ABCD</text>: + - SVGInlineTextBox + - SVGTextFragment, start 0 length 1, "A" (x=20) + - SVGInlineTextBox + - SVGTextFragment, start 0 length 1, "B" (x=100) + - SVGTextFragment, start 1 length 2, "CD" (x=100 + advance_of_last) + + <text><textPath xlink:href="#somePath">ABCD</textPath></text>: + - SVGInlineTextBox + - SVGTextFragment, start 0 length 1, "A" (rotated!) + - SVGTextFragment, start 1 length 1, "B" (rotated!) + - SVGTextFragment, start 2 length 1, "C" (rotated!) + - SVGTextFragment, start 3 length 1, "D" (rotated!) + + <text x="0 50 100">A<tspan>B</tspan>C</text> + - SVGInlineTextBox + - SVGTextFragment, start 0 length 1, "A" (x=0) + - SVGInlineFlowBox + - SVGInlineTextBox + - SVGTextFragment, start 0 length 1, "B" (x=50) + - SVGInlineTextBox + - SVGTextFragment, start 0 length 1, "C" (x=100) + + When painting text SVGInlineTextBox just walks its fragments and paints them. Text selection works the same. + All text measurements (width/height etc.) have already been done in phase #2 and aren't required anymore while painting/selecting. + This is one of the main benefits of the new text layout engine, painting & selection is cheap now, compared to the layout process. + + We're now doing phase #1 everytime RenderSVGText::layout() is called. This is not necessary, we only have to recompute these information + if the x/y/dx/dy or rotate list of an element in the <text> subtree changes or the text content itself -> this will be done in a follow-up patch. + It's likely that we'll also find ways to skip phase #2 in certain situations. + + Phase #3) - SVGTextChunkBuilder + ------------------------------------------ + + After phase #2 finished, we can post-process the text fragments. Certain operations have to be applied on a "per chunk" basis. + text-anchor should be applied to individual text chunks, as well as textLength corrections (lengthAdjust="spacing" / lengthAdjust="spacingAndGlyphs"). + + SVGTextChunkBuilder just walks the SVGInlineTextBox, and collects all boxes belonging to a certain chunk. For each of the chunks all fragments + are post-processed. For instance for text-anchor="middle", all x positions of all fragments are shifted by -fragmentWidth/2 (for horizonal text). + + After phase #1 - #3 finished, SVGRootInlineBox::computePerCharacterLayoutInformation() utilizies the stored SVGTextFragments to lay out all child + boxes in the InlineBox tree (setWidth/Height, etc.), the size and position of the SVGRootInlineBox and it's parent RenderSVGText object. + + This should give interessted readers a good summary of how the new text layout engine works. + See LayoutTests/ChangeLog for more details on test progression. + + Tests: svg/custom/text-rotation.svg + svg/custom/text-x-dy-lists.svg + + * Android.mk: Add SVGTextLayoutEngine.* / SVGTextChunkBuilder.* to build. Remove SVGCharacterData.* / SVGTextChunkLayoutInfo.* / SVGTextLayoutUtilities.* from build. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * rendering/InlineBox.h: + (WebCore::InlineBox::isSVGInlineFlowBox): Add helper function to identify SVGInlineFlowBoxes. The variants for SVGInlineTextBox etc. already exist. + * rendering/InlineTextBox.h: Devirtualize selectionStartEnd, SVG is no longer overriding it. + * rendering/RenderSVGAllInOne.cpp: removes + * rendering/RenderText.cpp: + (WebCore::RenderText::setTextInternal): Remove SVG specific hacks, moved to RenderSVGInlineText. + * rendering/SVGCharacterData.cpp: Removed. + * rendering/SVGCharacterData.h: Removed. + * rendering/SVGCharacterLayoutInfo.cpp: Removed. + * rendering/SVGCharacterLayoutInfo.h: Removed. + * rendering/SVGRenderTreeAsText.cpp: Hack DRT output to be somewhat compatible with the current output, the plan is to change it completly after this patch. + (WebCore::writeRenderSVGTextBox): + (WebCore::writeSVGInlineTextBox): + * rendering/SVGTextChunkLayoutInfo.cpp: Removed. + * rendering/SVGTextChunkLayoutInfo.h: Removed. + * rendering/SVGTextLayoutUtilities.cpp: Removed. + * rendering/SVGTextLayoutUtilities.h: Removed. + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): Only return immediately if SVGRenderStyle::diff produced StyleDifferenceLayout, it it's sth. else be sure to ask RenderStyle itself what to do. + * rendering/style/SVGRenderStyle.h: + (WebCore::SVGRenderStyle::isVerticalWritingMode): New helper method, moved from SVGTextLayoutUtilities. + * rendering/svg/RenderSVGInlineText.cpp: + (WebCore::applySVGWhitespaceRules): Moved from RenderText into a SVG specific place. + (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use applySVGWhitespaceRules on the incoming text. + (WebCore::RenderSVGInlineText::styleDidChange): Only apply SVG white space rules, when using xml:space="preserve", otherwhise the constructor already handled it. + (WebCore::RenderSVGInlineText::characterStartsNewTextChunk): Create text chunks for absolute y values as well, SVG 1.1 2nd Edition demands that. + (WebCore::RenderSVGInlineText::positionForPoint): New function operating on all SVGInlineTextBoxes and their SVGTextFragments. + * rendering/svg/RenderSVGInlineText.h: + (WebCore::RenderSVGInlineText::layoutAttributes): Stores the layout attributes generated by SVGTextLayoutAttributesBuilder. + (WebCore::toRenderSVGInlineText): New helper methods for casting. + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): Add comment, that SVGTextLayoutAttributesBuilder is just phase one of the layout process. + (WebCore::RenderSVGText::positionForPoint): Simplified implementation for SVGs needs. + * rendering/svg/RenderSVGText.h: + * rendering/svg/SVGInlineFlowBox.cpp: + (WebCore::SVGInlineFlowBox::paintSelectionBackground): Seperated selection background drawing from actual text rendering, to make sure selection is always in background for SVG. + (WebCore::SVGInlineFlowBox::paint): Call computetextMatchMarkerRectForRenderer, before painting. + (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): New method. + * rendering/svg/SVGInlineFlowBox.h: + (WebCore::SVGInlineFlowBox::isSVGInlineFlowBox): + * rendering/svg/SVGInlineTextBox.cpp: Completly rewritten, operates on SVGTextFragments, produced by the SVGTextLayoutEngine. Whole new concept, compared to the old hack. + * rendering/svg/SVGInlineTextBox.h: + (WebCore::SVGInlineTextBox::clearTextFragments): Only used by SVGTextLayoutEngine, to clean up previously computed fragments. + (WebCore::SVGInlineTextBox::textFragments): Offers access to the fragments in the box. + (WebCore::SVGInlineTextBox::startsNewTextChunk): Does this box start a new text chunk? + (WebCore::SVGInlineTextBox::setStartsNewTextChunk): SVGTextLayoutEngine marks this box, if it starts a new text chunk. + * rendering/svg/SVGRootInlineBox.cpp: Remove old code regarding text chunk parts. + (WebCore::SVGRootInlineBox::paint): Selection is now painted before text, to assure it's really in the background. + (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use new SVGTextLayoutEngine. + (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): Feed SVGTextLayoutEngine with SVGInlineTextBoxes, detect the begin/end of path layouts. + (WebCore::SVGRootInlineBox::layoutChildBoxes): Use new isSVGInlineTextBox() helper method. + (WebCore::SVGRootInlineBox::closestLeafChildForPosition): Simplified version for SVG. + * rendering/svg/SVGRootInlineBox.h: Remove access to text chunks, they're now longer stored in the SVGRootInlineBox. + * rendering/svg/SVGTextChunk.cpp: s/SVGTextChunkNew/SVGTextChunk/ + * rendering/svg/SVGTextChunk.h: + * rendering/svg/SVGTextChunkBuilder.cpp: Added. + * rendering/svg/SVGTextChunkBuilder.h: Added. + * rendering/svg/SVGTextLayoutAttributes.cpp: Constify dump() method. + * rendering/svg/SVGTextLayoutAttributes.h: + (WebCore::SVGTextLayoutAttributes::textMetricsValues): + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewritten, consume less memory, while building the layout attributes. + * rendering/svg/SVGTextLayoutAttributesBuilder.h: + * rendering/svg/SVGTextLayoutEngine.cpp: Added. + * rendering/svg/SVGTextLayoutEngine.h: Added. + * rendering/svg/SVGTextQuery.cpp: Rewritten to deal with the new SVGTextFragment/SVGTextLayoutAttributes logic. + * rendering/svg/SVGTextQuery.h: + +2010-10-02 Alpha Lam <hclam@chromium.org> + + Build fix. Not reviewed. + + An adhoc fix for a crash found by reliability bot. This will make the + reliability bot happy. A proper fix is pending commit. + + * platform/graphics/chromium/VideoLayerChromium.cpp: + (WebCore::VideoLayerChromium::~VideoLayerChromium): + +2010-10-01 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + FormatBlockCommand and IndentOutdentCommand should use the same code to iterate paragraphs + https://bugs.webkit.org/show_bug.cgi?id=46840 + + Added ApplyBlockElementCommand, which is an abstract class inherited by FormatBlockCommand + and IndentOutdentCommand. It is intended to be inherited by InsertListCommand as well. + + ApplyBlockElementCommand's doApply verifies the current selection and exits early + if it's invalid or orphaned or if the current selection is outside editable region. + It then calls formatSelection to apply the block element after which doApply restores the selection. + formatSelection iterates through paragraphs and calls formatParagraph, a pure virtual function + implemented by FormatBlockCommand and IndentOutdentCommand, on each paragraph. + + No new tests are added since this is a refactoring. + + * Android.mk: Added ApplyBlockElementCommand.cpp. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Added ApplyBlockElementCommand.cpp and ApplyBlockElementCommand.h. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * editing/ApplyBlockElementCommand.cpp: Added. + (WebCore::countParagraphs): Moved from IndentOutdentCommand.cpp + (WebCore::ApplyBlockElementCommand::ApplyBlockElementCommand): Added. + (WebCore::ApplyBlockElementCommand::doApply): Moved from IndentOutdentCommand::doApply. + (WebCore::ApplyBlockElementCommand::formatSelection): Moved from IndentOutdentCommand::indentRegion. + (WebCore::ApplyBlockElementCommand::createBlockElement): Added. + (WebCore::ApplyBlockElementCommand::splitTextNodes): Moved from IndentOutdentCommand::splitTextNodes. + * editing/ApplyBlockElementCommand.h: Added. + * editing/EditingAllInOne.cpp: + * editing/EditorCommand.cpp: + (WebCore::executeFormatBlock): + * editing/FormatBlockCommand.cpp: Removed doApply. + (WebCore::FormatBlockCommand::FormatBlockCommand): Calls ApplyBlockElementCommand's constructor. + (WebCore::FormatBlockCommand::formatParagraph): Renamed from doApplyForSingleParagraph. + * editing/FormatBlockCommand.h: FormatBlockCommand inherits from ApplyBlockElementCommand. + (WebCore::FormatBlockCommand::create): Uses QualifiedName for the tag name instead of AtomicString. + * editing/IndentOutdentCommand.cpp: Removed doApply, indentIntoBlockquote, and splitTextNodes. + (WebCore::IndentOutdentCommand::IndentOutdentCommand): Calls ApplyBlockElementCommand's constructor. + (WebCore::IndentOutdentCommand::indentIntoBlockquote): The code to nullify targetBlockquote + when the next paragraph is in a different table cell is moved to ApplyBlockElementCommand::formatSelection. + (WebCore::IndentOutdentCommand::formatSelection): Added. Calls outdentRegion when outdenting. + (WebCore::IndentOutdentCommand::formatParagraph): Added. Calls tryIndentingAsListItem and indentIntoBlockquote. + * editing/IndentOutdentCommand.h: IndentOutdentCommand inherits from ApplyBlockElementCommand. + +2010-10-01 Mark Rowe <mrowe@apple.com> + + Build fix. + + Clear the executable bit from a number of source files. + + * page/Frame.cpp: + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + * platform/graphics/win/WKCACFLayerRenderer.cpp: + * platform/graphics/win/WKCACFLayerRenderer.h: + * platform/network/ResourceRawHeaders.h: + * rendering/RenderLayerCompositor.cpp: + * rendering/RenderLayerCompositor.h: + +2010-10-01 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Adam Barth. + + [GTK] r68923 broke some plugin tests + https://bugs.webkit.org/show_bug.cgi?id=47040 + + No longer pass focus and blur events to plugins when the "old" DOM Level + 2 DOMFocusIn/DOMFocusOut events occur. r68923 made a change which means + that the DOM Level 3 version is always fired for this event. + + No new tests, as this should cause the failing tests to pass. + + * plugins/PluginView.cpp: + (WebCore::PluginView::handleEvent): No longer pass focus and blur events to + plugins when DOMFocusIn / DOMFocusOut events occur. + +2010-10-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam Weinig. + + Plug-ins should have access to the private browsing state. + https://bugs.webkit.org/show_bug.cgi?id=47031 + <rdar://problem/8505405> + + * page/Page.cpp: + (WebCore::Page::privateBrowsingStateChanged): + When iterating over all widgets, also look for PluginViewBase classes and invoke their + privateBrowsingStateChange member function. + + * plugins/PluginViewBase.h: + (WebCore::PluginViewBase::privateBrowsingStateChanged): + Add function. + +2010-10-01 Brian Weinstein <bweinstein@apple.com> + + Build Fix for Windows. + + * WebCore.vcproj/WebCore.vcproj: Don't have an empty post-build step, use + WebCoreCommon.vsprops to handle post-build step. + * WebCore.vcproj/WebCoreCommon.vsprops: Set the post-build step to delete + $(WebKitOutputDir)/buildfailed. + +2010-10-01 Ragner Magalhaes <ragner.magalhaes@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Segmentation fault during zoom out + https://bugs.webkit.org/show_bug.cgi?id=46984 + + * platform/qt/QtMobileWebStyle.cpp: + (QtMobileWebStyle::drawChecker): Adjust checkerSize to be greater than or equals to middle. + +2010-10-01 Anders Carlsson <andersca@apple.com> + + Another Qt build fix attempt. + + * WebCore.pro: + +2010-10-01 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=47021 + + Patch the floatBottom function and its friends. Rename them and consolidate them to be block-flow-aware. + + Nothing testable yet, since most of the float code is still unpatched. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::layoutBlockChildren): + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::positionNewFloats): + (WebCore::RenderBlock::newLine): + (WebCore::RenderBlock::nextFloatLogicalBottomBelow): + (WebCore::RenderBlock::lowestFloatLogicalBottom): + (WebCore::RenderBlock::clearFloats): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::getClearDelta): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::logicalBottomForFloat): + (WebCore::RenderBlock::hasOverhangingFloats): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::fitBelowFloats): + +2010-10-01 Anders Carlsson <andersca@apple.com> + + Fix typo. + + * platform/network/qt/ProxyServerQt.cpp: + (WebCore::proxyServersForURL): + +2010-10-01 Anders Carlsson <andersca@apple.com> + + Add Qt ProxyServer stub. + + * WebCore.pro: + * platform/network/qt/ProxyServerQt.cpp: Added. + (WebCore::proxyServersForURL): + +2010-10-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein. + + Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it + https://bugs.webkit.org/show_bug.cgi?id=47022 + <rdar://problem/8504712> + + * WebCore.exp.in: + Export proxyServersForURL and toString. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + Add new files. + + * platform/network/ProxyServer.cpp: Added. + (WebCore::appendProxyServerString): + (WebCore::toString): + New function that converts a vector of ProxyServers into a PAC style string. + + * platform/network/ProxyServer.h: Added. + (WebCore::ProxyServer::ProxyServer): + (WebCore::ProxyServer::type): + (WebCore::ProxyServer::hostName): + (WebCore::ProxyServer::port): + Add ProxyServer class. + + * platform/network/cf/ProxyServerCFNet.cpp: Added. + (WebCore::proxyServersForURL): + (WebCore::addProxyServersForURL): + Query CFNetwork for the proxy servers given a URL. + +2010-09-30 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + texImage2D fails on 16-bit-per-channel images + https://bugs.webkit.org/show_bug.cgi?id=46947 + + * platform/graphics/GraphicsContext3D.cpp: Handling 16-bit-per-channel source formats. + (WebCore::convertColor16To8): + (WebCore::doPacking): + * platform/graphics/GraphicsContext3D.h: Ditto. + * platform/graphics/cg/GraphicsContext3DCG.cpp: Ditto. + (WebCore::GraphicsContext3D::getImageData): + +2010-10-01 Eric Uhrhane <ericu@chromium.org> + + Reviewed by Nate Chapin. + + Add v8 binding helpers to make FileWriter be an EventTarget. + https://bugs.webkit.org/show_bug.cgi?id=46910 + + No new tests; still waiting for the first complete implementation. + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + +2010-10-01 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=47015 + + Change FloatingObject to store its dimensions as a rect. + This will make it easier for logical access for block-flow later on if + top/bottom is no different from left/width. This change also simplifies + calling code a bit in places. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverflowFromFloats): + (WebCore::RenderBlock::repaintOverhangingFloats): + (WebCore::RenderBlock::paintFloats): + (WebCore::RenderBlock::fillSelectionGaps): + (WebCore::RenderBlock::insertFloatingObject): + (WebCore::RenderBlock::removeFloatingObject): + (WebCore::RenderBlock::removeFloatingObjectsBelow): + (WebCore::RenderBlock::positionNewFloats): + (WebCore::RenderBlock::positionNewFloatOnLine): + (WebCore::RenderBlock::logicalLeftOffsetForLine): + (WebCore::RenderBlock::logicalRightOffsetForLine): + (WebCore::RenderBlock::nextFloatBottomBelow): + (WebCore::RenderBlock::floatBottom): + (WebCore::RenderBlock::lowestPosition): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + (WebCore::RenderBlock::leftBottom): + (WebCore::RenderBlock::rightBottom): + (WebCore::RenderBlock::clearFloats): + (WebCore::RenderBlock::addOverhangingFloats): + (WebCore::RenderBlock::addIntrudingFloats): + (WebCore::RenderBlock::hitTestFloats): + (WebCore::RenderBlock::adjustForBorderFit): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::FloatingObject::FloatingObject): + (WebCore::RenderBlock::FloatingObject::left): + (WebCore::RenderBlock::FloatingObject::right): + (WebCore::RenderBlock::FloatingObject::top): + (WebCore::RenderBlock::FloatingObject::bottom): + (WebCore::RenderBlock::FloatingObject::width): + (WebCore::RenderBlock::FloatingObject::height): + (WebCore::RenderBlock::FloatingObject::setLeft): + (WebCore::RenderBlock::FloatingObject::setTop): + (WebCore::RenderBlock::FloatingObject::setWidth): + (WebCore::RenderBlock::FloatingObject::setHeight): + (WebCore::RenderBlock::FloatingObject::frameRect): + (WebCore::RenderBlock::FloatingObject::setFrameRect): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + (WebCore::RenderBlock::matchedEndLine): + +2010-10-01 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + DOMFocusIn/DOMFocusOut return focusin/focusout Event.type + https://bugs.webkit.org/show_bug.cgi?id=42580 + <rdar://problem/8107311> + + This change removes the aliased type machinery from the Event class. + We now fire the event with the new name and the oldname. + + Tests: Modified fast/events/focusinout.html to check the event + type. + + * dom/Document.cpp: + (WebCore::Document::setFocusedNode): + * dom/Event.cpp: Removed aliasedType and hasAliasedType. + * dom/Event.h: Removed aliasedType and hasAliasedType. + * dom/EventTarget.cpp: + (WebCore::EventTarget::fireEventListeners): Removed aliasedType related code. + +2010-10-01 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=46642, make replaced elements work with block-flow. This patch changes + all of the computeReplacedLogicalWidth and comuteReplacedLogicalHeight functions (and their helpers) to use logical width + and logical height instead. + + Added fast/blockflow/block-level-images.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalWidth): + (WebCore::RenderBox::computeLogicalHeight): + (WebCore::RenderBox::computeReplacedLogicalWidth): + (WebCore::RenderBox::computeReplacedLogicalWidthUsing): + (WebCore::RenderBox::computeReplacedLogicalHeight): + (WebCore::RenderBox::computeReplacedLogicalHeightUsing): + (WebCore::RenderBox::computePositionedLogicalWidthReplaced): + (WebCore::RenderBox::computePositionedLogicalHeightReplaced): + * rendering/RenderBox.h: + (WebCore::RenderBox::intrinsicLogicalWidth): + (WebCore::RenderBox::intrinsicLogicalHeight): + * rendering/RenderImage.cpp: + (WebCore::RenderImage::isLogicalWidthSpecified): + (WebCore::RenderImage::isLogicalHeightSpecified): + (WebCore::RenderImage::computeReplacedLogicalWidth): + (WebCore::RenderImage::computeReplacedLogicalHeight): + (WebCore::RenderImage::calcAspectRatioLogicalWidth): + (WebCore::RenderImage::calcAspectRatioLogicalHeight): + * rendering/RenderImage.h: + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::layout): + (WebCore::RenderReplaced::computeReplacedLogicalWidth): + (WebCore::RenderReplaced::computeReplacedLogicalHeight): + (WebCore::RenderReplaced::calcAspectRatioLogicalWidth): + (WebCore::RenderReplaced::calcAspectRatioLogicalHeight): + (WebCore::RenderReplaced::computePreferredLogicalWidths): + * rendering/RenderReplaced.h: + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::computePreferredLogicalWidths): + (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): + (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): + * rendering/RenderSVGRoot.h: + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::computeReplacedLogicalWidth): + (WebCore::RenderVideo::computeReplacedLogicalHeight): + * rendering/RenderVideo.h: + +2010-10-01 Nate Chapin <japhet@chromium.org> + + Reviewed by Darin Adler. + + Remove unused Request::buffer() and Request::m_buffer. + + https://bugs.webkit.org/show_bug.cgi?id=47003 + + * loader/Request.h: + +2010-10-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/7563219> Null dereference when dragging an element with generated content + https://bugs.webkit.org/show_bug.cgi?id=47005 + + Test: fast/css-generated-content/drag-state.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::updateDragState): Null-check node(). + +2010-10-01 Robert Hogan <robert@webkit.org> + + Reviewed by Adam Barth. + + [Qt] Fix http/tests/loading/redirect-methods.html + + Document our redirection behaviour too. + + https://bugs.webkit.org/show_bug.cgi?id=41571 + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + * platform/network/qt/QNetworkReplyHandler.h: + +2010-10-01 Adam Roben <aroben@apple.com> + + Copy forwarding headers and Inspector JS files as part of + WebCoreGenerated.vcproj + + WebCoreGenerated.vcproj runs on every build, while WebCore.vcproj only + runs when a .h or .cpp file changes. By moving the copying to + WebCoreGenerated, it will happen even when someone only changes a JS + file (as happened in r68887). + + Fixes <http://webkit.org/b/46988> <rdar://problem/8502489> REGRESSION + (r68887): Web Inspector: inspector/extensions*.html are failing on + Windows + + Reviewed by Anders Carlsson. + + * WebCore.vcproj/WebCore.vcproj: Moved invocation of + copyForwardingHeaders and copyInspectorFiles from here... + * WebCore.vcproj/WebCoreGenerated.vcproj: ...to here. + +2010-09-30 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Darin Adler. + + Implement queryCommandState('justifyFull') + https://bugs.webkit.org/show_bug.cgi?id=46954 + + Implemented queryCommandState('justifyFull'). + New tests are added to editing/style/inline-style-container.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::getTextAlignment): Added support for CSSValueJustify. + * editing/EditorCommand.cpp: + (WebCore::stateJustifyFull): Added. + (WebCore::createCommandMap): Added stateJustifyFull. + +2010-10-01 Jia Pu <jpu@apple.com> + + Reviewed by Darin Adler. + + Autocorrection shouldn't prompt the same correction after user has edited previous correction. + https://bugs.webkit.org/show_bug.cgi?id=46839 + <rdar://problem/8476963> + + * editing/Editor.cpp: + (WebCore::Editor::respondToChangedSelection): Remove "CorrectionIndicator" marker instead of + "Replacement" marker. Since the former controls whether we draw autocorrection underline, + and the latter is used to prevent autocorrection from being applied again on already auto- + corrected word. So the "Replacement" shouldn't be removed. + +2010-10-01 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Anders Carlsson. + + [CMake] Add handling for ENABLE(NETSCAPE_PLUGIN_API) + https://bugs.webkit.org/show_bug.cgi?id=46309 + + * CMakeLists.txt: + * CMakeListsEfl.txt: + +2010-10-01 David Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=46996, patch the functions dealing with the bottom of the block to + be block-flow-aware. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::setCollapsedBottomMargin): + (WebCore::RenderBlock::handleAfterSideOfBlock): + +2010-10-01 Pratik Solanki <psolanki@apple.com> + + Reviewed by Geoffrey Garen. + Specify ALWAYS_INLINE at function declaration not function definition + https://bugs.webkit.org/show_bug.cgi?id=46960 + + For functions defined with ALWAYS_INLINE, add the attribute to the declaration as well. + + * css/CSSStyleSelector.h: + * rendering/InlineIterator.h: + * rendering/style/RenderStyle.h: + +2010-10-01 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element. + + Added fast/css/rtl-to-viewport.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForDocument): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::styleDidChange): + +2010-10-01 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=44406 + <rdar://problem/8310921> Application Cache crash when a fallback document has a manifest URL + + Test: http/tests/appcache/foreign-fallback.html + + * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): + Changed ApplicationCacheResource lookup to find fallback resources correctly. + +2010-10-01 Kwang Yul Seo <skyul@company100.net> + + Unreviewed, Brew MP build fix. + + * platform/brew/ClipboardBrew.cpp: + (WebCore::ClipboardBrew::ClipboardBrew): + +2010-10-01 Rafael Antognolli <antognolli@profusion.mobi> + + Unreviewed build fix. + + [CMAKE] Build fix for r68878 + https://bugs.webkit.org/show_bug.cgi?id=46985 + + Fix name of files added to CMakeLists.txt: + SVGTextLayoutBaseline.cpp -> SVGTextLayoutEngineBaseline.cpp + SVGTextLayoutSpacing.cpp -> SVGTextLayoutEngineSpacing.cpp + + No features added, so no new tests. + + * CMakeLists.txt: + +2010-10-01 Ragner Magalhaes <ragner.magalhaes@openbossa.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] New buttons style for Qt Mobile theme + https://bugs.webkit.org/show_bug.cgi?id=46920 + + Rename Maemo5Webstyle to QtMobileWebStyle since it implements the style for all Qt mobile platform. + Adjust new Qt mobile style for buttons, radios, checks and combos. + + * WebCore.pro: + * css/themeQtMobile.css: Adjust gradient color for buttons and combos. + (select): + (select:active): + * platform/qt/QtMobileWebStyle.cpp: Renamed from platform/qt/Maemo5Webstyle.cpp to match name scheme. + (QtMobileWebStyle::QtMobileWebStyle): + (drawRectangularControlBackground): + (QtMobileWebStyle::drawChecker): + (QtMobileWebStyle::findChecker): + (QtMobileWebStyle::drawRadio): Adjust gradient color for RadioButton. + (QtMobileWebStyle::findRadio): + (QtMobileWebStyle::drawControl): Adjust gradient color for CheckBox. + (QtMobileWebStyle::drawMultipleComboButton): + (QtMobileWebStyle::drawSimpleComboButton): Adjust ComboBox arrow. + (QtMobileWebStyle::getButtonImageSize): + (QtMobileWebStyle::findComboButton): + (QtMobileWebStyle::drawComplexControl): + * platform/qt/QtMobileWebStyle.h: Renamed from platform/qt/Maemo5Webstyle.h to match name scheme. + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::RenderThemeQt): + +2010-10-01 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: [Extensions API] expose page load events timings + Added webInspector.resources.getPageTimings() + + https://bugs.webkit.org/show_bug.cgi?id=45954 + + * inspector/front-end/ExtensionAPI.js: + (WebInspector.injectedExtensionAPI.Resources.prototype): + (WebInspector.injectedExtensionAPI.Resources.prototype.getPageTimings): + * inspector/front-end/ExtensionServer.js: + (WebInspector.ExtensionServer): + (WebInspector.ExtensionServer.prototype._onGetPageTimings): + * inspector/front-end/HAREntry.js: Return page event timings as -1 if start or event time unknown. + (WebInspector.HARLog.prototype._buildPages): + (WebInspector.HARLog.prototype.buildMainResourceTimings): + (WebInspector.HARLog.prototype._convertResource): + (WebInspector.HARLog.prototype._pageEventTime): + +2010-10-01 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WIN] Add GDIExtras + https://bugs.webkit.org/show_bug.cgi?id=46974 + + Some, but not all WinCE environments have support for AlphaBlend(). + Add this files to check for AlphaBlend (and SoftLink) on WinCE. + On WinNT alphaBlendIfSupported() inlines AlphaBlend and returns true. + + * platform/graphics/win/GDIExtras.cpp: Added. + (WebCore::AlphaBlendPointer): + * platform/graphics/win/GDIExtras.h: Added. + (WebCore::hasAlphaBlendSupport): + (WebCore::alphaBlendIfSupported): + +2010-10-01 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WINCE] Use alphaBlendIfSupported in GraphicsContext + https://bugs.webkit.org/show_bug.cgi?id=46979 + + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::GraphicsContextPlatformPrivate::paintBackTransparentLayerBitmap): + +2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Add two new helper files for the new SVGTextLayoutEngine + https://bugs.webkit.org/show_bug.cgi?id=46972 + + Refactor code from SVGTextLayoutUtilities into two seperated classes. + SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used. + + Doesn't affect any functionality yet, as the new classes are not used so far. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/svg/SVGTextFragment.h: + * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added. + (WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline): + (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift): + (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline): + (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift): + (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): + (WebCore::glyphOrientationIsMultiplyOf180Degrees): + (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation): + * rendering/svg/SVGTextLayoutEngineBaseline.h: Added. + * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added. + (WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing): + (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): + (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing): + * rendering/svg/SVGTextLayoutEngineSpacing.h: Added. + +2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Andreas Kling. + + Rename SVGTextLayoutBuilder to SVGTextLayoutAttributesBuilder + https://bugs.webkit.org/show_bug.cgi?id=46971 + + Doesn't affect any functionality, just moves files around. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/svg/RenderSVGText.cpp: + (WebCore::RenderSVGText::layout): Adopt to renaming. + * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Copied from rendering/svg/SVGTextLayoutBuilder.cpp. + * rendering/svg/SVGTextLayoutAttributesBuilder.h: Copied from rendering/svg/SVGTextLayoutBuilder.h. + * rendering/svg/SVGTextLayoutBuilder.cpp: Removed. + * rendering/svg/SVGTextLayoutBuilder.h: Removed. + +2010-10-01 MORITA Hajime <morrita@google.com> + + Unreviewed build fix. + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::PlatformContextSkia): + +2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Andreas Kling. + + Move SVG text related renderers into rendering/svg/ + https://bugs.webkit.org/show_bug.cgi?id=46969 + + Doesn't affect any functionality, just moves files around. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * rendering/RenderSVGAllInOne.cpp: + * rendering/RenderSVGInline.cpp: Removed. + * rendering/RenderSVGInline.h: Removed. + * rendering/RenderSVGInlineText.cpp: Removed. + * rendering/RenderSVGInlineText.h: Removed. + * rendering/RenderSVGTSpan.cpp: Removed. + * rendering/RenderSVGTSpan.h: Removed. + * rendering/RenderSVGText.cpp: Removed. + * rendering/RenderSVGText.h: Removed. + * rendering/RenderSVGTextPath.cpp: Removed. + * rendering/RenderSVGTextPath.h: Removed. + * rendering/SVGInlineFlowBox.cpp: Removed. + * rendering/SVGInlineFlowBox.h: Removed. + * rendering/SVGInlineTextBox.cpp: Removed. + * rendering/SVGInlineTextBox.h: Removed. + * rendering/SVGRootInlineBox.cpp: Removed. + * rendering/SVGRootInlineBox.h: Removed. + * rendering/SVGTextQuery.cpp: Removed. + * rendering/SVGTextQuery.h: Removed. + * rendering/svg/RenderSVGInline.cpp: Copied from rendering/RenderSVGInline.cpp. + * rendering/svg/RenderSVGInline.h: Copied from rendering/RenderSVGInline.h. + * rendering/svg/RenderSVGInlineText.cpp: Copied from rendering/RenderSVGInlineText.cpp. + * rendering/svg/RenderSVGInlineText.h: Copied from rendering/RenderSVGInlineText.h. + * rendering/svg/RenderSVGTSpan.cpp: Copied from rendering/RenderSVGTSpan.cpp. + * rendering/svg/RenderSVGTSpan.h: Copied from rendering/RenderSVGTSpan.h. + * rendering/svg/RenderSVGText.cpp: Copied from rendering/RenderSVGText.cpp. + * rendering/svg/RenderSVGText.h: Copied from rendering/RenderSVGText.h. + * rendering/svg/RenderSVGTextPath.cpp: Copied from rendering/RenderSVGTextPath.cpp. + * rendering/svg/RenderSVGTextPath.h: Copied from rendering/RenderSVGTextPath.h. + * rendering/svg/SVGInlineFlowBox.cpp: Copied from rendering/SVGInlineFlowBox.cpp. + * rendering/svg/SVGInlineFlowBox.h: Copied from rendering/SVGInlineFlowBox.h. + * rendering/svg/SVGInlineTextBox.cpp: Copied from rendering/SVGInlineTextBox.cpp. + * rendering/svg/SVGInlineTextBox.h: Copied from rendering/SVGInlineTextBox.h. + * rendering/svg/SVGRootInlineBox.cpp: Copied from rendering/SVGRootInlineBox.cpp. + * rendering/svg/SVGRootInlineBox.h: Copied from rendering/SVGRootInlineBox.h. + * rendering/svg/SVGTextQuery.cpp: Copied from rendering/SVGTextQuery.cpp. + * rendering/svg/SVGTextQuery.h: Copied from rendering/SVGTextQuery.h. + +2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Add SVGTextMetrics/SVGTextFragment/SVGTextChunk primitives used by the new layout engine + https://bugs.webkit.org/show_bug.cgi?id=46964 + + The new SVG text layout engine will use these new classes. + 1) SVGTextMetrics is used to measure either single glyphs (which may span multiple characters, when ligatures are defined) or a range of characters. + + -> In "single glyph" mode, it returns the width/height of the glyph, the length of the glyph (> 1, when ligatures are used) and a "Glyph" object + describing the glyph (name of glyph, when used together with SVG Fonts and the unicode string the glyph describes). + -> In "range of characters" mode, it returns the width/height of the range, and its length. + + All measurements are done using the regular Font::floatWidth() methods, this class just encapsulates its usage for the SVG text layout engine. + + 2) SVGTextFragment describes a fragment of text, living in a SVGInlineTextBox, which can be measured/rendered in one shot. + It contains all necessary information to render the fragment (x/y/width/height, offset into characters() buffer for the first char of the fragment, + length, and an arbitary transformation, holding information about rotations/scale/glyph-orientation etc.) + + In future the SVGTextLayoutEngine will generate SVGTextFragment objects for each SVGInlineTextBox. When painting no more measurements have to + be performed as SVGTextFragment contains all necessary information to render text / select text etc. + + 3) SVGTextChunk describes a SVG text chunk, which may span multiple text boxes (and in turn text fragments). + + Quotes from SVG spec: + Each absolute position adjustment defines a new "text chunk". Absolute position adjustments impact text layout in the following ways: + * Ligatures only occur when a set of characters which might map to a ligature are all in the same text chunk. + * Each text chunk represents a separate block of text for alignment due to "text-anchor" property values. + * Reordering of characters due to bidirectionality only occurs within a text chunk. Reordering does not happen across text chunks. + + An absolute position adjustment occurs in the following circumstances: + * At the start of a <text> element + * At the start of each <textPath> element + * For each character within a <text>, <tspan>, <tref> and <altGlyph> element which has an "x" or "y" attribute value assigned to it explicitly + + After the line-layout finishes, each "text chunk" is altered according to the textLength and text-anchor processing rules + (eg. for text-anchor="middle" moving the whole text chunk by -fragmentWidth/2, for horizontal text). + + SVGTextChunk is just a simple helper class, that encapsulates measuring/altering a text chunk. + + Doesn't affect any tests, as these classes aren't used so far. + + * Android.mk: Add SVGTextMetrics.*, SVGTextFragment.h, SVGTextChunk.* to build. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * rendering/svg/SVGTextChunk.cpp: Added. + * rendering/svg/SVGTextChunk.h: Added. + * rendering/svg/SVGTextFragment.h: Added. + * rendering/svg/SVGTextMetrics.cpp: Added. + * rendering/svg/SVGTextMetrics.h: Added. + +2010-10-01 Vincent Scheib <scheib@chromium.org> + + Reviewed by James Robinson. + + REGRESSION: Lots of fast canvas updates fail to completely render + https://bugs.webkit.org/show_bug.cgi?id=46319 + + Test: fast/repaint/canvas-putImageData.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::putImageData): + +2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Add helper methods to cast between renderers & SVGTextContent/PositioningElement + https://bugs.webkit.org/show_bug.cgi?id=46963 + + Doesn't affect any tests. + + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::elementFromRenderer): + * svg/SVGTextContentElement.h: + * svg/SVGTextPositioningElement.cpp: + (WebCore::SVGTextPositioningElement::elementFromRenderer): + * svg/SVGTextPositioningElement.h: + +2010-09-30 MORITA Hajime <morrita@google.com> + + Reviewed by James Robinson. + + [Chromium] build fails unless ACCELERATED_2D_CANVAS defined + https://bugs.webkit.org/show_bug.cgi?id=46955 + + Added ifdef guard around SharedGraphicsContext3D. + + No new tests. just a build fix. + + * platform/graphics/skia/PlatformContextSkia.cpp: + (WebCore::PlatformContextSkia::~PlatformContextSkia): + (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): + (WebCore::PlatformContextSkia::uploadSoftwareToHardware): + (WebCore::PlatformContextSkia::readbackHardwareToSoftware): + * platform/graphics/skia/PlatformContextSkia.h: + (WebCore::PlatformContextSkia::gpuCanvas): + +2010-09-30 Kent Tamura <tkent@chromium.org> + + Reviewed by Chris Fleizach. + + [Windows] Implement <input type=number> UI + https://bugs.webkit.org/show_bug.cgi?id=38381 + + Implement theme drawing for inner-spin-button. + No new tests. Existing tests for type=number will cover this change. + + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::RenderThemeWin): + Handle m_spinButtonTheme. + (WebCore::RenderThemeWin::spinButtonTheme): ditto. + (WebCore::RenderThemeWin::close): ditto. + (WebCore::RenderThemeWin::determineClassicState): + Add ControlSubPart parameter, and add support for InnerSpinButtonPart. + (WebCore::RenderThemeWin::determineSpinButtonState): Added. + (WebCore::RenderThemeWin::getClassicThemeData): + Add ControlSubPart parameter, and handle InnerSpinButtonPart. + (WebCore::RenderThemeWin::getThemeData): ditto. + (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle): + Set SM_CXVSCROLL value to the width. + (WebCore::RenderThemeWin::paintInnerSpinButton): + Call drawControl() for the upper part and the lower part. + * rendering/RenderThemeWin.h: + +2010-09-30 Kent Tamura <tkent@chromium.org> + + Unreviewed, Windows build fix for r68854 + + * WebCore.vcproj/copyForwardingHeaders.cmd: + Copy WebCore/html/parser/*.h. + +2010-09-30 Abhishek Arya <inferno@chromium.org> + + Reviewed by Dan Bernstein. + + While updating :before and :after content, make sure that the generated + container is allowed to add the child type. + https://bugs.webkit.org/show_bug.cgi?id=46106 + + Test: fast/css-generated-content/text-before-table-col-crash.html + + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + +2010-09-30 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Daniel Bates. + + [GTK] Crash on testatk.c unittest because of a call to ASSERT_NOT_REACHED + https://bugs.webkit.org/show_bug.cgi?id=46886 + + Removed call to ASSERT_NOT_REACHED() from listMarkerSuffix(). + + So far, this assertion made sense because it was not possible that + a call to listMarkerSuffix() happened when the style of the list + item was one of the following: Asterisks, Circle, Discm Footnotes, + NoneListStyle or Square (it's easy to figure this out by checking + the functions where listMarkerSuffix() was called). + + However, since revision 68415 (about bug 45381), there's a new + place where listMarkerSuffix() is being called (the suffix() + public method), regardless of the style of the item being or not + one of those pointed out, so the aforementioned assertion in + listMarkerSuffix() would no longer be correct, as now it's ok to + reach those cases in the switch statement. + + * rendering/RenderListMarker.cpp: + (WebCore::listMarkerSuffix): Removed call to ASSERT_NOT_REACHED(). + +2010-09-30 Beth Dakin <bdakin@apple.com> + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=46948 Crash with all- + whitespace separators for mfenced + + Check the size of characters instead of separators in case all the + separators were whitespace. + + * mathml/RenderMathMLFenced.cpp: + (WebCore::RenderMathMLFenced::updateFromElement): + +2010-09-30 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Remove remaining calls to deprecatedParseURL + https://bugs.webkit.org/show_bug.cgi?id=26599 + + Test: fast/replaced/object-param-spaces.html + + * css/CSSHelper.cpp: Removed. + * css/CSSHelper.h: Removed deprecatedParseURL. + + * html/parser/HTMLParserIdioms.cpp: + (WebCore::stripLeadingAndTrailingHTMLSpaces): + Fixed bug where the function would turn the null string into the empty string. + Fixed bug where the function would not strip all trailing spaces. + + * html/parser/CSSPreloadScanner.cpp: + (WebCore::CSSPreloadScanner::CSSPreloadScanner): Initialize m_state + instead of calling the reset function. + (WebCore::CSSPreloadScanner::scan): Tweaked coding style. + (WebCore::CSSPreloadScanner::tokenize): Use isHTMLSpace instead of + an identical local function named isWhitespace. + (WebCore::parseCSSStringOrURL): Added. This function does what + deprecatedParseURL did before, and this is the only place in WebKit + that needs it. The code implements the rules for a string or URL + token. The real CSS parser does this with flex and the code to hook + flex up to yacc, so the function is not needed there. + (WebCore::CSSPreloadScanner::emitRule): Streamlined the code a bit + and mae it call parseCSSStringOrURL. + + * bindings/generic/BindingSecurity.h: + (WebCore::::allowSettingFrameSrcToJavascriptUrl): + * bindings/js/JSDOMBinding.cpp: + (WebCore::allowSettingSrcToJavascriptURL): + * bindings/js/JSHTMLFrameElementCustom.cpp: + (WebCore::allowSettingJavascriptURL): + * bindings/objc/DOM.mm: + (-[DOMElement _getURLAttribute:]): + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): + * dom/Document.cpp: + (WebCore::Document::processBaseElement): + * dom/Element.cpp: + (WebCore::isAttributeToRemove): + (WebCore::Element::getURLAttribute): + (WebCore::Element::getNonEmptyURLAttribute): + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::defaultEventHandler): + (WebCore::HTMLAnchorElement::parseMappedAttribute): + (WebCore::HTMLAnchorElement::href): + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::parseMappedAttribute): + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::parseMappedAttribute): + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::parseMappedAttribute): + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::sourceURI): + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::parseMappedAttribute): + * html/HTMLMediaElement.cpp: + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parseMappedAttribute): + (WebCore::HTMLObjectElement::parametersForPlugin): + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::parseMappedAttribute): + * html/HTMLTablePartElement.cpp: + (WebCore::HTMLTablePartElement::parseMappedAttribute): + * html/parser/HTMLPreloadScanner.cpp: + (WebCore::HTMLNames::PreloadTask::setUrlToLoad): + * loader/FormSubmission.cpp: + (WebCore::FormSubmission::Attributes::parseAction): + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::declareAndWriteDragImage): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeImage): + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::declareAndWriteDragImage): + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::declareAndWriteDragImage): + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::absoluteImageURL): + (WebCore::HitTestResult::absoluteMediaURL): + (WebCore::HitTestResult::absoluteLinkURL): + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::defaultEventHandler): + * svg/SVGImageLoader.cpp: + (WebCore::SVGImageLoader::sourceURI): + * wml/WMLAElement.cpp: + (WebCore::WMLAElement::defaultEventHandler): + * wml/WMLImageLoader.cpp: + (WebCore::WMLImageLoader::sourceURI): + Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL. + + * WebCore.exp.in: Updated. + + * Android.mk: Removed CSSHelper.cpp. + * CMakeLists.txt: Ditto. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * bindings/js/JSAttrCustom.cpp: + * bindings/js/JSElementCustom.cpp: + * bindings/v8/custom/V8ElementCustom.cpp: + * bindings/v8/custom/V8LocationCustom.cpp: + * css/CSSParser.cpp: + * html/HTMLMediaElement.cpp: + * html/HTMLVideoElement.cpp: + * loader/ImageLoader.cpp: + * rendering/style/RenderStyle.h: + Removed unneeded include of CSSHelper.h. + +2010-09-30 Alexey Marinichev <amarinichev@chromium.org> + + Reviewed by Chris Marrin. + + Add GetGraphicsResetStatusARB entry point from ARB_robustness + extension to GraphicsContext3D + https://bugs.webkit.org/show_bug.cgi?id=46850 + + Added stubs for GraphicsContext3D::getGraphicsResetStatusARB for + Mac and QT. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: + (WebCore::GraphicsContext3D::getGraphicsResetStatusARB): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::getGraphicsResetStatusARB): + +2010-09-30 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=46938 + + Rewrite margin collapsing to be block-flow-aware. Eliminate a bunch of the margin functions on RenderBox in favor of a single + master function for grabbing all the margin values for a child: marginValuesForChild on RenderBlock. Introduce a new + MarginValues struct to make returning the collection of 4 margin values easy. + + fast/blockflow/inline-direction-positioning.html progresses to have the correct results. + Added fast/blockflow/margin-collapse.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::MarginInfo::MarginInfo): + (WebCore::RenderBlock::adjustPositionedBlock): + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::clearFloatsIfNeeded): + (WebCore::RenderBlock::setCollapsedBottomMargin): + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::setMaxMarginBeforeValues): + (WebCore::RenderBlock::setMaxMarginAfterValues): + (WebCore::RenderBlock::marginValuesForChild): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::MarginValues::MarginValues): + (WebCore::RenderBlock::MarginValues::positiveMarginBefore): + (WebCore::RenderBlock::MarginValues::negativeMarginBefore): + (WebCore::RenderBlock::MarginValues::positiveMarginAfter): + (WebCore::RenderBlock::MarginValues::negativeMarginAfter): + (WebCore::RenderBlock::MarginValues::setPositiveMarginBefore): + (WebCore::RenderBlock::MarginValues::setNegativeMarginBefore): + (WebCore::RenderBlock::MarginValues::setPositiveMarginAfter): + (WebCore::RenderBlock::MarginValues::setNegativeMarginAfter): + (WebCore::RenderBlock::maxPositiveMarginBefore): + (WebCore::RenderBlock::maxNegativeMarginBefore): + (WebCore::RenderBlock::maxPositiveMarginAfter): + (WebCore::RenderBlock::maxNegativeMarginAfter): + (WebCore::RenderBlock::initMaxMarginValues): + (WebCore::RenderBlock::collapsedMarginBefore): + (WebCore::RenderBlock::collapsedMarginAfter): + (WebCore::RenderBlock::MarginInfo::clearMargin): + (WebCore::RenderBlock::MarginInfo::setPositiveMargin): + (WebCore::RenderBlock::MarginInfo::setNegativeMargin): + (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger): + (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger): + (WebCore::RenderBlock::MarginInfo::setMargin): + (WebCore::RenderBlock::MarginInfo::positiveMargin): + (WebCore::RenderBlock::MarginInfo::negativeMargin): + (WebCore::RenderBlock::MarginInfo::margin): + (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): + (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault): + (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault): + (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault): + (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault): + * rendering/RenderBox.h: + (WebCore::RenderBox::collapsedMarginBefore): + (WebCore::RenderBox::collapsedMarginAfter): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): + +2010-09-30 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WINCE] Fix InternetGetCookie in CookieJarWin.cpp + https://bugs.webkit.org/show_bug.cgi?id=46929 + + If the InternetGetCookie fails the output size won't be set. + Set the default size to 0, so we always get the correct size + and check the return value of InternetGetCookie. + + * platform/network/win/CookieJarWin.cpp: + (WebCore::cookies): + +2010-09-30 Patrick Gansterer <paroga@webkit.org> + + Reviewed by Adam Roben. + + [WINCE] Use OwnPtr for HBRUSH and HPEN in GraphicsContext + https://bugs.webkit.org/show_bug.cgi?id=46881 + + Also add some missing SelectObject calls. + + * platform/graphics/wince/GraphicsContextWinCE.cpp: + (WebCore::createPen): + (WebCore::createBrush): + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::strokePath): + +2010-09-30 Anders Carlsson <andersca@apple.com> + + Reviewed by Dan Bernstein and Darin Adler. + + WebCore uses the main thread to process sleep notifications + https://bugs.webkit.org/show_bug.cgi?id=46935 + <rdar://problem/8495374> + + Rewrite the old WebCorePowerNotifier to use IOKit directly. + + On Snow Leopard, set up power notifications to arrive on a dispatch queue, + so that we can handle them quickly even if the main thread is hung. + + (Tiger and Leopard will still get the old behavior). + + * WebCore.xcodeproj/project.pbxproj: + Link with IOKit. + + * platform/mac/SharedTimerMac.mm: + (WebCore::PowerObserver::PowerObserver): + Initialize the IOKit machinery. + + (WebCore::PowerObserver::~PowerObserver): + Tear down the IOKit notifications. + + (WebCore::PowerObserver::didReceiveSystemPowerNotification): + Acknowledge the event immediately and then call the shared timer functions. On Snow Leopard, we + make sure to call the shared timer functions on the main thread. + +2010-09-30 James Simonsen <simonjam@chromium.org> + + Reviewed by Adam Barth. + + [Web Timing] Make requestEnd equal to start of response + https://bugs.webkit.org/show_bug.cgi?id=46302 + + * page/Timing.cpp: + (WebCore::Timing::requestEnd): + +2010-09-30 Zhenyao Mo <zmo@google.com> + + Reviewed by Kenneth Russell. + + fast/canvas/webgl/draw-elements-out-of-bounds.html is crashing on Snow Leopard + https://bugs.webkit.org/show_bug.cgi?id=46870 + + * platform/graphics/ANGLEWebKitBridge.cpp: + (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Remove ShFinalize(). + +2010-09-30 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Tony Chang. + + WebKit nests font element when applying different font styles + https://bugs.webkit.org/show_bug.cgi?id=45568 + + The bug was caused by fixRangeAndApplyInlineStyle's not including fully selected ancestors, + and addInlineStyleIfNeeded's always surrounding the contents by new elements as supposed to + adding font attributes or style attribute. + + Fixed the bug by extending the node range in fixRangeAndApplyInlineStyle and finding + the appropriate container node to add attributes in addInlineStyleIfNeeded. + addInlineStyleIfNeeded now tires to add font and style attributes to the inner most font and + span elements respectively. + + Also added an early exit check to removeStyleFromRunBeforeApplyingStyle so that WebKit does not + modify the contents when the entire contents already have the desired style. + + Test: editing/style/inline-style-container.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): + (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): + (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): + (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): + +2010-09-30 Jarred Nicholls <jarred@sencha.com> + + Reviewed by Darin Adler. + + Removed unnecessary calls to ceil() on an int + Removing the call fixes MSVC build errors + https://bugs.webkit.org/show_bug.cgi?id=46931 + + * platform/graphics/ContextShadow.cpp: + (WebCore::ContextShadow::calculateLayerBoundingRect): + +2010-09-30 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=46932 + + Get fast/blockflow/root-lr-basic.html results to be correct by patching a few more + height() calls to be logicalHeight(). + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::collapseMargins): + (WebCore::RenderBlock::handleAfterSideOfBlock): + +2010-09-30 Cris Neckar <cdn@chromium.org> + + Reviewed by Darin Adler. + + Added check to test for removed counter node when calling findPlaceForCounter() in updateCounters(). + Added refcounting to counternodes in countermaps. + https://bugs.webkit.org/show_bug.cgi?id=46387 + + Test: fast/css/counters/counter-traverse-table-cell.html + + * rendering/CounterNode.cpp: + (WebCore::CounterNode::create): + * rendering/CounterNode.h: + * rendering/RenderCounter.cpp: + (WebCore::makeCounterNode): + (WebCore::destroyCounterNodeWithoutMapRemoval): + (WebCore::RenderCounter::destroyCounterNodes): + (WebCore::RenderCounter::destroyCounterNode): + (WebCore::updateCounters): + +2010-09-30 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=46928 + + Add isLeftToRightDirection() to RenderStyle and change callers that did direction() == LTR and direction() == RTL to use this instead. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::isLeftPage): + (WebCore::CSSStyleSelector::applyProperty): + * editing/Editor.cpp: + (WebCore::Editor::hasBidiSelection): + * editing/VisiblePosition.cpp: + (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): + (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawTextInternal): + * rendering/InlineBox.h: + (WebCore::InlineBox::isLeftToRightDirection): + (WebCore::InlineBox::caretLeftmostOffset): + (WebCore::InlineBox::caretRightmostOffset): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): + (WebCore::InlineFlowBox::placeBoxesInInlineDirection): + (WebCore::InlineFlowBox::paintTextDecorations): + * rendering/InlineIterator.h: + (WebCore::InlineIterator::direction): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::placeEllipsisBox): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintCompositionBackground): + (WebCore::InlineTextBox::paintDecoration): + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + (WebCore::InlineTextBox::paintTextMatchMarker): + (WebCore::InlineTextBox::computeRectForReplacementMarker): + (WebCore::InlineTextBox::textPos): + (WebCore::InlineTextBox::offsetForPosition): + (WebCore::InlineTextBox::positionForOffset): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::adjustPositionedBlock): + (WebCore::RenderBlock::determineLogicalLeftPositionForChild): + (WebCore::RenderBlock::paintColumnRules): + (WebCore::RenderBlock::paintColumnContents): + (WebCore::RenderBlock::getHorizontalSelectionGapInfo): + (WebCore::RenderBlock::logicalLeftOffsetForLine): + (WebCore::RenderBlock::logicalRightOffsetForLine): + (WebCore::RenderBlock::rightmostPosition): + (WebCore::RenderBlock::leftmostPosition): + (WebCore::RenderBlock::columnRectAt): + (WebCore::RenderBlock::layoutColumns): + (WebCore::getBorderPaddingMargin): + (WebCore::RenderBlock::localCaretRect): + (WebCore::RenderBlock::marginStartForChild): + (WebCore::RenderBlock::marginEndForChild): + (WebCore::RenderBlock::setMarginStartForChild): + (WebCore::RenderBlock::setMarginEndForChild): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::getBorderPaddingMargin): + (WebCore::RenderBlock::constructLine): + (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): + (WebCore::RenderBlock::determineStartPosition): + (WebCore::RenderBlock::skipTrailingWhitespace): + (WebCore::RenderBlock::skipLeadingWhitespace): + (WebCore::RenderBlock::findNextLineBreak): + (WebCore::RenderBlock::checkLinesForTextOverflow): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::marginStart): + (WebCore::RenderBox::marginEnd): + (WebCore::RenderBox::setMarginStart): + (WebCore::RenderBox::setMarginEnd): + (WebCore::RenderBox::scrollWidth): + (WebCore::RenderBox::computeInlineDirectionMargins): + (WebCore::RenderBox::containingBlockWidthForPositioned): + (WebCore::RenderBox::computePositionedLogicalWidthUsing): + (WebCore::RenderBox::computePositionedLogicalWidthReplaced): + (WebCore::RenderBox::localCaretRect): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::relativePositionOffsetX): + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::layoutLegend): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::paintObject): + * rendering/RenderFlexibleBox.cpp: + (WebCore::FlexBoxIterator::FlexBoxIterator): + (WebCore::RenderFlexibleBox::layoutHorizontalBox): + (WebCore::RenderFlexibleBox::layoutVerticalBox): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::computeScrollDimensions): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintItemForeground): + * rendering/RenderListItem.cpp: + (WebCore::RenderListItem::positionListMarker): + (WebCore::RenderListItem::markerTextWithSuffix): + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): + (WebCore::RenderListMarker::updateMargins): + (WebCore::RenderListMarker::suffix): + * rendering/RenderMarquee.cpp: + (WebCore::RenderMarquee::computePosition): + * rendering/RenderMeter.cpp: + (WebCore::RenderMeter::valuePartRect): + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::valuePartRect): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::calcBorderLeft): + (WebCore::RenderTable::calcBorderRight): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::clippedOverflowRectForRepaint): + (WebCore::RenderTableCell::borderHalfLeft): + (WebCore::RenderTableCell::borderHalfRight): + (WebCore::RenderTableCell::collectBorderStyles): + (WebCore::RenderTableCell::paintCollapsedBorder): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::layoutRows): + (WebCore::RenderTableSection::recalcOuterBorder): + (WebCore::RenderTableSection::paintObject): + (WebCore::RenderTableSection::nodeAtPoint): + * rendering/RenderText.cpp: + (WebCore::RenderText::localCaretRect): + (WebCore::RenderText::positionLineBox): + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::forwardEvent): + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::levelIndicatorFor): + (WebCore::RenderThemeMac::paintProgressBar): + * rendering/RenderTreeAsText.cpp: + (WebCore::writeTextRun): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::measureCharacter): + (WebCore::SVGInlineTextBox::buildLayoutInformation): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeSVGInlineTextBox): + * rendering/SVGTextLayoutUtilities.cpp: + (WebCore::svgTextRunForInlineTextBox): + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::borderStartWidth): + (WebCore::RenderStyle::borderEndWidth): + (WebCore::RenderStyle::marginStart): + (WebCore::RenderStyle::marginEnd): + (WebCore::RenderStyle::marginStartUsing): + (WebCore::RenderStyle::marginEndUsing): + (WebCore::RenderStyle::paddingStart): + (WebCore::RenderStyle::paddingEnd): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::isLeftToRightDirection): + * wml/WMLTableElement.cpp: + (WebCore::WMLTableElement::alignCells): + +2010-09-30 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=46923 + + Make determineLogicalLeftPositionForChild block-flow-aware. Rewrite the function so that there aren't + completely separate LTR/RTL cases. + + Added fast/blockflow/inline-direction-positioning.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::determineLogicalLeftPositionForChild): + (WebCore::RenderBlock::setLogicalLeftForChild): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::logicalWidthForChild): + (WebCore::RenderBlock::logicalRightOffsetForContent): + (WebCore::RenderBlock::logicalLeftOffsetForContent): + +2010-09-29 Adam Roben <aroben@apple.com> + + Fix color media queries on Windows + + Fixes <http://webkit.org/b/42973> <rdar://problem/8234072> (color:8) + media query does not evaluate to true for 32bpp displays on Windows + + Test: fast/media/color-does-not-include-alpha.html + + Reviewed by Darin Adler. + + * platform/win/PlatformScreenWin.cpp: + (WebCore::screenDepthPerComponent): Use screenDepth instead of trying + to interpret DEVMODE directly, since screenDepth knows how to correct + for video drivers that return 32 instead of 24. + +2010-09-29 Adam Roben <aroben@apple.com> + + Make sure screen.colorDepth/screen.pixelDepth don't include the bits + used for alpha + + Fixes <http://webkit.org/b/42972> <rdar://problem/8234071> + screen.colorDepth and screen.pixelDepth return 32 on Windows, but + should return 24 (according to CSSOM View and Firefox) + + Reviewed by Darin Adler. + + * platform/win/PlatformScreenWin.cpp: + (WebCore::screenDepth): If Windows says there are 32 bits per pixel, + return 24 instead, as 32 includes the alpha component but this + function is supposed to ignore the alpha component. + +2010-09-30 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Tony Chang. + + [chromium] Refactor ChromiumDataObject to use getters/setters. + https://bugs.webkit.org/show_bug.cgi?id=46559 + + This is an intermediate step to converting ChromiumDataObject to use + callbacks to the browser to retrieve data. + + This is covered by existing tests. + + * editing/chromium/EditorChromium.cpp: + (WebCore::Editor::newGeneralClipboard): + * page/chromium/EventHandlerChromium.cpp: + (WebCore::EventHandler::createDraggingClipboard): + * platform/chromium/ChromiumDataObject.cpp: + (WebCore::ChromiumDataObject::clearData): + (WebCore::ChromiumDataObject::clearAll): + (WebCore::ChromiumDataObject::clearAllExceptFiles): + (WebCore::ChromiumDataObject::hasData): + (WebCore::ChromiumDataObject::types): + (WebCore::ChromiumDataObject::getData): + (WebCore::ChromiumDataObject::setData): + (WebCore::ChromiumDataObject::ChromiumDataObject): + * platform/chromium/ChromiumDataObject.h: + (WebCore::ChromiumDataObject::create): + (WebCore::ChromiumDataObject::urlTitle): + (WebCore::ChromiumDataObject::setUrlTitle): + (WebCore::ChromiumDataObject::htmlBaseUrl): + (WebCore::ChromiumDataObject::setHtmlBaseUrl): + (WebCore::ChromiumDataObject::containsFilenames): + (WebCore::ChromiumDataObject::filenames): + (WebCore::ChromiumDataObject::setFilenames): + (WebCore::ChromiumDataObject::fileExtension): + (WebCore::ChromiumDataObject::setFileExtension): + (WebCore::ChromiumDataObject::fileContentFilename): + (WebCore::ChromiumDataObject::setFileContentFilename): + (WebCore::ChromiumDataObject::fileContent): + (WebCore::ChromiumDataObject::setFileContent): + * platform/chromium/ClipboardChromium.cpp: + (WebCore::normalizeType): + (WebCore::ClipboardChromium::clearData): + (WebCore::ClipboardChromium::clearAllData): + (WebCore::ClipboardChromium::getData): + (WebCore::ClipboardChromium::setData): + (WebCore::ClipboardChromium::types): + (WebCore::ClipboardChromium::files): + (WebCore::writeImageToDataObject): + (WebCore::ClipboardChromium::declareAndWriteDragImage): + (WebCore::ClipboardChromium::writeURL): + (WebCore::ClipboardChromium::writeRange): + (WebCore::ClipboardChromium::writePlainText): + * platform/chromium/ClipboardChromiumWin.cpp: + (WebCore::ClipboardChromium::validateFileName): + * platform/chromium/ClipboardMimeTypes.cpp: + * platform/chromium/ClipboardMimeTypes.h: + * platform/chromium/DragDataChromium.cpp: + (WebCore::containsHTML): + (WebCore::DragData::containsURL): + (WebCore::DragData::asURL): + (WebCore::DragData::containsFiles): + (WebCore::DragData::asFilenames): + (WebCore::DragData::containsPlainText): + (WebCore::DragData::asPlainText): + (WebCore::DragData::canSmartReplace): + (WebCore::DragData::asFragment): + * platform/chromium/ReadableDataObject.cpp: + (WebCore::ReadableDataObject::getURL): + (WebCore::ReadableDataObject::getHTML): + * platform/chromium/WritableDataObject.cpp: + (WebCore::WritableDataObject::clearData): + (WebCore::WritableDataObject::setData): + (WebCore::WritableDataObject::setURL): + (WebCore::WritableDataObject::setHTML): + +2010-09-30 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Make 2D accelerated canvas rendering build on Mac + https://bugs.webkit.org/show_bug.cgi?id=46007 + + Add accelerated 2D rendering files to Mac build, fix build errors, + add ifdefs to compile only when the ACCELERATED_2D_CANVAS flag is + enabled, and add a skeleton of the mac specific file so it builds. + + DrawingBufferMac.mm, the Mac specific file does nothing right now + other than initialize and create a layer. The rest will be added + when I do the actual implementation. + + The most significant change was to SharedGraphicsContext3D, which + had a static local OwnPtr in one of the methods. This was causing + the exit time destructor warning. Getting rid of the OwnPtr fixed + the problem. Since the pointer that was being wrapped was to a + static object that would never get destroyed, the OwnPtr was not + necessary. + + I also added the ACCELERATED_2D_CANVAS flag to build-webkit + and FeatureDefines.xcconfig for WebCore, WebKit and JavaScriptCore. + But right now the flag is off by default. + + * Configurations/FeatureDefines.xcconfig: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/gpu/DrawingBuffer.cpp: + * platform/graphics/gpu/DrawingBuffer.h: + (WebCore::DrawingBuffer::WillPublishCallback::~WillPublishCallback): + * platform/graphics/gpu/LoopBlinnClassifier.cpp: + * platform/graphics/gpu/LoopBlinnMathUtils.cpp: + * platform/graphics/gpu/LoopBlinnTextureCoords.cpp: + * platform/graphics/gpu/Shader.cpp: + * platform/graphics/gpu/SharedGraphicsContext3D.cpp: + (WebCore::SharedGraphicsContext3D::allContexts): + * platform/graphics/gpu/SolidFillShader.cpp: + * platform/graphics/gpu/TexShader.cpp: + * platform/graphics/gpu/Texture.cpp: + * platform/graphics/gpu/Texture.h: + * platform/graphics/gpu/TilingData.cpp: + * platform/graphics/gpu/mac: Added. + * platform/graphics/gpu/mac/DrawingBufferMac.mm: Added. + (WebCore::DrawingBuffer::DrawingBuffer): + (WebCore::DrawingBuffer::~DrawingBuffer): + (WebCore::DrawingBuffer::reset): + (WebCore::DrawingBuffer::platformLayer): + +2010-09-30 Renata Hodovan <reni@inf.u-szeged.hu> + + Reviewed by Dirk Schulze. + + SVGFECompositeElement doesn't support dynamic invalidation, when attributes change. + https://bugs.webkit.org/show_bug.cgi?id=46902 + + Tests: svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html + svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html + svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html + svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html + svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html + svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html + svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html + svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html + svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html + svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html + svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html + svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html + svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html + svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html + + * svg/SVGFECompositeElement.cpp: + (WebCore::SVGFECompositeElement::svgAttributeChanged): + * svg/SVGFECompositeElement.h: + +2010-09-29 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Steve Block. + + Finished IDBTransaction for IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=46823 + + Switch the rest of IndexedDB to use transactions. + Implement most of setVersion. + Add IDBTransactions to IDBAny, IDBCursor, IDBRequest, etc. + Switch to using the standard cross thread task stuff. + Make everything threadsafe so it works with cross thread copy + (will be useful in the future). + Fix some subtle bugs in transactions. + + Various bits of clean up (when I couldn't resist). + + * bindings/js/JSIDBAnyCustom.cpp: + (WebCore::toJS): + * bindings/v8/IDBBindingUtilities.cpp: + (WebCore::LocalContext::LocalContext): + (WebCore::LocalContext::~LocalContext): + (WebCore::createIDBKeyFromSerializedValueAndKeyPath): + * bindings/v8/SerializedScriptValue.cpp: + (WebCore::SerializedScriptValue::release): + (WebCore::SerializedScriptValue::SerializedScriptValue): + * bindings/v8/SerializedScriptValue.h: + * bindings/v8/custom/V8IDBAnyCustom.cpp: + (WebCore::toV8): + * platform/CrossThreadCopier.cpp: + * storage/IDBAny.cpp: + (WebCore::IDBAny::idbFactory): + (WebCore::IDBAny::idbTransaction): + (WebCore::IDBAny::set): + * storage/IDBAny.h: + * storage/IDBCallbacks.h: + * storage/IDBCursor.cpp: + (WebCore::IDBCursor::IDBCursor): + (WebCore::IDBCursor::update): + (WebCore::IDBCursor::continueFunction): + (WebCore::IDBCursor::remove): + * storage/IDBCursor.h: + (WebCore::IDBCursor::create): + * storage/IDBCursorBackendImpl.cpp: + (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): + (WebCore::IDBCursorBackendImpl::update): + (WebCore::IDBCursorBackendImpl::updateInternal): + (WebCore::IDBCursorBackendImpl::continueFunction): + (WebCore::IDBCursorBackendImpl::continueFunctionInternal): + (WebCore::IDBCursorBackendImpl::remove): + (WebCore::IDBCursorBackendImpl::removeInternal): + * storage/IDBCursorBackendImpl.h: + (WebCore::IDBCursorBackendImpl::create): + * storage/IDBDatabase.cpp: + (WebCore::IDBDatabase::setSetVersionTransaction): + (WebCore::IDBDatabase::createObjectStore): + (WebCore::IDBDatabase::removeObjectStore): + (WebCore::IDBDatabase::setVersion): + (WebCore::IDBDatabase::close): + * storage/IDBDatabase.h: + * storage/IDBDatabase.idl: + * storage/IDBDatabaseBackendImpl.cpp: + (WebCore::IDBDatabaseBackendImpl::createObjectStore): + (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): + (WebCore::IDBDatabaseBackendImpl::removeObjectStore): + (WebCore::IDBDatabaseBackendImpl::removeObjectStoreInternal): + (WebCore::IDBDatabaseBackendImpl::setVersion): + (WebCore::IDBDatabaseBackendImpl::setVersionInternal): + (WebCore::IDBDatabaseBackendImpl::close): + * storage/IDBDatabaseBackendImpl.h: + * storage/IDBDatabaseBackendInterface.h: + * storage/IDBFactory.cpp: + (WebCore::IDBFactory::open): + * storage/IDBIndex.cpp: + (WebCore::IDBIndex::IDBIndex): + (WebCore::IDBIndex::openObjectCursor): + (WebCore::IDBIndex::openCursor): + (WebCore::IDBIndex::getObject): + (WebCore::IDBIndex::get): + * storage/IDBIndex.h: + (WebCore::IDBIndex::create): + * storage/IDBIndexBackendImpl.cpp: + (WebCore::IDBIndexBackendImpl::openCursorInternal): + (WebCore::IDBIndexBackendImpl::openObjectCursor): + (WebCore::IDBIndexBackendImpl::openCursor): + (WebCore::IDBIndexBackendImpl::getInternal): + (WebCore::IDBIndexBackendImpl::getObject): + (WebCore::IDBIndexBackendImpl::get): + * storage/IDBIndexBackendImpl.h: + * storage/IDBIndexBackendInterface.h: + * storage/IDBKey.cpp: + (WebCore::IDBKey::IDBKey): + * storage/IDBKey.h: + * storage/IDBKeyRange.h: + * storage/IDBObjectStore.cpp: + (WebCore::IDBObjectStore::IDBObjectStore): + (WebCore::IDBObjectStore::add): + (WebCore::IDBObjectStore::put): + (WebCore::IDBObjectStore::remove): + (WebCore::IDBObjectStore::createIndex): + (WebCore::IDBObjectStore::index): + (WebCore::IDBObjectStore::removeIndex): + (WebCore::IDBObjectStore::openCursor): + * storage/IDBObjectStore.idl: + * storage/IDBObjectStoreBackendImpl.cpp: + (WebCore::IDBObjectStoreBackendImpl::get): + (WebCore::IDBObjectStoreBackendImpl::getInternal): + (WebCore::IDBObjectStoreBackendImpl::put): + (WebCore::IDBObjectStoreBackendImpl::putInternal): + (WebCore::IDBObjectStoreBackendImpl::remove): + (WebCore::IDBObjectStoreBackendImpl::removeInternal): + (WebCore::IDBObjectStoreBackendImpl::createIndex): + (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): + (WebCore::IDBObjectStoreBackendImpl::removeIndex): + (WebCore::IDBObjectStoreBackendImpl::removeIndexInternal): + (WebCore::IDBObjectStoreBackendImpl::openCursor): + (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): + * storage/IDBObjectStoreBackendImpl.h: + * storage/IDBObjectStoreBackendInterface.h: + * storage/IDBRequest.cpp: + (WebCore::IDBRequest::IDBRequest): + (WebCore::IDBRequest::resetReadyState): + (WebCore::IDBRequest::onSuccess): + (WebCore::IDBRequest::timerFired): + * storage/IDBRequest.h: + (WebCore::IDBRequest::create): + * storage/IDBTransactionBackendImpl.cpp: + (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): + (WebCore::IDBTransactionBackendImpl::scheduleTask): + (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents): + (WebCore::IDBTransactionBackendImpl::run): + (WebCore::IDBTransactionBackendImpl::start): + (WebCore::IDBTransactionBackendImpl::commit): + (WebCore::IDBTransactionBackendImpl::timerFired): + * storage/IDBTransactionBackendImpl.h: + +2010-09-30 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Martin Robinson. + + [Gtk] build still broken since r68521 + https://bugs.webkit.org/show_bug.cgi?id=46795 + + makevalues.pl and makeprop.pl generate 3 files in one run. + Double or triple target is incorrect, because on a multicore + machine make processes targets in parallel. + + Setting a->b->c dependencies for 3 generated files guarantees + that make doesn't execute the recipe of the rule more than one. + + * GNUmakefile.am: Dependencies and missing headers added. + +2010-09-30 Andrey Kosyakov <caseq@chromium.org> + + Unreviewed build fix (marked ResourceRawHeaders.h as private) + + * WebCore.xcodeproj/project.pbxproj: + +2010-09-29 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: display headers actually used by network stack in Resources tab + https://bugs.webkit.org/show_bug.cgi?id=46092 + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible. + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::updateResponse): + * platform/network/ResourceRawHeaders.h: Added. + * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting. + (WebCore::ResourceRequestBase::reportRawHeaders): + (WebCore::ResourceRequestBase::setReportRawHeaders): + (WebCore::ResourceRequestBase::ResourceRequestBase): + * platform/network/ResourceResponseBase.cpp: Added support for raw headers. + (WebCore::ResourceResponseBase::resourceRawHeaders): + (WebCore::ResourceResponseBase::setResourceRawHeaders): + * platform/network/ResourceResponseBase.h: + +2010-09-29 Andrey Kosyakov <caseq@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: display headers actually used by network stack in Resources tab + https://bugs.webkit.org/show_bug.cgi?id=46092 + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::willSendRequest): enable raw headers reporting if front-end is visible. + * inspector/InspectorResource.cpp: + (WebCore::InspectorResource::updateResponse): + * platform/network/ResourceRawHeaders.h: Added. + * platform/network/ResourceRequestBase.h: Added flag to enable raw headers reporting. + (WebCore::ResourceRequestBase::reportRawHeaders): + (WebCore::ResourceRequestBase::setReportRawHeaders): + (WebCore::ResourceRequestBase::ResourceRequestBase): + * platform/network/ResourceResponseBase.cpp: Added support for raw headers. + (WebCore::ResourceResponseBase::resourceRawHeaders): + (WebCore::ResourceResponseBase::setResourceRawHeaders): + * platform/network/ResourceResponseBase.h: + +2010-09-30 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] V8 port: Unbreak build + + Add missing <wtf/text/CString.h> include. + + * loader/PingLoader.cpp: + +2010-09-29 Ilya Tikhonovsky <loislo@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: assign the resource loading finish time which was obtained from the network stack + as the end time for the corresponding event in Timeline. + See related change for Resources panel https://bugs.webkit.org/show_bug.cgi?id=45664 + + https://bugs.webkit.org/show_bug.cgi?id=46789 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didFinishLoading): + (WebCore::InspectorController::didFailLoading): + * inspector/InspectorTimelineAgent.cpp: + (WebCore::InspectorTimelineAgent::didFinishLoadingResource): + * inspector/InspectorTimelineAgent.h: + +2010-09-29 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: implement sorting by timeline in network panel + filtering. + https://bugs.webkit.org/show_bug.cgi?id=45657 + + A number of drive-by fixes, sorting by timeline added, + 0-based timeline for duration added, filters added, + more love for detailed view + nice headers. + + * English.lproj/localizedStrings.js: + * inspector/front-end/DataGrid.js: + (WebInspector.DataGrid): + (WebInspector.DataGrid.prototype.markColumnAsSortedBy): + (WebInspector.DataGrid.prototype.headerTableHeader): + * inspector/front-end/NetworkPanel.js: + (WebInspector.NetworkPanel): + (WebInspector.NetworkPanel.prototype.get statusBarItems): + (WebInspector.NetworkPanel.prototype._createTable): + (WebInspector.NetworkPanel.prototype._makeHeaderInnerHTML): + (WebInspector.NetworkPanel.prototype._createSortingFunctions): + (WebInspector.NetworkPanel.prototype._sortByTimeline): + (WebInspector.NetworkPanel.prototype._sortItems): + (WebInspector.NetworkPanel.prototype._createFilterPanel): + (WebInspector.NetworkPanel.prototype._showCategory): + (WebInspector.NetworkPanel.prototype._hideCategory): + (WebInspector.NetworkPanel.prototype._updateFilter): + (WebInspector.NetworkPanel.prototype._filter): + (WebInspector.NetworkPanel.prototype._updateDividersIfNeeded): + (WebInspector.NetworkPanel.prototype.reset): + (WebInspector.NetworkPanel.prototype._setLargerResources): + (WebInspector.NetworkDataGridNode.prototype.createCells): + (WebInspector.NetworkDataGridNode.prototype._createDivInTD): + (WebInspector.NetworkDataGridNode.prototype._refreshURLCell): + (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): + (WebInspector.NetworkDataGridNode.prototype._appendSubtitle): + (WebInspector.NetworkDataGridNode.SizeComparator): + (WebInspector.NetworkDataGridNode.ResourcePropertyComparator): + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel): + (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): + * inspector/front-end/StoragePanel.js: + (WebInspector.StoragePanel): + * inspector/front-end/TimelineGrid.js: + (WebInspector.TimelineGrid.prototype.updateDividers): + * inspector/front-end/TimelineOverviewPane.js: + (WebInspector.TimelineOverviewPane): + (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth): + * inspector/front-end/inspector.css: + (.data-grid th.sort-ascending > div::after): + (.data-grid th.sort-descending > div::after): + (.status-bar-items): + * inspector/front-end/networkPanel.css: + (.network.panel .data-grid td): + (.network.panel .data-grid th): + (.network.panel .data-grid.small th): + (.network.panel .data-grid .data-container): + (.network.panel .data-grid.small .data-container): + (.network.panel .data-grid select): + (.network.panel .data-grid td.time-column): + (.network-cell-subtitle): + (.network-header-subtitle): + (.network-event-divider): + (.network.panel .network-timeline-grid.small .network-event-divider): + (.network.panel .resources-dividers-label-bar): + (.network.panel .network-timeline-grid.small .resources-dividers-label-bar): + (.network.panel .resources-divider-label): + (.network.panel .resources-dividers-label-bar .resources-divider): + (.network.panel .network-timeline-grid.small .resources-dividers-label-bar .resources-divider): + (.network.panel .resources-divider.first .resources-divider-label): + (.network.panel .resources-dividers-label-bar .resources-divider.first): + (#network-filter): + (.data-grid table.data tr.revealed.network-category-websockets, .data-grid table.data tr.revealed.network-category-other): + (.data-grid.filter-all table.data tr.revealed.network-category-other, .data-grid.filter-other table.data tr.revealed.network-category-other): + +2010-09-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Ensure we always report a valid size for the video + + Some QtMultimedia-backends require a paint before even giving us + a size, so we start out by using the default video size, and then + update it once QtMultimedia starts feeding us valid sizes. + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): + (WebCore::MediaPlayerPrivateQt::nativeSizeChanged): + (WebCore::MediaPlayerPrivateQt::setSize): + (WebCore::MediaPlayerPrivateQt::naturalSize): + * platform/graphics/qt/MediaPlayerPrivateQt.h: + +2010-09-30 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Andreas Kling. + + RenderSVGTextPath lacks isSVGTextPath() method + https://bugs.webkit.org/show_bug.cgi?id=46888 + + Make RenderSVGTextPath objects easily detectable, using a isSVGTextPath() method, like all other SVG renderers have. + + * rendering/RenderObject.h: + (WebCore::RenderObject::isSVGTextPath): Return false. + * rendering/RenderSVGTextPath.h: Changed indentation of whole file. + (WebCore::RenderSVGTextPath::isSVGTextPath): Return true. + (WebCore::RenderSVGTextPath::renderName): + (WebCore::toRenderSVGTextPath): Add helper casting methods. + +2010-09-30 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + AffineTransform should expose methods calculating the x/y scale factors + https://bugs.webkit.org/show_bug.cgi?id=46887 + + Expose methods calculating the x/y scale factors for an AffineTransform. + + * platform/graphics/transforms/AffineTransform.cpp: + (WebCore::affineTransformDecompose): Move xScale / yScale calculations in their own functions. + (WebCore::AffineTransform::xScale): + (WebCore::AffineTransform::yScale): + * platform/graphics/transforms/AffineTransform.h: + +2010-09-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Ensure that the media player backend does not leave any resources around + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::~MediaPlayerPrivateQt): + +2010-09-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + Minor cleanup of MediaPlayerPrivateQt + + * platform/graphics/qt/MediaPlayerPrivateQt.cpp: + (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): + (WebCore::MediaPlayerPrivateQt::currentTime): + (WebCore::MediaPlayerPrivateQt::positionChanged): + (WebCore::MediaPlayerPrivateQt::paint): + +2010-09-30 Jochen Eisinger <jochen@chromium.org> + + Reviewed by Jeremy Orlow. + + Mark unused parameters as such. + https://bugs.webkit.org/show_bug.cgi?id=46880 + + * inspector/InspectorDOMAgent.cpp: + * page/Geolocation.cpp: + (WebCore::Geolocation::clearWatch): + +2010-09-29 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: extract Inspector Instrumentation API as a class. + https://bugs.webkit.org/show_bug.cgi?id=46614 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::send): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::sendCallback): + * dom/CharacterData.cpp: + (WebCore::CharacterData::dispatchModifiedEvent): + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::parserInsertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::appendChild): + (WebCore::ContainerNode::parserAddChild): + (WebCore::notifyChildInserted): + (WebCore::dispatchChildRemovalEvents): + * dom/Element.cpp: + (WebCore::Element::setAttribute): + (WebCore::Element::removeAttribute): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::instrumentWillSendXMLHttpRequest): + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: Added. + (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::characterDataModifiedImpl): + (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl): + * inspector/InspectorInstrumentation.h: Added. + (WebCore::InspectorInstrumentation::frontendCreated): + (WebCore::InspectorInstrumentation::frontendDeleted): + (WebCore::InspectorInstrumentation::hasFrontends): + (WebCore::InspectorInstrumentation::willInsertDOMNode): + (WebCore::InspectorInstrumentation::didInsertDOMNode): + (WebCore::InspectorInstrumentation::willRemoveDOMNode): + (WebCore::InspectorInstrumentation::willModifyDOMAttr): + (WebCore::InspectorInstrumentation::didModifyDOMAttr): + (WebCore::InspectorInstrumentation::characterDataModified): + (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest): + (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext): + (WebCore::InspectorInstrumentation::inspectorControllerForDocument): + (WebCore::InspectorInstrumentation::inspectorControllerForPage): + * workers/SharedWorker.cpp: + +2010-09-30 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Darin Adler. + + Build fix: Add ENABLE(INSPECTOR) guard + https://bugs.webkit.org/show_bug.cgi?id=46852 + + Page does not have inspectorController() when ENABLE(INSPECTOR) is 0. + + * inspector/InspectorController.h: + (WebCore::InspectorController::inspectorControllerForDocument): + +2010-09-30 Michael Nordman <michaeln@google.com> + + Reviewed by David Levin. + + Make it possible to copy platform specific data members of ResourceRequest and ResourceResponse + across threads and to compare platform specific data members of ResourceRequest. + - Added two instance methods to the platform specific subclasses: doPlatformAdopt and doPlatformCopyData. + - Also added a "shadowable" static method for platformCompare to ResourceRequestBase, a similar method + is already present on ResourceResponseBase. + - Converted the cross thread structs defined in ResourceRequest/ResponseBase.h to base + classes and extended those base classes in the platform specific headers to provide a place + to hold additional fields. + - Used this mechanism to have the chromium port's data members make the hop. + https://bugs.webkit.org/show_bug.cgi?id=46430 + + No new tests. Just plumbing. + + * WebCore.exp.in: removed the symbol for the now inlined == operator + * WebCore.gypi: added chromium/ResourceResponse.cpp + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::adopt): + (WebCore::ResourceRequestBase::copyData): + (WebCore::ResourceRequestBase::compare): + * platform/network/ResourceRequestBase.h: + (WebCore::ResourceRequestBase::platformCompare): + (WebCore::operator==): + (WebCore::operator!=): + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::asResourceResponse): + (WebCore::ResourceResponseBase::adopt): + (WebCore::ResourceResponseBase::copyData): + * platform/network/ResourceResponseBase.h: + * platform/network/android/ResourceRequest.h: + (WebCore::ResourceRequest::doPlatformCopyData): + (WebCore::ResourceRequest::doPlatformAdopt): + * platform/network/android/ResourceResponse.h: + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + * platform/network/cf/ResourceRequest.h: + (WebCore::ResourceRequest::doPlatformCopyData): + (WebCore::ResourceRequest::doPlatformAdopt): + * platform/network/cf/ResourceResponse.h: + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + * platform/network/chromium/ResourceRequest.cpp: + (WebCore::ResourceRequest::doPlatformCopyData): + (WebCore::ResourceRequest::doPlatformAdopt): + * platform/network/chromium/ResourceRequest.h: + * platform/network/chromium/ResourceResponse.cpp: Added. + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + * platform/network/chromium/ResourceResponse.h: + * platform/network/curl/ResourceRequest.h: + (WebCore::ResourceRequest::doPlatformCopyData): + (WebCore::ResourceRequest::doPlatformAdopt): + * platform/network/curl/ResourceResponse.h: + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + * platform/network/mac/ResourceRequest.h: + (WebCore::ResourceRequest::doPlatformCopyData): + (WebCore::ResourceRequest::doPlatformAdopt): + * platform/network/mac/ResourceResponse.h: + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + * platform/network/qt/ResourceRequest.h: + (WebCore::ResourceRequest::doPlatformCopyData): + (WebCore::ResourceRequest::doPlatformAdopt): + * platform/network/qt/ResourceResponse.h: + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + * platform/network/soup/ResourceRequest.h: + (WebCore::ResourceRequest::doPlatformCopyData): + (WebCore::ResourceRequest::doPlatformAdopt): + * platform/network/soup/ResourceResponse.h: + (WebCore::ResourceResponse::doUpdateResourceResponse): + (WebCore::ResourceResponse::doPlatformCopyData): + (WebCore::ResourceResponse::doPlatformAdopt): + +2010-09-29 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Put default initialize() and uninitialize() methods in AudioNode + https://bugs.webkit.org/show_bug.cgi?id=46767 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioNode.cpp: + (WebCore::AudioNode::initialize): + (WebCore::AudioNode::uninitialize): + * webaudio/AudioNode.h: + +2010-09-29 Kent Tamura <tkent@chromium.org> + + Reviewed by Dimitri Glazkov. + + Refactor HTMLInputElement: Make DeprecatedInputType private. + https://bugs.webkit.org/show_bug.cgi?id=46791 + + No new tests because this doesn't change any behavior. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::createTypeMap): + * html/HTMLInputElement.h: + Move DeprecatedInputType, deprecatedInputType() and + parseToDateComponents() to the private section, make + createTypeMap() a member function of HTMLInputElement. + (WebCore::HTMLInputElement::deprecatedInputType): + +2010-09-29 Mihai Parparita <mihaip@chromium.org> + + Reviewed by Darin Fisher. + + REGRESSION: page reload on back button after history.pushState with appearing/disappearing iframes + https://bugs.webkit.org/show_bug.cgi?id=46324 + + Revert same document check to the way it was before r66238 for history + entries created by pushState or fragment changes. Logic fror determining + if same document navigation should be used is moved to HistoryItem. + + Tests: fast/history/same-document-iframes-changing-fragment.html + fast/history/same-document-iframes-changing-pushstate.html + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::shouldDoSameDocumentNavigationTo): + (WebCore::HistoryItem::hasSameDocumentTree): + (WebCore::HistoryItem::hasSameFrames): + * history/HistoryItem.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadItem): + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadItem): + +2010-09-29 MORITA Hajime <morrita@google.com> + + Unreviewed build fix. + + WebCore::ESpeak causes missing symbol with no ENABLE_SVG + https://bugs.webkit.org/show_bug.cgi?id=46865 + + Moves ESpeak related function definitions outside ENABLE_SVG block. + + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator ESpeak): + (WebCore::CSSPrimitiveValue::operator EVectorEffect): + +2010-09-29 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioChannelSplitter files + https://bugs.webkit.org/show_bug.cgi?id=46290 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioChannelSplitter.cpp: Added. + (WebCore::AudioChannelSplitter::AudioChannelSplitter): + (WebCore::AudioChannelSplitter::process): + (WebCore::AudioChannelSplitter::reset): + * webaudio/AudioChannelSplitter.h: Added. + (WebCore::AudioChannelSplitter::create): + * webaudio/AudioChannelSplitter.idl: Added. + +2010-09-29 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by David Levin. + + Fix DirectoryReader's behavior to trigger only one EntriesCallback per readEntries + https://bugs.webkit.org/show_bug.cgi?id=46563 + + Test: fast/filesystem/read-directory.html + + * fileapi/DOMFileSystem.cpp: + (WebCore::DOMFileSystem::readDirectory): Changed to take DirectoryReader + as a parameter. + * fileapi/DOMFileSystem.h: + (WebCore::DOMFileSystem::scheduleCallback): Added. + * fileapi/DirectoryReader.cpp: + (WebCore::DirectoryReader::DirectoryReader): Added initializer for + m_hasMore flag. + (WebCore::DirectoryReader::readEntries): Changed to schedule + EntriesCallback with an empty array if m_hasMore flag is set false. + * fileapi/DirectoryReader.h: + (WebCore::DirectoryReader::filesystem): Added. + (WebCore::DirectoryReader::setHasMore): Added. + * fileapi/FileSystemCallbacks.cpp: + (WebCore::EntriesCallbacks::create): + (WebCore::EntriesCallbacks::EntriesCallbacks): Changed to take + DirectoryReader as a parameter. + (WebCore::EntriesCallbacks::didReadDirectoryEntry): + (WebCore::EntriesCallbacks::didReadDirectoryEntries): Changed 1) not to + trigger the second callback when hasMore is false, and 2) to update + the DirectoryReader's m_hasMore flag. + * fileapi/FileSystemCallbacks.h: + +2010-09-29 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioGainNode files + https://bugs.webkit.org/show_bug.cgi?id=46286 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioGainNode.cpp: Added. + (WebCore::AudioGainNode::AudioGainNode): + (WebCore::AudioGainNode::process): + (WebCore::AudioGainNode::reset): + (WebCore::AudioGainNode::checkNumberOfChannelsForInput): + * webaudio/AudioGainNode.h: Added. + (WebCore::AudioGainNode::create): + (WebCore::AudioGainNode::gain): + * webaudio/AudioGainNode.idl: Added. + +2010-09-29 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Add AudioChannelMerger files + https://bugs.webkit.org/show_bug.cgi?id=46291 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioChannelMerger.cpp: Added. + (WebCore::AudioChannelMerger::AudioChannelMerger): + (WebCore::AudioChannelMerger::process): + (WebCore::AudioChannelMerger::reset): + * webaudio/AudioChannelMerger.h: Added. + (WebCore::AudioChannelMerger::create): + * webaudio/AudioChannelMerger.idl: Added. + +2010-09-29 Chris Fleizach <cfleizach@apple.com> + + No review. Missed file for patch. + + AX: implement CSS3 Speech "speak" + https://bugs.webkit.org/show_bug.cgi?id=46827 + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + +2010-09-29 Enrica Casucci <enrica@apple.com> + + Reviewed by Darin Adler. + + Crash at lineBreakExistsAtPosition + 125 + <rdar://problem/7028809> + https://bugs.webkit.org/show_bug.cgi?id=46770 + + lineBreakExistsAtPosition is called from InsertTextCommand::input, + where we compute the downstream position of the endingSelection(). + Downstream can return the original position, that comes from a VisibleSelection + but there is no guarantee that its renderer is still there. Everywhere we dereference + a renderer we check if it's null. + + There is no regression test. + + * editing/htmlediting.cpp: + (WebCore::lineBreakExistsAtPosition): Added check that the renderer is not null + before dereferencing it. + +2010-09-29 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Add additional checks to StringBuilder. + <rdar://problem/7761248> + + * platform/text/StringBuilder.cpp: + (WebCore::checkAppend): + (WebCore::StringBuilder::append): + (WebCore::StringBuilder::toString): + (WebCore::StringBuilder::clear): + (WebCore::StringBuilder::length): + * platform/text/StringBuilder.h: + (WebCore::StringBuilder::StringBuilder): + (WebCore::StringBuilder::setNonNull): + (WebCore::StringBuilder::isNull): + +2010-09-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + plugins/npruntime/invoke-failure.html fails in WebKit2 due to slightly different exception being thrown + https://bugs.webkit.org/show_bug.cgi?id=46715 + <rdar://problem/8485909> + + Remove exclamation points from exceptions. + + * bindings/v8/V8NPObject.cpp: + (WebCore::npObjectInvokeImpl): + * bridge/c/c_instance.cpp: + (JSC::Bindings::CInstance::invokeMethod): + (JSC::Bindings::CInstance::invokeDefaultMethod): + (JSC::Bindings::CInstance::invokeConstruct): + +2010-09-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin Adler. + + Add additional check to Text::wholeText. + <rdar://problem/8304795> + + * dom/Text.cpp: + (WebCore::Text::wholeText): + +2010-09-29 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Brady Eidson. + + REGRESSION (r66129): Loading full-frame .swf file crashes with flash blocker extension enabled + <https://bugs.webkit.org/show_bug.cgi?id=46773> + <rdar://problem/8390975> + + After r66129, start scripts were run on plugin documents, and cancelling the load of a plugin + document could cause Safari to crash. + + If a plugin load on an initial document is cancelled, we cancel the main resource load (where the + main resource is the plugin), and if the load is restarted and allowed, we don't go through the manual + loading path like we do on the initial load of a plugin in a plugin document. + + Tests: plugins/plugin-document-load-prevented-userscript.html + plugins/plugin-document-willSendRequest-null.html + + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::updateWidget): If the plugin load was cancelled, and this is in a + plugin document, call a function on PluginDocument that cancels the main resource load, and + sets a plugin document flag. + * html/PluginDocument.cpp: + (WebCore::PluginDocumentParser::appendBytes): Null check the widget's renderer, because it could be + null if the load was cancelled. + (WebCore::PluginDocument::PluginDocument): Initialize the new variable. + (WebCore::PluginDocument::cancelManualPluginLoad): Cancel the main resource load of the plugin document + (which is a plugin in the case of a plugin document). + * html/PluginDocument.h: + (WebCore::PluginDocument::shouldLoadPluginManually): Returns whether or not we should load the plugin + manually. + (WebCore::PluginDocument::setShouldLoadPluginManually): Set whether or not we should load the plugin + manually. + (WebCore::toPluginDocument): + * loader/SubframeLoader.cpp: + (WebCore::SubframeLoader::loadPlugin): Check if we should load the plugin manually according to the plugin + document. + +2010-09-29 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=46844, make estimateLogicalTopPosition + block-flow-aware. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::estimateLogicalTopPosition): + (WebCore::RenderBlock::collapsedMarginBeforeForChild): + (WebCore::RenderBlock::collapsedMarginAfterForChild): + * rendering/RenderBlock.h: + +2010-09-29 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Minor cleanup to AudioContext + https://bugs.webkit.org/show_bug.cgi?id=46843 + + No new tests since audio API is not yet implemented + + * webaudio/AudioContext.cpp: + (WebCore::AudioContext::lock): + (WebCore::AudioContext::handleDeferredFinishDerefs): + +2010-09-29 MORITA Hajime <morrita@google.com> + + Reviewed by Eric Seidel. + + Assertion failed when accessing -webkit-margin-top-collapse via computed style. + https://bugs.webkit.org/show_bug.cgi?id=46798 + + There was a switch statement which missed enum entries in getPropertyCSSValue(). + This change added these entries to prevent the leak. + It also added extra case statements to encourage the compiler's help. + + Test: fast/css/getComputedStyle/margin-top-bottom-collapse-alias.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + +2010-09-29 Chris Rogers <crogers@google.com> + + Reviewed by Kenneth Russell. + + Limit number of AudioNode deletions per render quantum in AudioContext + https://bugs.webkit.org/show_bug.cgi?id=46834 + + No new tests since audio API is not yet implemented. + + * webaudio/AudioContext.cpp: + (WebCore::AudioContext::handlePostRenderTasks): + (WebCore::AudioContext::deleteMarkedNodes): + +2010-09-29 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=46838 + + Get rid of the marginXXXUsing/setMarginXXXUsing methods on RenderBox. I'm inverting the way these are called + and putting the methods on RenderBlock instead. The methods can be named better this way and the getters + can operate on RenderBoxModelObjects instead of just RenderBoxes. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChild): + (WebCore::RenderBlock::marginBeforeForChild): + (WebCore::RenderBlock::marginAfterForChild): + (WebCore::RenderBlock::marginStartForChild): + (WebCore::RenderBlock::marginEndForChild): + (WebCore::RenderBlock::setMarginStartForChild): + (WebCore::RenderBlock::setMarginEndForChild): + (WebCore::RenderBlock::setMarginBeforeForChild): + (WebCore::RenderBlock::setMarginAfterForChild): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::logicalHeightForChild): + (WebCore::RenderBlock::logicalTopForChild): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::marginBefore): + (WebCore::RenderBox::marginAfter): + (WebCore::RenderBox::marginStart): + (WebCore::RenderBox::marginEnd): + (WebCore::RenderBox::setMarginStart): + (WebCore::RenderBox::setMarginEnd): + (WebCore::RenderBox::setMarginBefore): + (WebCore::RenderBox::setMarginAfter): + (WebCore::RenderBox::computeLogicalWidth): + (WebCore::RenderBox::computeInlineDirectionMargins): + (WebCore::RenderBox::computeBlockDirectionMargins): + * rendering/RenderBox.h: + (WebCore::RenderBox::setMarginTop): + (WebCore::RenderBox::setMarginBottom): + (WebCore::RenderBox::setMarginLeft): + (WebCore::RenderBox::setMarginRight): + +2010-09-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + Removed input type site-specific quirk for mail.google.com + https://bugs.webkit.org/show_bug.cgi?id=46836 + + * bindings/js/JSHTMLInputElementCustom.cpp: + (WebCore::needsGmailQuirk): Removed. + (WebCore::JSHTMLInputElement::type): Removed this custom getter. + * html/HTMLInputElement.idl: Removed the JSCCustomGetter custom attribute + from the type attribute. + +2010-09-29 Joseph Pecoraro <joepeck@webkit.org> + + Reviewed by Simon Fraser. + + CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent + https://bugs.webkit.org/show_bug.cgi?id=46777 + + It should not be possible to get to be in the LoadingFromSourceElement + state with a null current source node. This was a possible scenario + where the current source node was cleared but the load state was not + cleared as well. Tried and could not create a test case for this. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::userCancelledLoad): clear the load state because we also clear the current source node. + +2010-09-29 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=46835, patch a few more height/logicalHeights. Rename stretchesToViewHeight. + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeLogicalHeight): + * rendering/RenderBox.h: + (WebCore::RenderBox::stretchesToViewport): + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::relativePositionOffsetY): + +2010-09-29 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + AX: implement CSS3 Speech "speak" + https://bugs.webkit.org/show_bug.cgi?id=46827 + + Support the "speak" style as defined in + http://www.w3.org/TR/css3-speech/#speak + + This puts all the pieces in place for a platform to support this ability, but there's no platform implementation yet. + + Test: platform/mac/accessibility/css-speech-speak.html + + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::speakProperty): + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::speakProperty): + * accessibility/AccessibilityRenderObject.h: + * accessibility/mac/AccessibilityObjectWrapper.mm: + (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator ESpeak): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValueKeywords.in: + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::speak): + (WebCore::InheritedFlags::setSpeak): + (WebCore::InheritedFlags::initialSpeak): + * rendering/style/RenderStyleConstants.h: + * rendering/style/StyleRareInheritedData.cpp: + (WebCore::StyleRareInheritedData::StyleRareInheritedData): + (WebCore::StyleRareInheritedData::operator==): + * rendering/style/StyleRareInheritedData.h: + +2010-09-29 João Paulo Rechi Vita <jprvita@profusion.mobi> + + Reviewed by Antonio Gomes. + + [Curl] Fix unused and unitialized warnings. + https://bugs.webkit.org/show_bug.cgi?id=46831 + + No new tests since no new funcionality has been added. + + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::allowsAnyHTTPSCertificateHosts): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::ResourceHandleManager): + (WebCore::handleLocalReceiveResponse): + (WebCore::ResourceHandleManager::downloadTimerCallback): + (WebCore::ResourceHandleManager::initializeHandle): + +2010-09-29 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=46824 + + Convert layoutBlockChild (but not the functions it calls) to be block-flow-aware. + + fast/blockflow/root-lr.html progresses as a result of this change. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::estimateLogicalTopPosition): + (WebCore::RenderBlock::determineLogicalLeftPositionForChild): + (WebCore::RenderBlock::setLogicalTopForChild): + (WebCore::RenderBlock::layoutBlockChild): + * rendering/RenderBlock.h: + (WebCore::RenderBlock::logicalHeightForChild): + (WebCore::RenderBlock::logicalTopForChild): + * rendering/RenderBox.h: + +2010-09-29 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Antonio Gomes. + + queryCommandValue "formatBlock" always returns false + https://bugs.webkit.org/show_bug.cgi?id=21305 + + Implemented queryCommandValue('formatBlock'). We match the Firefox's behavior exactly + because Firefox and Internet Explorer support the same set of elements + (address, h1, h2, h3, h4, h5, h6, and p) and Firefox's behavior is more compatible with Opera. + See the bug for the detailed discussion. + + WebKit's implementation returns the local name of the lowest common ancestor + of the selection with the tag name address, h1, h2, h3, h4, h5, h6, or p. + It returns "" when there is no such an ancestor or there is no selection. + + Test: editing/execCommand/query-format-block.html + + * editing/Editor.cpp: + (WebCore::isElementForFormatBlockCommand): + (WebCore::Editor::elementForFormatBlockCommand): + * editing/Editor.h: + * editing/EditorCommand.cpp: + (WebCore::valueFormatBlock): + (WebCore::createCommandMap): + +2010-09-29 Matt Perry <mpcomplete@chromium.org> + + Reviewed by Darin Fisher. + + Remove obsolete registerExtension variants from chromium port. + https://bugs.webkit.org/show_bug.cgi?id=46683 + + * bindings/v8/V8DOMWindowShell.cpp: + (WebCore::V8DOMWindowShell::createNewContext): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::registeredExtensionWithV8): + (WebCore::V8Proxy::registerExtension): + * bindings/v8/V8Proxy.h: + +2010-09-29 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Chris Fleizach. + + [GTK] editing/selection/selection-modify-crash.html crashes when run in Xvfb + https://bugs.webkit.org/show_bug.cgi?id=46822 + + When parentObjectUnignored returns null in objectAndOffsetUnignored consider that + a failure case. Handle this failure appropriately at all call sites. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_text_get_caret_offset): Handle the failure of objectAndOffsetUnignored. + (objectAndOffsetUnignored): Always check the return value of parentObjectUnignored and + return 0 to indicate failure when that happens. + * editing/gtk/SelectionControllerGtk.cpp: + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Handle the failure + case of objectAndOffsetUnignored. + +2010-09-29 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r68657. + http://trac.webkit.org/changeset/68657 + https://bugs.webkit.org/show_bug.cgi?id=46820 + + reason "Breaks win debug build" (Requested by podivilov on + #webkit). + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::send): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::sendCallback): + * dom/CharacterData.cpp: + (WebCore::CharacterData::dispatchModifiedEvent): + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::parserInsertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::appendChild): + (WebCore::ContainerNode::parserAddChild): + (WebCore::notifyChildInserted): + (WebCore::dispatchChildRemovalEvents): + * dom/Element.cpp: + (WebCore::Element::setAttribute): + (WebCore::Element::removeAttribute): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::willInsertDOMNodeImpl): + (WebCore::InspectorController::didInsertDOMNodeImpl): + (WebCore::InspectorController::willRemoveDOMNodeImpl): + (WebCore::InspectorController::didRemoveDOMNodeImpl): + (WebCore::InspectorController::willModifyDOMAttrImpl): + (WebCore::InspectorController::didModifyDOMAttrImpl): + (WebCore::InspectorController::characterDataModifiedImpl): + (WebCore::InspectorController::instrumentWillSendXMLHttpRequestImpl): + * inspector/InspectorController.h: + (WebCore::InspectorController::willInsertDOMNode): + (WebCore::InspectorController::didInsertDOMNode): + (WebCore::InspectorController::willRemoveDOMNode): + (WebCore::InspectorController::willModifyDOMAttr): + (WebCore::InspectorController::didModifyDOMAttr): + (WebCore::InspectorController::characterDataModified): + (WebCore::InspectorController::instrumentWillSendXMLHttpRequest): + (WebCore::InspectorController::inspectorControllerForScriptExecutionContext): + (WebCore::InspectorController::inspectorControllerForNode): + (WebCore::InspectorController::inspectorControllerForDocument): + * inspector/InspectorInstrumentation.cpp: Removed. + * inspector/InspectorInstrumentation.h: Removed. + * workers/SharedWorker.cpp: + +2010-09-29 Xiaomei Ji <xji@chromium.org> + + Reviewed by David Levin. + + Performance improvement for FontLinux. + https://bugs.webkit.org/show_bug.cgi?id=46374 + + Reduce new/delete operations by storing the maximum capacity of the glyph + array and use that value in subsequent HB_ShapeItem calls. (Note that a + call to HB_ShapeItem may reduce the value of m_item.num_glyphs below the + capacity.) + + Also be consistent with zero'ing the glyph arrays before calling + HB_ShapeItem. + + There is no functionality changes so no new tests are added. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::createGlyphArrays): + (WebCore::TextRunWalker::resetGlyphArrays): + (WebCore::TextRunWalker::shapeGlyphs): + +2010-09-29 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Pavel Feldman. + + Web Inspector: extract Inspector Instrumentation API as a class. + https://bugs.webkit.org/show_bug.cgi?id=46614 + + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSXMLHttpRequestCustom.cpp: + (WebCore::JSXMLHttpRequest::send): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::V8XMLHttpRequest::sendCallback): + * dom/CharacterData.cpp: + (WebCore::CharacterData::dispatchModifiedEvent): + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::insertBefore): + (WebCore::ContainerNode::parserInsertBefore): + (WebCore::ContainerNode::replaceChild): + (WebCore::ContainerNode::appendChild): + (WebCore::ContainerNode::parserAddChild): + (WebCore::notifyChildInserted): + (WebCore::dispatchChildRemovalEvents): + * dom/Element.cpp: + (WebCore::Element::setAttribute): + (WebCore::Element::removeAttribute): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::~InspectorController): + (WebCore::InspectorController::connectFrontend): + (WebCore::InspectorController::disconnectFrontend): + (WebCore::InspectorController::instrumentWillSendXMLHttpRequest): + * inspector/InspectorController.h: + * inspector/InspectorInstrumentation.cpp: Added. + (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): + (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): + (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl): + (WebCore::InspectorInstrumentation::characterDataModifiedImpl): + (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequestImpl): + * inspector/InspectorInstrumentation.h: Added. + (WebCore::InspectorInstrumentation::frontendCreated): + (WebCore::InspectorInstrumentation::frontendDeleted): + (WebCore::InspectorInstrumentation::hasFrontends): + (WebCore::InspectorInstrumentation::willInsertDOMNode): + (WebCore::InspectorInstrumentation::didInsertDOMNode): + (WebCore::InspectorInstrumentation::willRemoveDOMNode): + (WebCore::InspectorInstrumentation::willModifyDOMAttr): + (WebCore::InspectorInstrumentation::didModifyDOMAttr): + (WebCore::InspectorInstrumentation::characterDataModified): + (WebCore::InspectorInstrumentation::instrumentWillSendXMLHttpRequest): + (WebCore::InspectorInstrumentation::inspectorControllerForScriptExecutionContext): + (WebCore::InspectorInstrumentation::inspectorControllerForDocument): + (WebCore::InspectorInstrumentation::inspectorControllerForPage): + +2010-09-29 David Hyatt <hyatt@apple.com> + + Reviewed by Sam Weinig. + + https://bugs.webkit.org/show_bug.cgi?id=46786, convert layoutBlockChild (but not any functions it calls) + to be block-flow-aware. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + (WebCore::RenderBlock::handleAfterSideOfBlock): + (WebCore::RenderBlock::layoutBlockChildren): + * rendering/RenderBlock.h: + * rendering/RenderBox.h: + (WebCore::RenderBox::scrollbarLogicalHeight): + +2010-09-29 João Paulo Rechi Vita <jprvita@profusion.mobi> + + Reviewed by Antonio Gomes. + + [EFL] General small fixes. + https://bugs.webkit.org/show_bug.cgi?id=46813 + + This commit spots a comparison between signed and unsigned integer + expressions, a missing return and a never-called function. + + No new tests since no new funcionality has been added. + + * platform/efl/SharedBufferEfl.cpp: + (WebCore::SharedBuffer::createWithContentsOfFile): + 2010-09-29 Philippe Normand <pnormand@igalia.com> Reviewed by Gustavo Noronha Silva. @@ -58398,7 +72823,7 @@ Continuation outlines are normally painted by the containing block. However, when the block and the inline are not enclosed by the same self-painting layer, the inline has to paint its own outlines. This was handled correctly only for the case where the inline had - its own self-painting layer, but now when an ancestor inline had the self-painting layer. + its own self-painting layer, but not when an ancestor inline had the self-painting layer. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test |