2010-11-17 Sheriff Bot Unreviewed, rolling out r72228. http://trac.webkit.org/changeset/72228 https://bugs.webkit.org/show_bug.cgi?id=49712 Caused many >10 regressions on Win and Linux gpu layout test runs. (Requested by dave_levin on #webkit). * html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::onAccess): (WebCore::WebGLFramebuffer::initializeRenderbuffers): * html/canvas/WebGLFramebuffer.h: * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::clear): (WebCore::WebGLRenderingContext::copyTexImage2D): (WebCore::WebGLRenderingContext::copyTexSubImage2D): (WebCore::WebGLRenderingContext::drawArrays): (WebCore::WebGLRenderingContext::drawElements): (WebCore::WebGLRenderingContext::readPixels): (WebCore::WebGLRenderingContext::texImage2DBase): 2010-11-17 Sheriff Bot Unreviewed, rolling out r72243. http://trac.webkit.org/changeset/72243 https://bugs.webkit.org/show_bug.cgi?id=49710 Seemed to cause a large set of Chromium layout test to start failing. (Requested by dave_levin on #webkit). * bindings/v8/V8NPUtils.cpp: (WebCore::convertV8ObjectToNPVariant): 2010-11-17 Adam Roben Fix Acid3 in Safari for Windows Reviewed by Dave Hyatt. * platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::initGDIFont): Initialize all our metrics to 0 if we have a font size of 0. 2010-11-17 Dimitri Glazkov Reviewed by Darin Adler. Converge means of querying a parent node into one way, which is Node::parentNode. https://bugs.webkit.org/show_bug.cgi?id=49686 No change in behavior, so no new tests. * accessibility/AccessibilityObject.cpp: (WebCore::renderListItemContainerForNode): Changed to use parentNode. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::mouseButtonListener): Ditto. (WebCore::siblingWithAriaRole): Ditto. (WebCore::AccessibilityRenderObject::getDocumentLinks): Ditto. (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): Ditto. * accessibility/mac/AccessibilityObjectWrapper.mm: Ditto. (blockquoteLevel): Ditto. * bindings/v8/V8GCController.cpp: (WebCore::ObjectGrouperVisitor::visitDOMWrapper): Ditto. * dom/ContainerNode.cpp: Ditto. (WebCore::ContainerNode::insertBefore): Ditto. (WebCore::ContainerNode::insertBeforeCommon): Ditto. (WebCore::ContainerNode::replaceChild): Ditto. (WebCore::ContainerNode::removeChild): Ditto. (WebCore::ContainerNode::appendChild): Ditto. (WebCore::ContainerNode::parserAddChild): Ditto. * dom/DocumentType.cpp: (WebCore::DocumentType::insertedIntoDocument): Ditto. * dom/Element.cpp: (WebCore::Element::computeInheritedLanguage): Ditto. * dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::receivedTarget): Ditto. * dom/Position.cpp: (WebCore::Position::isCandidate): Changed to use parentNode. * dom/PositionIterator.cpp: (WebCore::PositionIterator::isCandidate): Ditto. * editing/AppendNodeCommand.cpp: (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto. * editing/ApplyStyleCommand.cpp: (WebCore::dummySpanAncestorForNode): Ditto. (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Ditto. (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Ditto. (WebCore::highestEmbeddingAncestor): Ditto. (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto. (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto. (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto. * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::splitTreeToNode): Ditto. * editing/DeleteSelectionCommand.cpp: (WebCore::updatePositionForNodeRemoval): Ditto. * editing/Editor.cpp: (WebCore::Editor::textDirectionForSelection): Ditto. * editing/MergeIdenticalElementsCommand.cpp: (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto. * editing/htmlediting.cpp: (WebCore::isEmptyTableCell): Ditto. * editing/markup.cpp: (WebCore::StyledMarkupAccumulator::serializeNodes): Ditto. * editing/visible_units.cpp: (WebCore::previousLinePosition): Ditto. (WebCore::nextLinePosition): Ditto. * html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::imageElement): Ditto. * html/HTMLElement.cpp: (WebCore::HTMLElement::setOuterHTML): Ditto. (WebCore::HTMLElement::insertAdjacent): Ditto. (WebCore::HTMLElement::supportsFocus): Ditto. * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto. (WebCore::HTMLEmbedElement::attributeChanged): Ditto. * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::insertRow): Ditto. * html/HTMLTableRowsCollection.cpp: Ditto. (WebCore::isInHead): Ditto. (WebCore::isInBody): Ditto. (WebCore::isInFoot): Ditto. (WebCore::HTMLTableRowsCollection::rowAfter): Ditto. * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::addRange): Ditto. * html/MediaDocument.cpp: (WebCore::MediaDocument::replaceMediaElementTimerFired): Ditto. * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::attach): Ditto. (WebCore::HTMLConstructionSite::findFosterSite): Ditto. * html/parser/HTMLTreeBuilder.cpp: * page/FocusController.cpp: (WebCore::FocusController::findFocusableNodeInDirection): Ditto. * rendering/MediaControlElements.cpp: (WebCore::MediaControlElement::rendererIsNeeded): Ditto. (WebCore::MediaControlElement::attach): Ditto. (WebCore::MediaControlElement::updateStyle): Ditto. (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto. (WebCore::MediaControlInputElement::attach): Ditto. (WebCore::MediaControlInputElement::updateStyle): Ditto. * rendering/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::gradientElement): Ditto. * svg/SVGAElement.cpp: (WebCore::SVGAElement::createRenderer): Ditto. (WebCore::SVGAElement::childShouldCreateRenderer): Ditto. * svg/SVGFELightElement.cpp: (WebCore::SVGFELightElement::svgAttributeChanged): Ditto. (WebCore::SVGFELightElement::childrenChanged): Ditto. * svg/SVGFEMergeNodeElement.cpp: (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Ditto. * svg/SVGLength.cpp: (WebCore::SVGLength::determineViewport): Ditto. * svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Ditto. * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree): Ditto. * svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::insertedIntoDocument): Ditto. * xml/XPathNodeSet.cpp: (WebCore::XPath::NodeSet::sort): Ditto. * xml/XPathStep.cpp: (WebCore::XPath::Step::nodesInAxis): Ditto. * xml/XSLTProcessorLibxslt.cpp: (WebCore::xsltStylesheetPointer): Ditto. 2010-11-17 Kenneth Rohde Christiansen Reviewed by Andreas Kling. ScrollView: Don't translate by scrollX/scrollY or clip when paintsEntireContents() This makes paint() with paintEntireContents() do exactly what it's supposed to: paint from 0,0 to contentsSize(). The clipping was a no-op anyway since visibleContentRect() will return the whole rect in paintsEntireContents() mode. * platform/ScrollView.cpp: (WebCore::ScrollView::paint): 2010-11-17 Kenneth Rohde Christansen Reviewed by Andreas Kling. ScrollView: Update the actualVisibleContentRect after delegating a scroll. This lets us avoid updating the actualVisibleContentRect from the client after each scroll. We had to do this synchronously for WebKit2 to support programmatic "animated scrolling" from JS. * platform/ScrollView.cpp: (WebCore::ScrollView::setScrollPosition): 2010-11-17 Andreas Kling Reviewed by Kenneth Rohde Christiansen. ScrollView: Decouple actualVisibleContentRect from visibleContentRect Added actualVisibleContentRect() which will return the override provided by setActualVisibleContentRect() or fall back to visibleContentRect() if no override has been set. This is similar to what the iPhone does. * platform/ScrollView.cpp: (WebCore::ScrollView::visibleContentRect): * platform/ScrollView.h: (WebCore::ScrollView::actualVisibleContentRect): (WebCore::ScrollView::setActualVisibleContentRect): IntRect -> const IntRect& 2010-11-17 Tony Chang Reviewed by Adam Barth. [chromium] fix get-int-identifier-special-values.html using TestNetscapePlugIn https://bugs.webkit.org/show_bug.cgi?id=49036 No new tests: Covered by plugins/npruntime/get-int-identifier-special-values.html In http://codereview.chromium.org/11574, the forked chromium test plugin changed how it testGetIntIdentifier to work around a change caused by a silverlight specific plugin fix: http://codereview.chromium.org/11569/diff/1/2 It's not clear to me that this change is needed anymore since silverlight has had multiple releases, testing without this patch works on a test windows build, and safari win seems to run silverlight without this either. Since there's no test for this behavior, I'm rolling it out so we can match the upstream test. * bindings/v8/V8NPUtils.cpp: (WebCore::convertV8ObjectToNPVariant): 2010-11-17 Andreas Kling Reviewed by Kenneth Rohde Christiansen. ScrollView: Let visibleContentRect() return the contentsSize() if paintsEntireContents() * platform/ScrollView.cpp: (WebCore::ScrollView::visibleContentRect): 2010-11-17 James Simonsen Reviewed by Tony Chang. [chromium] Fix negative letter spacing in complex text on linux https://bugs.webkit.org/show_bug.cgi?id=49563 Test: fast/text/atsui-negative-spacing-features.html * platform/graphics/chromium/FontLinux.cpp: Make spacing signed. 2010-11-17 Andreas Kling Reviewed by Kenneth Rohde Christiansen. ScrollView: Avoid unnecessary work in setScrollPosition() when scrolling is delegated. * platform/ScrollView.cpp: (WebCore::ScrollView::setScrollPosition): If delegatesScrolling(), we never use the newScrollPosition, so move that calculation below the delegation path. 2010-11-17 Dave Hyatt Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=48537 Fonts with no vertical metrics should synthesize baselines when they appear on lines that do use fonts with vertical metrics. Basically we want to make sure that English text behaves like vertical-align:middle, i.e., its baseline should be treated as though it cuts through the middle of the ascent+descent. The way this works is that each line in the line box tree is labeled as having a baseline type that is either ideographic or alphabetic for the purposes of vertical alignment. A line becomes ideographic if any font with vertical tables is either explicitly specified as the primary font or in any of the used fonts in the text on that line. This baselineType is passed down to computeLogicalBoxHeights and placeBoxesInBlockDirection, and passed to the ascent and descent methods of the fonts that are examined. The underlying Font code selects an appropriate baseline given the type passed in. This patch also rewrites vertical alignment to lop 4 bytes off all RenderInlines and to instead carry around the cached vertical positions for RenderInlines in a new VerticalPositionCache object. This cache only lives for a single layout operation, but it does cache information across all the lines built and placed during the layout. This matches the old behavior, since every call to layoutInlineChildren invalidated all of the vertical positions in all of the RenderInlines anyway. The VerticalPositionCache consists of two HashMaps, and it caches vertical alignment positions for both alphabetic and ideographic baseline types. The vertical-align computation has now been moved out of RenderBoxModelObject and RenderInline and just placed right into verticalPositionForBox in InlineFlowBox. This function has been changed to no longer be recursive when checking parents, and it now relies on the fact that the parent vertical alignment computation result has already been stored in the logicalTop() of that parent's line box. By checking the line box logicalTop() value instead of recurring, the performance of first lines now significantly improves to no longer have O(n^2) behavior in the depth of the line box tree on the first line. All of the baselinePosition functions on the various RenderObjects have been amended to take a FontBaseline as the first argument. This patch does not attempt to fix up MathML or form controls yet and just hardcodes AlphabeticBaselines for those renderers. The RenderTableCell baselinePosition virtual method has been made non-virtual and had all arguments removed, since it actually had no real connection with the rest of the baseline positioning system. Cell baseline positioning works by calling firstLineBoxBaseline, and that method has been patched to use the cached baselineType for the first line box when computing the baseline of that line. Added fast/blockflow/vertical-baseline-alignment.html and fast/blockflow/vertical-align-table-baseline.html. * 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: * platform/graphics/SimpleFontData.h: * rendering/InlineBox.h: (WebCore::InlineBox::baselinePosition): * rendering/InlineFlowBox.cpp: (WebCore::verticalPositionForBox): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesInBlockDirection): * rendering/InlineFlowBox.h: * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::baselinePosition): * rendering/InlineTextBox.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::baselinePosition): (WebCore::RenderBlock::firstLineBoxBaseline): (WebCore::RenderBlock::lastLineBoxBaseline): * rendering/RenderBlock.h: * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeBlockDirectionPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren): * rendering/RenderBox.cpp: (WebCore::RenderBox::baselinePosition): * rendering/RenderBox.h: * rendering/RenderBoxModelObject.cpp: * rendering/RenderBoxModelObject.h: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): * rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): (WebCore::RenderInline::baselinePosition): * rendering/RenderInline.h: * rendering/RenderListBox.cpp: (WebCore::RenderListBox::baselinePosition): * rendering/RenderListBox.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::baselinePosition): * rendering/RenderListMarker.h: * rendering/RenderSlider.cpp: (WebCore::RenderSlider::baselinePosition): * rendering/RenderSlider.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::baselinePosition): * rendering/RenderTableCell.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::baselinePosition): * rendering/RenderTextControlMultiLine.h: * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::alignBoxesInBlockDirection): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::baselinePosition): * rendering/VerticalPositionCache.h: Added. (WebCore::VerticalPositionCache::VerticalPositionCache): (WebCore::VerticalPositionCache::get): (WebCore::VerticalPositionCache::set): * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateBoundaries): 2010-11-17 Sam Weinig Reviewed by Anders Carlsson. Add stubbed out ScrollAnimator for the Mac https://bugs.webkit.org/show_bug.cgi?id=49678 * WebCore.xcodeproj/project.pbxproj: Add ScrollAnimator.h/cpp. * platform/mac/ScrollAnimatorMac.cpp: Added. (WebCore::ScrollAnimator::create): (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac): (WebCore::ScrollAnimatorMac::scroll): (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation): * platform/mac/ScrollAnimatorMac.h: Added. ScrollAnimatorMac just calls through to the base class for now. 2010-11-17 Cris Neckar Reviewed by Adam Barth. Modified codepath for object fallback content which has failed to load. Refactored CachedResource error handling to use more granular statuses instead of a boolean value. https://bugs.webkit.org/show_bug.cgi?id=46921 Test: fast/html/object-image-nested-fallback.html * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::renderFallbackContent): * loader/cache/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::error): * loader/cache/CachedCSSStyleSheet.h: * loader/cache/CachedFont.cpp: (WebCore::CachedFont::ensureCustomFontData): (WebCore::CachedFont::error): * loader/cache/CachedFont.h: * loader/cache/CachedImage.cpp: (WebCore::CachedImage::data): (WebCore::CachedImage::error): * loader/cache/CachedImage.h: * loader/cache/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::canUseCacheValidator): (WebCore::CachedResource::mustRevalidate): * loader/cache/CachedResource.h: (WebCore::CachedResource::error): (WebCore::CachedResource::httpStatusCodeError): (WebCore::CachedResource::errorOccurred): * loader/cache/CachedScript.cpp: (WebCore::CachedScript::error): * loader/cache/CachedScript.h: * loader/cache/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::error): * loader/cache/CachedXSLStyleSheet.h: * loader/loader.cpp: (WebCore::Loader::load): (WebCore::Loader::didFinishLoading): (WebCore::Loader::didFail): (WebCore::Loader::didReceiveData): 2010-11-16 Zhenyao Mo Reviewed by Kenneth Russell. WebGLRenderingContext needs to zero textures and renderbuffers https://bugs.webkit.org/show_bug.cgi?id=49355 Test: fast/canvas/webgl/uninitialized-test.html * html/canvas/WebGLFramebuffer.cpp: (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed. (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist. * html/canvas/WebGLFramebuffer.h: Modify onAccess function signature. * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter. (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto. (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto. (WebCore::WebGLRenderingContext::drawArrays): Ditto. (WebCore::WebGLRenderingContext::drawElements): Ditto. (WebCore::WebGLRenderingContext::readPixels): Ditto. (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures. 2010-11-17 Ryosuke Niwa Reviewed by Darin Adler. Merge ScriptElement and ScriptElementData https://bugs.webkit.org/show_bug.cgi?id=49647 Merged two classes. * dom/AsyncScriptRunner.cpp: (WebCore::AsyncScriptRunner::executeScriptSoon): Takes ScriptElement* instead of ScriptElementData*. (WebCore::AsyncScriptRunner::timerFired): Uses ScriptElement* instead of ScriptElementData*. * dom/AsyncScriptRunner.h: * dom/ScriptElement.cpp: (WebCore::ScriptElement::ScriptElement): Merged with ScriptElementData::ScriptElementData. (WebCore::ScriptElement::~ScriptElement): Merged with ScriptElementData::~ScriptElementData. (WebCore::ScriptElement::insertedIntoDocument): Calls createdByParser, isAsynchronous, requestScript, and scriptContent. (WebCore::ScriptElement::removedFromDocument): Calls stopLoadRequest. (WebCore::ScriptElement::childrenChanged): Calls createdByParser and accesses m_element. (WebCore::ScriptElement::finishParsingChildren): Calls scriptContent. (WebCore::ScriptElement::handleSourceAttribute): Calls ignoresLoadRequest and requestScript. (WebCore::ScriptElement::requestScript): Moved from ScriptElementData; calls dispatchErrorEvent. (WebCore::ScriptElement::evaluateScript): Moved from ScriptElementData. (WebCore::ScriptElement::executeScript): Ditto. (WebCore::ScriptElement::stopLoadRequest): Ditto. (WebCore::ScriptElement::execute): Moved from ScriptElementData; calls dispatchErrorEvent and dispatchLoadEvent. (WebCore::ScriptElement::notifyFinished): Moved from ScriptElementData. (WebCore::ScriptElement::ignoresLoadRequest): Ditto. (WebCore::ScriptElement::shouldExecuteAsJavaScript): Moved from ScriptElementData; calls typeAttributeValue, languageAttributeValue, forAttributeValue, and eventAttributeValue. (WebCore::ScriptElement::scriptCharset): Moved from ScriptElementData. (WebCore::ScriptElement::scriptContent): Ditto. (WebCore::ScriptElement::isAsynchronous): Moved from ScriptElementData; calls sourceAttributeValue and asyncAttributeValue. (WebCore::ScriptElement::isDeferred): Moved from ScriptElementData; calls sourceAttributeValue, asyncAttributeValue, and deferAttributeValue. * dom/ScriptElement.h: (WebCore::ScriptElement::element): (WebCore::ScriptElement::haveFiredLoadEvent): (WebCore::ScriptElement::setHaveFiredLoadEvent): (WebCore::ScriptElement::createdByParser): (WebCore::ScriptElement::isEvaluated): 2010-11-17 Tenghui Zhu Reviewed by Jeremy Orlow. profileCallback and profileEndCallback should be guarded with ENABLE_JAVASCRIPT_DEBUGGER https://bugs.webkit.org/show_bug.cgi?id=49623 No new tests. Just a compiling error fix. * bindings/v8/custom/V8ConsoleCustom.cpp: Add the guard ENABLE_JAVA_SCRIPT_DEBUGGER to profileCallback and profileEndCallback 2010-11-17 John Knottenbelt Reviewed by Jeremy Orlow. Introduce GeoNotifierVector typedef for increased readability https://bugs.webkit.org/show_bug.cgi?id=49597 * page/Geolocation.cpp: (WebCore::Geolocation::Watchers::getNotifiersVector): (WebCore::Geolocation::sendError): (WebCore::Geolocation::sendPosition): (WebCore::Geolocation::stopTimer): (WebCore::Geolocation::stopTimersForOneShots): (WebCore::Geolocation::stopTimersForWatchers): (WebCore::Geolocation::cancelRequests): (WebCore::Geolocation::cancelAllRequests): (WebCore::Geolocation::handleError): (WebCore::Geolocation::makeSuccessCallbacks): * page/Geolocation.h: 2010-11-17 John Knottenbelt Reviewed by Jeremy Orlow. Convert correctly between GeolocationPosition and Geoposition timestamp formats. https://bugs.webkit.org/show_bug.cgi?id=48518 Test: fast/dom/Geolocation/timestamp.html * page/Geolocation.cpp: (WebCore::createGeoposition): 2010-11-17 Chang Shu Reviewed by Antonio Gomes. [Mac] Suppress single select popup menu when spatial navigation is enabled on Mac. This makes spatial navigation work properly for single select box. Test: fast/events/spatial-navigation/snav-single-select.html * dom/SelectElement.cpp: (WebCore::nextValidIndex): (WebCore::SelectElement::menuListDefaultEventHandler): 2010-11-17 Satish Sampath Reviewed by Jeremy Orlow. Clear the speech input mock explicitly before each test. https://bugs.webkit.org/show_bug.cgi?id=49660 * platform/mock/SpeechInputClientMock.cpp: (WebCore::SpeechInputClientMock::clearResults): Added clearResults method. * platform/mock/SpeechInputClientMock.h: 2010-11-17 Alexander Pavlov [Chromium] Unreviewed, fix Chromium-Mac build from r72189. * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::getDoubleValue): 2010-11-17 Hans Wennborg Reviewed by Jeremy Orlow. IndexedDB: IDBKey::whereSyntax should impose conditions on all columns https://bugs.webkit.org/show_bug.cgi?id=49601 The WHERE clause should specifiy a condition for each key column to make sure that the ObjectStoreData_composit index can be used when querying the object store based on key. Not using the index causes severe performance degradation for common IDB operations. * storage/IDBKey.cpp: (WebCore::IDBKey::whereSyntax): 2010-11-17 Eric Uhrhane Reviewed by David Levin. [Chromium] implementation of async FileWriter for workers https://bugs.webkit.org/show_bug.cgi?id=47681 Tests are in a separate changelist. * platform/CrossThreadCopier.h: Changed CrossThreadCopier[Base] to support PassRefPtrs 2010-11-17 Alejandro G. Castro Reviewed by Martin Robinson. [gtk] r69119 modified just the gtk2 version of the scrolled_window_paint function but not the gtk3 version https://bugs.webkit.org/show_bug.cgi?id=49585 Use gtk_paint_shadow the same as the actual code from GTK+. Avoid using state and use the same values we are using for gtk2 in the paint function. * platform/gtk/ScrollbarThemeGtk.cpp: (WebCore::ScrollbarThemeGtk::paintButton): Initialized the depressed attribute of the state variable to avoid using it without initialization. * platform/gtk/gtk3drawing.c: (moz_gtk_scrolled_window_paint): 2010-11-16 Alexander Pavlov Reviewed by Simon Fraser. CSSPrimitiveValue.getFloatValue does not convert sizes https://bugs.webkit.org/show_bug.cgi?id=35770 Implemented all same-category unit conversions (length, angle, time, frequency) and retained absolute-relative (cm, mm, in, pt, pc) length conversions intact. Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException. * css/CSSPrimitiveValue.cpp: (WebCore::unitCategory): (WebCore::conversionToCanonicalUnitsScaleFactor): (WebCore::CSSPrimitiveValue::getDoubleValue): (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): (WebCore::CSSPrimitiveValue::getDoubleValueInternal): (WebCore::CSSPrimitiveValue::getIdent): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::getFloatValue): (WebCore::CSSPrimitiveValue::getIntValue): 2010-11-17 Ademar de Souza Reis Jr. Reviewed by Andreas Kling. Document::nodesFromRect() has wrong source code documentation https://bugs.webkit.org/show_bug.cgi?id=49610 * dom/Document.h: fix nodesFromRect() documentation 2010-11-17 Alexis Menard , Simon Hausmann Reviewed by Kenneth Christiansen, Tor Arne Vestbø. [Qt] Add support for use GStreamer with the Qt build Make it possible to use gstreamer with the Qt build via the USE_GSTREAMER macro. The integration is rather basic at this point, allowing for software based rendering only at the moment. AC integration and fullscreen playback is still missing. * WebCore.pro: Added a bunch of gstreamer files to the build and guard it as a build option with the USE_GSTREAMER macro. * platform/graphics/MediaPlayer.cpp: (WebCore::installedMediaEngines): Don't use the generic media player registration when using GStreamer. These #ifdefs should be removed, but the gstreamer folks want to be able to build with gstreamer _and_ another backend simultaenously. * platform/graphics/gstreamer/ImageGStreamer.h: * platform/graphics/gstreamer/ImageGStreamerQt.cpp: Added. (ImageGStreamer::createImage): (ImageGStreamer::ImageGStreamer): (ImageGStreamer::~ImageGStreamer): * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: Added. * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: Added. (FullScreenVideoWindow::FullScreenVideoWindow): (FullScreenVideoWindow::keyPressEvent): (FullScreenVideoWindow::event): (PlatformVideoWindow::PlatformVideoWindow): (PlatformVideoWindow::~PlatformVideoWindow): (PlatformVideoWindow::prepareForOverlay): 2010-11-17 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: [REGRESSION] editing disabled styles breaks style bodies. https://bugs.webkit.org/show_bug.cgi?id=49602 * inspector/InspectorStyleSheet.cpp: (WebCore::InspectorStyle::setPropertyText): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.get name): (WebInspector.StylePropertyTreeElement.prototype.get priority): (WebInspector.StylePropertyTreeElement.prototype.get value): 2010-11-16 Adam Roben Move QTMovieWin's settings into a vsprops file Fixes QTMovieWin should use a vsprops file Reviewed by Steve Falkenburg. * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/QTMovieWinCommon.vsprops: Added. 2010-11-16 Andy Estes Reviewed by Dave Hyatt. WebKit mishandles line boxes where the content height exceeds the specified line-height. https://bugs.webkit.org/show_bug.cgi?id=49410 If a line height is explicitly specified on a text box and fallback fonts are in use, only the primary font should be considered when computing the box's ascent and descent. This prevents the inline box from being sized larger than the specified line height. This patch also fixes a math error when computing a used font's descent in the case where line height isn't explicitly set. This change results in a number of layout tests needing re-baselining. Test: fast/css/line-height-determined-by-primary-font.html * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::computeLogicalBoxHeights): 2010-11-15 Ryosuke Niwa Reviewed by Darin Adler. ScriptElementData should be a private member of ScriptElement https://bugs.webkit.org/show_bug.cgi?id=49578 Privatized m_data of ScriptElement. Added haveFiredLoadEvent, setHaveFiredLoadEvent, createdByParser, and isEvaluated to ScriptElement to proxy calls from HTMLScriptElement and SVGScriptElement to ScriptElementData. No tests are added since this is a cleanup. * dom/ScriptElement.h: (WebCore::ScriptElement::haveFiredLoadEvent): Added. (WebCore::ScriptElement::setHaveFiredLoadEvent): Added. (WebCore::ScriptElement::createdByParser): Added. (WebCore::ScriptElement::isEvaluated): Added. * html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent and setHaveFiredLoadEvent. (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren): Calls isEvaluated. * html/HTMLScriptElement.h: (WebCore::HTMLScriptElement::text): Calls scriptContent. (WebCore::HTMLScriptElement::haveFiredLoadEvent): Calls haveFiredLoadEvent. * svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::svgAttributeChanged): Calls haveFiredLoadEvent and createdByParser. (WebCore::SVGScriptElement::insertedIntoDocument): Calls createdByParser. (WebCore::SVGScriptElement::finishParsingChildren): Calls setHaveFiredLoadEvent. (WebCore::SVGScriptElement::haveLoadedRequiredResources): Ditto. (WebCore::SVGScriptElement::dispatchLoadEvent): Calls haveFiredLoadEvent. (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren): Calls createdByParser, haveFiredLoadEvent, and setHaveFiredLoadEvent. 2010-11-16 Antti Koivisto Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49320 Minor ResourceLoadScheduler cleanups * loader/ResourceLoadScheduler.cpp: (WebCore::ResourceLoadScheduler::scheduleLoad): (WebCore::ResourceLoadScheduler::servePendingRequests): (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation): (WebCore::ResourceLoadScheduler::HostInformation::remove): (WebCore::ResourceLoadScheduler::HostInformation::hasRequests): * loader/ResourceLoadScheduler.h: 2010-11-16 Dave Hyatt Reviewed by Sam Weinig. Add a baselineType member to RootInlineBox that caches whether the default baseline behavior for that line should be ideographic or alphabetic. Add a requiresIdeographicsBaseline recursive function to InlineFlowBox that scans for the use of any vertical fonts. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::requiresIdeographicBaseline): * rendering/InlineFlowBox.h: * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::RootInlineBox): (WebCore::RootInlineBox::alignBoxesInBlockDirection): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::baselineType): 2010-11-16 Dave Hyatt Reviewed by Sam Weinig. Add FontBaseline.h and make ascent and descent take a baseline parameter so that both an alphabetic and ideographic baseline can be requested. * WebCore.xcodeproj/project.pbxproj: * platform/graphics/Font.h: (WebCore::Font::ascent): (WebCore::Font::descent): * platform/graphics/FontBaseline.h: Added. * platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::ascent): (WebCore::SimpleFontData::descent): (WebCore::SimpleFontData::height): 2010-11-16 Antti Koivisto Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=31223 Make primitive values immutable. Make CSSPrimitiveValue setFloatValue and setStringValue always throw NO_MODIFICATION_ALLOWED exception. Reasoning: - these setters never worked correctly, style was not invalidated so changing values would have no effect on rendering - computed style is immutable in all cases, and it wasn't - no other engine seems to support mutable primitives, as a result there is no content using these APIs - mutable primitive values are pointless, the usual way to change the value of a propertly is to replace it with a new value - allowing mutation of primitive values makes optimizations harder * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::setFloatValue): (WebCore::CSSPrimitiveValue::setStringValue): 2010-11-16 Steve Falkenburg Reviewed by Adam Roben. Disable LTCG for Windows Release builds. Add new Release_LTCG configuration. https://bugs.webkit.org/show_bug.cgi?id=49632 * WebCore.vcproj/QTMovieWin.vcproj: * WebCore.vcproj/WebCore.make: * WebCore.vcproj/WebCore.sln: * WebCore.vcproj/WebCore.vcproj: 2010-11-16 Anders Carlsson Reviewed by John Sullivan. Set the original URL for downloads https://bugs.webkit.org/show_bug.cgi?id=49628 Export symbols needed by WebKit2. * WebCore.exp.in: 2010-11-16 Dave Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=11004 font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector. Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size, since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version of the constructor rather than using [NSFont pointSize]. https://bugs.webkit.org/show_bug.cgi?id=49582 Negative leading is not handled correctly. There are two bugs here. The first is that maxAscent and maxDescent can be negative, so we need a notion of whether or not we have set them before so that we can allow them to be < 0. The second issue is that we should understand where fonts will end up relative to our baseline (excluding line height), and only allow those boxes to impact ascent and descent if the actual font box (without factoring in line height) is above or below the root line box baseline. Added fast/css/negative-leading.html These two bug fixes have to land together to keep the Acid 3 test rendering correctly. * WebCore.exp.in: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): * platform/graphics/cocoa/FontPlatformData.h: * platform/graphics/cocoa/FontPlatformDataCocoa.mm: (WebCore::FontPlatformData::FontPlatformData): * platform/graphics/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::createFontPlatformData): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::smallCapsFontData): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::computeLogicalBoxHeights): * rendering/InlineFlowBox.h: * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::alignBoxesInBlockDirection): 2010-11-16 Darin Adler https://bugs.webkit.org/show_bug.cgi?id=49611 REGRESSION (r72115): 5 layout tests are broken * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadFrameRequest): Roll change from https://bugs.webkit.org/show_bug.cgi?id=48603 out. I'll roll it back in after fixing the failing tests. 2010-11-16 Dan Bernstein Reviewed by Simon Fraser. REGRESSION (r72040): Error image with alt text can cause style to be frozen in a subtree https://bugs.webkit.org/show_bug.cgi?id=49579 r72040 introduced a call to setNeedsStyleRecalc() from RenderImage::imageChanged(). When imageChanged() got called beneath recalcStyle() on some ancestor element, the result was that the ancestor’s childNeedsStyleRecalc flag got cleared, but its descendants all the way down to the image did not. Thereafter, setNeedsStyleRecalc() would fail to propagate from that subtree up to the root. The fix is to avoid the newly-added setNeedsStyleRecalc() in most cases, including during reclacStyle(), and just keep it for when it is needed. Tests: fast/block/float/015.html fast/images/style-access-during-imageChanged-style-freeze.html * dom/Document.cpp: (WebCore::Document::isPendingStyleRecalc): Added. * dom/Document.h: * rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged): Only defer intrinsic size compoutation if a style recalc is coming (indicating that current style() is stale). 2010-11-11 Zhenyao Mo Reviewed by Kenneth Russell. Implement UNPACK_COLORSPACE_CONVERSION_WEBGL https://bugs.webkit.org/show_bug.cgi?id=47196 * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::texImage2DImpl): Apply UNPACK_COLORSPACE_CONVERSION settings to image uploading. (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto. * platform/graphics/GraphicsContext3D.cpp: (WebCore::GraphicsContext3D::extractImageData): Ditto. * platform/graphics/GraphicsContext3D.h: * platform/graphics/ImageSource.cpp: (WebCore::ImageSource::ImageSource): Add ignoreGammaColorProfile parameter. (WebCore::ImageSource::setData): Ditto. * platform/graphics/ImageSource.h: * platform/graphics/cg/GraphicsContext3DCG.cpp: (WebCore::GraphicsContext3D::getImageData): Ditto. * platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::ImageSource): Ditto. * platform/graphics/qt/GraphicsContext3DQt.cpp: (WebCore::GraphicsContext3D::getImageData): Ditto. * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoder::create): Ditto. (WebCore::ImageDecoderQt::ImageDecoderQt): Ditto. * platform/graphics/qt/ImageDecoderQt.h: * platform/graphics/skia/GraphicsContext3DSkia.cpp: (WebCore::GraphicsContext3D::getImageData): Ditto. * platform/image-decoders/ImageDecoder.cpp: (WebCore::ImageDecoder::create): Ditto. * platform/image-decoders/ImageDecoder.h: (WebCore::ImageDecoder::ImageDecoder): Ditto. * platform/image-decoders/bmp/BMPImageDecoder.cpp: (WebCore::BMPImageDecoder::BMPImageDecoder): * platform/image-decoders/bmp/BMPImageDecoder.h: * platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::GIFImageDecoder): Ditto. * platform/image-decoders/gif/GIFImageDecoder.h: * platform/image-decoders/ico/ICOImageDecoder.cpp: (WebCore::ICOImageDecoder::ICOImageDecoder): Ditto. (WebCore::ICOImageDecoder::decodeAtIndex): Ditto. * platform/image-decoders/ico/ICOImageDecoder.h: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::JPEGImageDecoder::JPEGImageDecoder): Ditto. * platform/image-decoders/jpeg/JPEGImageDecoder.h: * platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::PNGImageDecoder): Ditto. (WebCore::PNGImageDecoder::headerAvailable): Ignore gamma settings if ignoreGammaAndColorProfile is true. * platform/image-decoders/png/PNGImageDecoder.h: * platform/image-decoders/webp/WEBPImageDecoder.cpp: (WebCore::WEBPImageDecoder::WEBPImageDecoder): Add ignoreGammaAndColorProfile parameter. * platform/image-decoders/webp/WEBPImageDecoder.h: 2010-11-16 Eric Carlson Unreviewed attempt to fix GTK build after http://trac.webkit.org/changeset/72117 * platform/graphics/MediaPlayer.cpp: (WebCore::installedMediaEngines): 2010-11-12 Zhenyao Mo Reviewed by Kenneth Russell. Refactor GL backend flags https://bugs.webkit.org/show_bug.cgi?id=49460 * html/canvas/WebGLRenderingContext.cpp: (WebCore::WebGLRenderingContext::WebGLRenderingContext): Call setupFlags(). (WebCore::WebGLRenderingContext::initializeNewContext): Remove flag initialization to setupFlags(). (WebCore::WebGLRenderingContext::setupFlags): Initialize GL flags. (WebCore::WebGLRenderingContext::getRenderbufferParameter): Use accessor function instead of member. (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto. * html/canvas/WebGLRenderingContext.h: Use flags set in setupFlags instead of querying underlying GL implementation. (WebCore::WebGLRenderingContext::isGLES2Compliant): (WebCore::WebGLRenderingContext::isGLES2NPOTStrict): (WebCore::WebGLRenderingContext::isErrorGeneratedOnOutOfBoundsAccesses): (WebCore::WebGLRenderingContext::isResourceSafe): (WebCore::WebGLRenderingContext::isDepthStencilSupported): * platform/graphics/Extensions3D.h: Add NPOT extension. * platform/graphics/GraphicsContext3D.h: Remove GL flag queries at this level. * platform/graphics/chromium/Extensions3DChromium.h: Add resource_safe and strict_attribs extensions. * platform/graphics/mac/GraphicsContext3DMac.mm: Remove GL flag queries at this level. 2010-11-16 Kenneth Russell Reviewed by Dimitri Glazkov. WebIDL conversions from string to number and array to number should not generate TypeError https://bugs.webkit.org/show_bug.cgi?id=49218 Recent SVG-related changes to the StrictTypeChecking extended attribute in CodeGeneratorJS.pm and CodeGeneratorV8.pm were not correct according to the Web IDL and ECMA-262 specifications. In particular, when an attribute or function argument is specified as a number type (floating-point or integer), passing in a String or object is not supposed to raise an exception. The original intent of the StrictTypeChecking extended attribute was to properly raise TypeError when an interface type is required, but the supplied object does not implement the interface type (http://dev.w3.org/2006/webapi/WebIDL/#es-interface). Historically WebKit has silently passed null to the C++ bindings in this case. The handling of strings in the original StrictTypeChecking implementation was also incorrect, raising exceptions when it should not. The semantics of StrictTypeChecking have been changed to enforce only the restrictions on interface types. The V8 custom bindings for WebGL have been updated to match the behavior of the autogenerated code. Test: fast/canvas/webgl/type-conversion-test.html * bindings/scripts/CodeGeneratorJS.pm: * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: (WebCore::getObjectParameter): (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback): (WebCore::V8WebGLRenderingContext::getParameterCallback): (WebCore::V8WebGLRenderingContext::getProgramParameterCallback): (WebCore::V8WebGLRenderingContext::getShaderParameterCallback): (WebCore::vertexAttribAndUniformHelperf): 2010-11-16 Alexey Proskuryakov Windows build fix. * DerivedSources.cpp: Removing CSS Variables generated files. 2010-11-16 Eric Carlson Reviewed by John Sullivan. getMIMEType(s)ForExtension should consult system mapping https://bugs.webkit.org/show_bug.cgi?id=49497 No new tests possible. * platform/MIMETypeRegistry.cpp: (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): Add the type returned by getMIMETypeForExtension. Put the result of mediaMIMETypeMap().get() in a local variable and test instead of calling constains() and then get(). (WebCore::MIMETypeRegistry::getMediaMIMETypesForExtension): Ditto. 2010-11-16 Eric Carlson Reviewed by Darin Adler. Rename QTKit based media engine class name https://bugs.webkit.org/show_bug.cgi?id=36663 No new tests as this just renames a class and restructures existing code. * platform/graphics/MediaPlayer.cpp: (WebCore::installedMediaEngines): Use a macro with the platform media player class name to reduce the number of #ifs in the code. * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Rename MediaPlayerPrivate to MediaPlayerPrivateQTKit. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivateQTKit::create): (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): (WebCore::MediaPlayerPrivateQTKit::~MediaPlayerPrivateQTKit): (WebCore::MediaPlayerPrivateQTKit::createQTMovie): (WebCore::MediaPlayerPrivateQTKit::createQTMovieView): (WebCore::MediaPlayerPrivateQTKit::detachQTMovieView): (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer): (WebCore::MediaPlayerPrivateQTKit::destroyQTVideoRenderer): (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer): (WebCore::MediaPlayerPrivateQTKit::destroyQTMovieLayer): (WebCore::MediaPlayerPrivateQTKit::currentRenderingMode): (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode): (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering): (WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering): (WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering): (WebCore::MediaPlayerPrivateQTKit::createQTTime): (WebCore::MediaPlayerPrivateQTKit::resumeLoad): (WebCore::MediaPlayerPrivateQTKit::load): (WebCore::MediaPlayerPrivateQTKit::loadInternal): (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): (WebCore::MediaPlayerPrivateQTKit::platformMedia): (WebCore::MediaPlayerPrivateQTKit::platformLayer): (WebCore::MediaPlayerPrivateQTKit::play): (WebCore::MediaPlayerPrivateQTKit::pause): (WebCore::MediaPlayerPrivateQTKit::duration): (WebCore::MediaPlayerPrivateQTKit::currentTime): (WebCore::MediaPlayerPrivateQTKit::seek): (WebCore::MediaPlayerPrivateQTKit::doSeek): (WebCore::MediaPlayerPrivateQTKit::cancelSeek): (WebCore::MediaPlayerPrivateQTKit::seekTimerFired): (WebCore::MediaPlayerPrivateQTKit::paused): (WebCore::MediaPlayerPrivateQTKit::seeking): (WebCore::MediaPlayerPrivateQTKit::naturalSize): (WebCore::MediaPlayerPrivateQTKit::hasVideo): (WebCore::MediaPlayerPrivateQTKit::hasAudio): (WebCore::MediaPlayerPrivateQTKit::supportsFullscreen): (WebCore::MediaPlayerPrivateQTKit::setVolume): (WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions): (WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible): (WebCore::MediaPlayerPrivateQTKit::setRate): (WebCore::MediaPlayerPrivateQTKit::setPreservesPitch): (WebCore::MediaPlayerPrivateQTKit::buffered): (WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable): (WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded): (WebCore::MediaPlayerPrivateQTKit::bytesLoaded): (WebCore::MediaPlayerPrivateQTKit::totalBytes): (WebCore::MediaPlayerPrivateQTKit::cancelLoad): (WebCore::MediaPlayerPrivateQTKit::cacheMovieScale): (WebCore::MediaPlayerPrivateQTKit::isReadyForVideoSetup): (WebCore::MediaPlayerPrivateQTKit::prepareForRendering): (WebCore::MediaPlayerPrivateQTKit::updateStates): (WebCore::MediaPlayerPrivateQTKit::loadStateChanged): (WebCore::MediaPlayerPrivateQTKit::rateChanged): (WebCore::MediaPlayerPrivateQTKit::sizeChanged): (WebCore::MediaPlayerPrivateQTKit::timeChanged): (WebCore::MediaPlayerPrivateQTKit::didEnd): (WebCore::MediaPlayerPrivateQTKit::setSize): (WebCore::MediaPlayerPrivateQTKit::setVisible): (WebCore::MediaPlayerPrivateQTKit::hasAvailableVideoFrame): (WebCore::MediaPlayerPrivateQTKit::repaint): (WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext): (WebCore::MediaPlayerPrivateQTKit::paint): (WebCore::MediaPlayerPrivateQTKit::getSupportedTypes): (WebCore::MediaPlayerPrivateQTKit::supportsType): (WebCore::MediaPlayerPrivateQTKit::isAvailable): (WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks): (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks): (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering): (WebCore::MediaPlayerPrivateQTKit::acceleratedRenderingStateChanged): (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin): (WebCore::MediaPlayerPrivateQTKit::movieLoadType): (WebCore::MediaPlayerPrivateQTKit::setPreload): (WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue): (-[WebCoreMovieObserver initWithCallback:]): 2010-11-16 Alexey Proskuryakov Reviewed by Dave Hyatt. https://bugs.webkit.org/show_bug.cgi?id=49483 Remove CSS Variable support * Android.derived.jscbindings.mk: * Android.derived.v8bindings.mk: * Android.mk: * CMakeLists.txt: * DerivedSources.make: * GNUmakefile.am: * WebCore.gypi: * WebCore.pri: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS): * bindings/v8/custom/V8DOMWindowCustom.cpp * bindings/objc/DOMCSS.mm: (kitClass): * bindings/scripts/CodeGeneratorJS.pm: * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSGrammar.y: * css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::removeProperty): (WebCore::CSSMutableStyleDeclaration::addParsedProperties): (WebCore::CSSMutableStyleDeclaration::copy): * css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclaration::create): * css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::~CSSParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::lex): (WebCore::CSSParser::recheckAtKeyword): (WebCore::CSSParser::text): (WebCore::CSSParser::createMediaRule): (WebCore::CSSParser::createKeyframesRule): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule): (WebCore::CSSParser::addNamespace): (WebCore::CSSParser::createPageRule): * css/CSSParser.h: * css/CSSParserValues.cpp: (WebCore::CSSParserValueList::addValue): (WebCore::CSSParserValueList::deleteValueAt): (WebCore::CSSParserValue::createCSSValue): * css/CSSParserValues.h: (WebCore::CSSParserValueList::CSSParserValueList): * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cleanup): (WebCore::CSSPrimitiveValue::getStringValue): (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue): * css/CSSPrimitiveValue.h: * css/CSSProperty.cpp: (WebCore::CSSProperty::cssText): * css/CSSPropertyNames.in: * css/CSSRule.h: * css/CSSRule.idl: * css/CSSStyleDeclaration.cpp: (WebCore::CSSStyleDeclaration::copyPropertiesInSet): * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::addMatchedDeclaration): (WebCore::CSSRuleSet::addRulesFromSheet): (WebCore::CSSStyleSelector::applyProperty): * css/CSSStyleSelector.h: * css/CSSValue.h: * css/CSSVariableDependentValue.cpp: Removed. * css/CSSVariableDependentValue.h: Removed. * css/CSSVariablesDeclaration.cpp: Removed. * css/CSSVariablesDeclaration.h: Removed. * css/CSSVariablesDeclaration.idl: Removed. * css/CSSVariablesRule.cpp: Removed. * css/CSSVariablesRule.h: Removed. * css/CSSVariablesRule.idl: Removed. * css/StyleBase.h: (WebCore::StyleBase::isMediaRule): * css/tokenizer.flex: * page/DOMWindow.idl: 2010-11-16 Darin Adler Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=48603 Boolean logic mistake in local file check * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadFrameRequest): Fix logic so that both checks have to pass before accepting a local file load. 2010-11-15 Darin Adler Reviewed by Sam Weinig. Harden additional string functions against large lengths https://bugs.webkit.org/show_bug.cgi?id=49574 * platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::encode): Check for length that is too large for size_t. * platform/text/TextStream.cpp: (WebCore::TextStream::operator<<): Check for length that is too large for size_t. 2010-11-16 Pavel Feldman Not reviewed. Touching inspector controller to make gtk / qt happier. * inspector/InspectorController.cpp: 2010-11-16 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Use gdk_pixbuf_get_from_surface() when available https://bugs.webkit.org/show_bug.cgi?id=49532 * platform/graphics/gtk/GdkCairoUtilities.cpp: (cairoImageSurfaceToGdkPixbuf): 2010-11-16 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: init front-end UI upon DOMContentLoaded, not load event. https://bugs.webkit.org/show_bug.cgi?id=49596 * inspector/front-end/inspector.js: (windowLoaded): 2010-11-15 Alexander Pavlov Reviewed by Pavel Feldman. Web Inspector: Migrate frontend to the new CSS editing/retrieval API https://bugs.webkit.org/show_bug.cgi?id=49492 Test: inspector/styles-new-API.html * inspector/front-end/AuditRules.js: (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages): * inspector/front-end/CSSStyleModel.js: (WebInspector.CSSStyleModel.prototype.getStylesAsync): (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync): (WebInspector.CSSStyleModel.prototype.setRuleSelector): (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): (WebInspector.CSSStyleModel.prototype.addRule): (WebInspector.CSSStyleModel.prototype.addRule.callback): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.prototype.propertyAt): (WebInspector.CSSStyleDeclaration.prototype.pastLastSourcePropertyIndex): (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty): (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): (WebInspector.CSSStyleDeclaration.prototype.appendProperty): (WebInspector.CSSRule): (WebInspector.CSSProperty.prototype.get propertyText): (WebInspector.CSSProperty.prototype.setText): (WebInspector.CSSProperty.prototype.setDisabled): (WebInspector.CSSStyleSheet): (WebInspector.CSSStyleSheet.createForId): (WebInspector.CSSStyleSheet.prototype.getText): (WebInspector.CSSStyleSheet.prototype.setText): * inspector/front-end/Settings.js: * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertiesSection.prototype.onpopulate): (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): (WebInspector.StylePropertiesSection.prototype._debugShowStyle.removeStyleBox): (WebInspector.StylePropertiesSection.prototype._debugShowStyle): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.StylePropertyTreeElement.prototype): (WebInspector.StylePropertyTreeElement.prototype.): * inspector/front-end/inspector.css: (.styles-section .properties li.not-parsed-ok): (.styles-section .properties li.not-parsed-ok::before): (.styles-section .properties .inactive): 2010-11-16 Sheriff Bot Unreviewed, rolling out r72082. http://trac.webkit.org/changeset/72082 https://bugs.webkit.org/show_bug.cgi?id=49594 "broken SnowLeopard build" (Requested by apavlov on #webkit). * css/CSSPrimitiveValue.cpp: (WebCore::scaleFactorForConversion): (WebCore::CSSPrimitiveValue::getDoubleValue): (WebCore::CSSPrimitiveValue::getIdent): * css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::getFloatValue): (WebCore::CSSPrimitiveValue::getIntValue): 2010-11-16 Sheriff Bot Unreviewed, rolling out r72087. http://trac.webkit.org/changeset/72087 https://bugs.webkit.org/show_bug.cgi?id=49593 "broken build" (Requested by apavlov on #webkit). * css/CSSPrimitiveValue.cpp: (WebCore::unitCategory): 2010-11-15 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: rename StoragePanel to ResourcesPanel. https://bugs.webkit.org/show_bug.cgi?id=49534 * WebCore.gypi: * WebCore.vcproj/WebCore.vcproj: * inspector/front-end/DatabaseQueryView.js: (WebInspector.DatabaseQueryView.prototype._queryFinished): * inspector/front-end/DatabaseTableView.js: (WebInspector.DatabaseTableView.prototype._queryFinished): * inspector/front-end/ExtensionServer.js: (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource): * inspector/front-end/Images/storageIcon.png: Removed. * inspector/front-end/ResourceManager.js: (WebInspector.ResourceManager.prototype.setOverrideContent): (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame): (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent): (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): (WebInspector.ResourceTreeModel.prototype.addResourceToFrame): * inspector/front-end/StoragePanel.js: Removed. * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.css: (.resources.panel .sidebar): (.resources.panel .sidebar li): (.resources.panel .sidebar li.parent): (.resources.panel .sidebar li.selected): (.resources.panel .sidebar li.selected .selection): (.resources.panel .sidebar :focus li.selected .selection): (body.inactive .resources.panel .sidebar li.selected .selection): (.resources.panel .sidebar .icon): (.resources.panel .base-storage-tree-element-title): (.resources.panel .status): (.resources.panel li .status .bubble): * inspector/front-end/inspector.html: * inspector/front-end/inspector.js: (WebInspector._createPanels): (WebInspector.openResource): (WebInspector.showPanel): (WebInspector.selectDatabase): (WebInspector.selectDOMStorage): (WebInspector.addDatabase): (WebInspector.addDOMStorage): (WebInspector.updateDOMStorage): (WebInspector.updateApplicationCacheStatus): (WebInspector.didGetFileSystemPath): (WebInspector.didGetFileSystemError): (WebInspector.didGetFileSystemDisabled): (WebInspector.updateNetworkState): (WebInspector._choosePanelToShowSourceLine): 2010-11-16 Alexander Pavlov Unreviewed SnowLeopard build fix. * css/CSSPrimitiveValue.cpp: (WebCore::unitCategory): 2010-11-16 Kenneth Rohde Christiansen Reviewed by Andreas Kling. Viewport meta tag: Fix geometry computation Available width and height should also be divided by the device pixel ratio. * dom/ViewportArguments.cpp: (WebCore::computeViewportAttributes): * platform/network/qt/DnsPrefetchHelper.cpp: 2010-11-12 Alexander Pavlov Reviewed by Simon Fraser. CSSPrimitiveValue.getFloatValue does not convert sizes https://bugs.webkit.org/show_bug.cgi?id=35770 Implemented all same-category unit conversions (length, angle, time, frequency) and retained absolute-relative (cm, mm, in, pt, pc) length conversions intact. Illegal unit conversion attempts will throw an INVALID_ACCESS_ERR DOMException. * css/CSSPrimitiveValue.cpp: (WebCore::unitCategory): (WebCore::scaleFactorForConversion): (WebCore::CSSPrimitiveValue::getDoubleValue): (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): (WebCore::CSSPrimitiveValue::getDoubleValueInternal): * css/CSSPrimitiveValue.h: 2010-11-15 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: extract HTML title setter in treeoutline.js. https://bugs.webkit.org/show_bug.cgi?id=49540 * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange): (WebInspector.ElementsTreeElement.prototype.updateTitle): * inspector/front-end/treeoutline.js: (TreeElement.prototype.get titleHTML): (TreeElement.prototype.set titleHTML): (TreeElement.prototype._setListItemNodeContent): 2010-11-16 John Knottenbelt Reviewed by Jeremy Orlow. Assert that DeviceOrientationClientMock is used by only one controller. https://bugs.webkit.org/show_bug.cgi?id=48506 This is a design constraint of the DeviceOrientationClientMock because the m_controller field can only store a pointer to a single instance of the corresponding DeviceOrientationController. * platform/mock/DeviceOrientationClientMock.cpp: (WebCore::DeviceOrientationClientMock::setController): 2010-11-16 Mihai Parparita Reviewed by Adam Barth. fast/images/size-failure.html results in malloc of 2 Gb after switching to WebKit image decoders https://bugs.webkit.org/show_bug.cgi?id=48634 Specify the capacity when calling CFDataCreateMutable, which can signal malloc failures (by returning NULL), unlike CFDataSetLength. * platform/image-decoders/cg/ImageDecoderCG.cpp: (WebCore::RGBA32Buffer::setSize): 2010-11-15 Rob Buis Reviewed by Dirk Schulze and Darin Adler. requiredFeatures does not adapt to SVGStringList changes https://bugs.webkit.org/show_bug.cgi?id=40887 Centralize the const_cast handling and only do it if needed. Remove the const_cast in all svgAttributeChanged functions and move it to SVGTest::handleAttributeChange. Add an early return to handleAttributeChange to avoid unnecessary const_casts. No tests necessary as functionality has not changed. * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGGElement.cpp: (WebCore::SVGGElement::svgAttributeChanged): * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::svgAttributeChanged): * 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/SVGSVGElement.cpp: (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGTests.cpp: (WebCore::SVGTests::handleAttributeChange): * svg/SVGTests.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::svgAttributeChanged): * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::svgAttributeChanged): 2010-11-15 Dimitri Glazkov Reviewed by Darin Adler. REGRESSION(r71934): Removing an element with a shadow DOM from under a cursor causes a crash. https://bugs.webkit.org/show_bug.cgi?id=49569 Test: fast/events/remove-shadow-host-crash.html * rendering/TextControlInnerElements.h: (WebCore::TextControlInnerElement::isShadowNode): (WebCore::TextControlInnerElement::shadowParentNode): 2010-11-12 Ryosuke Niwa Reviewed by Darin Adler. ScriptElement rather than HTMLScriptElement and SVGScriptElement should have ScriptElementData https://bugs.webkit.org/show_bug.cgi?id=49469 Moved m_data, scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript from HTMLScriptElement and SVGScriptElement to ScriptElementData. Also made insertedIntoDocument, removedFromDocument, childrenChanged, finishParsingChildren, and handleSourceAttribute of ScriptElement non-static. No new tests are added since this is a cleanup. * dom/ScriptElement.cpp: (WebCore::ScriptElement::scriptCharset): Added. (WebCore::ScriptElement::scriptContent): Added. (WebCore::ScriptElement::shouldExecuteAsJavaScript): Added. (WebCore::ScriptElement::executeScript): Added. (WebCore::ScriptElement::insertedIntoDocument): Made non-static. Accesses m_data. (WebCore::ScriptElement::removedFromDocument): Ditto. (WebCore::ScriptElement::childrenChanged): Ditto. (WebCore::ScriptElement::finishParsingChildren): Ditto. (WebCore::ScriptElement::handleSourceAttribute): Ditto. * dom/ScriptElement.h: Moved the declaration of ScriptElement after that of ScriptElementData because ScriptElement has to instantiate ScriptElementData. (WebCore::ScriptElement::ScriptElement): Initializes m_data. * html/HTMLScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript. (WebCore::HTMLScriptElement::HTMLScriptElement): Initializes ScriptElement instead of ScriptElementData. (WebCore::HTMLScriptElement::childrenChanged): Calls ScriptElement::childrenChanged. (WebCore::HTMLScriptElement::parseMappedAttribute): Calls ScriptElement::handleSourceAttribute. (WebCore::HTMLScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren. (WebCore::HTMLScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument. (WebCore::HTMLScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument. * html/HTMLScriptElement.h: * svg/SVGScriptElement.cpp: Removed scriptCharset, scriptContent, shouldExecuteAsJavaScript, and executeScript. (WebCore::SVGScriptElement::SVGScriptElement): Initializes ScriptElement instead of ScriptElementData. (WebCore::SVGScriptElement::svgAttributeChanged): Calls ScriptElement::handleSourceAttribute. (WebCore::SVGScriptElement::insertedIntoDocument): Calls ScriptElement::insertedIntoDocument. (WebCore::SVGScriptElement::removedFromDocument): Calls ScriptElement::removedFromDocument. (WebCore::SVGScriptElement::childrenChanged): Calls ScriptElement::childrenChanged. (WebCore::SVGScriptElement::finishParsingChildren): Calls ScriptElement::finishParsingChildren. * svg/SVGScriptElement.h: 2010-11-15 Kent Tamura Reviewed by Darin Adler. Refactor HTMLInputElement: Move a part of HTMLInputElement:: defaultEventHandler() to InputTypes. https://bugs.webkit.org/show_bug.cgi?id=48317 Move out the followings to InputTypes: - click event processing, - the first keydown event processing, and - DOMActivate event processing. Move m_xPos and m_yPos from HTMLInputElement to ImageInputType as m_clickLocation. It's ok to move them because they should be valid only when HTMLInputElement::m_activeSubmit is true. For type=image, m_activeSubmit is true only in DOMActivate event handling. So we reset m_clickLocation in handleDOMActivateEvent() with Event::underlyingEvent(). No new tests because this is just a refactoring. * html/BaseDateAndTimeInputType.cpp: (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): * html/BaseDateAndTimeInputType.h: * html/FileInputType.cpp: (WebCore::FileInputType::handleDOMActivateEvent): * html/FileInputType.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::HTMLInputElement): (WebCore::HTMLInputElement::defaultEventHandler): * html/HTMLInputElement.h: * html/ImageInputType.cpp: (WebCore::ImageInputType::appendFormData): (WebCore::ImageInputType::handleDOMActivateEvent): * html/ImageInputType.h: * html/InputType.cpp: (WebCore::InputType::handleClickEvent): (WebCore::InputType::handleDOMActivateEvent): (WebCore::InputType::handleKeydownEvent): * html/InputType.h: * html/NumberInputType.cpp: (WebCore::NumberInputType::handleKeydownEvent): * html/NumberInputType.h: * html/RadioInputType.cpp: (WebCore::RadioInputType::handleClickEvent): * html/RadioInputType.h: * html/RangeInputType.cpp: (WebCore::RangeInputType::handleKeydownEvent): * html/RangeInputType.h: * html/ResetInputType.cpp: (WebCore::ResetInputType::handleDOMActivateEvent): * html/ResetInputType.h: * html/SubmitInputType.cpp: (WebCore::SubmitInputType::handleDOMActivateEvent): * html/SubmitInputType.h: * html/TextFieldInputType.cpp: (WebCore::TextFieldInputType::handleKeydownEvent): (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): * html/TextFieldInputType.h: 2010-11-15 Chris Rogers Reviewed by Kenneth Russell. Add AudioNode custom bindings https://bugs.webkit.org/show_bug.cgi?id=49119 No new tests since audio API is not yet implemented. * bindings/js/JSAudioNodeCustom.cpp: Added. (WebCore::JSAudioNode::connect): (WebCore::JSAudioNode::disconnect): * bindings/v8/custom/V8AudioNodeCustom.cpp: Added. (WebCore::V8AudioNode::connectCallback): (WebCore::V8AudioNode::disconnectCallback): * webaudio/AudioNode.idl: 2010-11-15 Dave Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49570 Put italics specialization check back in CSSFontSelector. I had to back it out, since it broke a layout test, and the issue was that local font fallback fonts should not be considered by the specialization check (since you never want to pick a fallback over an actual @font-face rule if the @font-face rule can handle it). * css/CSSFontFace.h: (WebCore::CSSFontFace::create): (WebCore::CSSFontFace::isLocalFallback): (WebCore::CSSFontFace::CSSFontFace): * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::compareFontFaces): 2010-11-15 Adele Peterson Reviewed by Darin Adler. Fix for: https://bugs.webkit.org/show_bug.cgi?id=49452 Placeholder should not be swapped in and out of the text control's inner text element There's no need to swap the placeholder text in and out of the inner text element. Instead, just paint the text. This reduces complexity and makes it easier to make independent decisions about the placeholder text and the text control value. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer): Since updatePlaceholderVisibility checks the value, set the value before calling updatePlaceholderVisibility. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::updatePlaceholderVisibility): Remove code that set the inner text value with the placeholder text. (WebCore::RenderTextControl::paintObject): Paint the placeholder text during the background phase. * rendering/RenderTextControl.h: * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::nodeAtPoint): Remove custom hit testing that tried to avoid hitting the placeholder text at the wrong time. (WebCore::RenderTextControlMultiLine::updateFromElement): Remove code that set the inner text value with the placeholder text. (WebCore::RenderTextControlMultiLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement. (WebCore::RenderTextControlMultiLine::textBoxInsetLeft): Added. (WebCore::RenderTextControlMultiLine::textBoxInsetRight): Added. * rendering/RenderTextControlMultiLine.h: * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::updateFromElement): Remove code that set the inner text value with the placeholder text. (WebCore::RenderTextControlSingleLine::createInnerTextStyle): Remove code that created the inner text style based on the placeholder pseudoelement. (WebCore::RenderTextControlSingleLine::textBoxInsetLeft): Added. (WebCore::RenderTextControlSingleLine::textBoxInsetRight): Added. * rendering/RenderTextControlSingleLine.h: * rendering/TextControlInnerElements.cpp: Removed custom hit testing that tried to avoid hitting the placeholder text at the wrong time. 2010-11-15 Andreas Kling Unreviewed buildfix (Qt WebKit2 minimal) * platform/qt/CookieJarQt.cpp: Add missing include. 2010-11-15 Chris Rogers Reviewed by Kenneth Russell. Add Event and EventListener hooks for JavaScriptAudioNode and AudioProcessingEvent https://bugs.webkit.org/show_bug.cgi?id=49357 No new tests since audio API is not yet implemented. * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventTarget.cpp: (WebCore::toJS): * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::convertEventTargetToV8Object): * bindings/v8/custom/V8EventCustom.cpp: (WebCore::toV8): * dom/Event.cpp: (WebCore::Event::isAudioProcessingEvent): * dom/Event.h: * dom/EventNames.h: * dom/EventTarget.cpp: (WebCore::EventTarget::toJavaScriptAudioNode): * dom/EventTarget.h: 2010-11-15 Alexey Proskuryakov Reviewed by Darin Adler. A minor style fix in StyledElement.cpp. * dom/StyledElement.cpp: (WebCore::StyledElement::addCSSProperty): (WebCore::StyledElement::addCSSImageProperty): 2010-11-15 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49565 Remove Attr.style accessor * dom/Attr.idl: Only keep the accessor for Objective C API. Inspector doesn't seem to need it any more. 2010-11-15 Beth Dakin Reviewed by Darin Adler. Fix for https://bugs.webkit.org/show_bug.cgi?id=49555 Frame::scalePage() should treat the origin as an absolute coordinate -and corresponding- * page/Frame.cpp: (WebCore::Frame::scalePage): 2010-11-15 Dan Bernstein Reviewed by Darin Adler. Error image has incorrect size when a custom font is used Test: fast/images/style-access-during-imageChanged-crash.html * rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): Added initialization of m_needsToSetSizeForAltText. (WebCore::RenderImage::imageSizeForError): Factored the non-alt-text dependent size computation out of setImageSizeForAltText() into this function. (WebCore::RenderImage::setImageSizeForAltText): Changed to use imageSizeForError(). (WebCore::RenderImage::styleDidChange): Added. If m_needsToSetSizeForAltText is true, sets the intrinsic size and calls imageDimensionsChanged() as needed to cause layout or invalidation. (WebCore::RenderImage::imageChanged): Moved some code from here... (WebCore::RenderImage::imageDimensionsChanged): ...to here. * rendering/RenderImage.h: 2010-11-15 Anders Carlsson Reviewed by Dimitri Glazkov. ASSERTION (r72003): Assertion failure when running layout tests https://bugs.webkit.org/show_bug.cgi?id=49561 r72003 added the 'formaction' URL attribute to HTMLButtonElement and HTMLInputElement, but did not add the attribute to the isURLAttribute which lead to assertion failures when running the layout tests with a debug build. * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::isURLAttribute): * html/HTMLButtonElement.h: * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::isURLAttribute): 2010-11-15 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=49559 DOMWindow.getComputedStyle pseudo element argument lacks ConvertUndefinedOrNullToNullString No observable change in behavior, so no tests. * page/DOMWindow.idl: Added ConvertUndefinedOrNullToNullString. 2010-11-15 Andreas Kling Reviewed by Tor Arne Vestbø. [Qt] Make WTF_USE_MEEGOTOUCH available for WebKit2 as well Move this into WebCore/features.pri which is used by both WebCore and WebKit2. * WebCore.pro: * features.pri: 2010-11-15 Martin Robinson Build fix for GTK+. * GNUmakefile.am: Add some missing generated files to the source list. 2010-11-15 Kenneth Russell Reviewed by James Robinson. [chromium] Avoid copying of SkBitmap in LayerRendererChromium https://bugs.webkit.org/show_bug.cgi?id=49560 Ran CSS 3D content to test. No other new tests. * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::updateRootLayerTextureRect): 2010-11-15 Vangelis Kokkevis Reviewed by Kenneth Russell. [chromium] Fixes layer opacity implementation of composited layers https://bugs.webkit.org/show_bug.cgi?id=49233 This introduces a fairly drastic change in how LayerRendererChromium draws composited layers. Layers that have non-zero opacity as well as layers that clip their descendants (and have non-trivial transforms) are now first rendered onto off-screen surfaces (RenderSurfaceChromium's). The compositing operation now consists of two distinct phases: First a hierarchical traversal of the layer tree to compute the layer transforms, determine what the necessary RenderSurfaces are and sort layer that preserve-3d based on their z-value. A second pass goes through all the RenderSurfaces discovered by the first pass and updates their contents. Additional significant side-effects of this change are: 1. Depth buffer and depth testing is no longer used. Drawing relies on a painter's algorithm to render layers with the preserves-3d property from back to front using the Z coordinate of their center. This will further be improved in the future with the intoduction of a BSP tree to properly deal with intersecting layers. 2. Compositor no longer uses the stencil buffer to do clipping. Clipping is now performed by rendering layer subtrees into an offscreen buffer and setting the appropriate scissor and viewport transformation. Tests: abs-position-inside-opacity.html (for the opacity implementation) and the rest of the compositing layout tests to verify that everything still works. * WebCore.gypi: * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::cleanupResources): (WebCore::ContentLayerChromium::requiresClippedUpdateRect): (WebCore::ContentLayerChromium::calculateClippedUpdateRect): (WebCore::ContentLayerChromium::updateContents): * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::cleanupResources): (WebCore::LayerChromium::createRenderSurface): (WebCore::LayerChromium::descendantsDrawContent): (WebCore::LayerChromium::descendantsDrawContentRecursive): * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::drawTransform): (WebCore::LayerChromium::layerRenderer): * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::orthoMatrix): (WebCore::isScaleOrTranslation): (WebCore::LayerRendererChromium::compareLayerZ): (WebCore::LayerRendererChromium::LayerRendererChromium): (WebCore::LayerRendererChromium::prepareToDrawLayers): (WebCore::LayerRendererChromium::drawLayers): (WebCore::LayerRendererChromium::updateLayersRecursive): (WebCore::LayerRendererChromium::useRenderSurface): (WebCore::LayerRendererChromium::drawLayer): (WebCore::LayerRendererChromium::setScissorToRect): (WebCore::LayerRendererChromium::setDrawViewportRect): (WebCore::LayerRendererChromium::initializeSharedObjects): (WebCore::LayerRendererChromium::cleanupSharedObjects): * platform/graphics/chromium/LayerRendererChromium.h: * platform/graphics/chromium/RenderSurfaceChromium.cpp: Added. (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): (WebCore::RenderSurfaceChromium::~RenderSurfaceChromium): (WebCore::RenderSurfaceChromium::cleanupResources): (WebCore::RenderSurfaceChromium::layerRenderer): (WebCore::RenderSurfaceChromium::prepareContentsTexture): * platform/graphics/chromium/RenderSurfaceChromium.h: Added. (WebCore::RenderSurfaceChromium::contentRectCenter): (WebCore::RenderSurfaceChromium::contentRect): * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::cleanupResources): 2010-11-15 Martin Robinson Reviewed by Andreas Kling. [GTK] gdk_pixbuf_get_from_surface from GtkVersioning.h is broken on GTK+ 2 builds https://bugs.webkit.org/show_bug.cgi?id=49549 No new tests. This can be verified by loading any existing vertical text test in GtkLauncher and noticing the lack of CRITICAL GLib exceptions. There's currently no automatic way of verifying custom cursors. * platform/gtk/GtkVersioning.c: (gdk_pixbuf_get_from_surface): Reverse a sanity check in this method to be correct. 2010-11-12 Jer Noble Reviewed by Brady Eidson. Can't view HTML5 video when running Safari with an authenticated proxy server * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie): 2010-11-14 Abhishek Arya Reviewed by Dimitri Glazkov. Event dispatch call can blow away the node's renderer initialized before the call in updateSelectionForMouseDrag function. We need to initialize it after the call. https://bugs.webkit.org/show_bug.cgi?id=49524 * page/EventHandler.cpp: (WebCore::EventHandler::updateSelectionForMouseDrag): 2010-11-15 Patrick Gansterer Reviewed by Martin Robinson. Make ContextShadow compile on all platforms https://bugs.webkit.org/show_bug.cgi?id=49535 Add a void* typedef for PlatformImage and PlatformContext for unsupported platforms and move them into the WebCore namespace like all other Platform* typedefs. * platform/graphics/ContextShadow.h: 2010-11-15 Renata Hodovan Reviewed by Andreas Kling. SVGFEImageElement doesn't support dynamic invalidation https://bugs.webkit.org/show_bug.cgi?id=49536 The dynamic changes are captured by the svgAttributeChanged function. Invalidate the filter primitive if necessary. Tests: svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html * svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::svgAttributeChanged): * svg/SVGFEImageElement.h: 2010-11-15 Yael Aharon Reviewed by Antonio Gomes. [Qt] Focus ring does not show on focused links. https://bugs.webkit.org/show_bug.cgi?id=49515 After http://trac.webkit.org/changeset/69766 the focus ring on links is no longer visible in Qt. The reason is that Qt always returned true in RenderTheme::supportsFocusRing(), but until r69766, we did not check that for links. Qt draws its own focus ring for controls that it draws, but not for links. Change the return value to false if the style's appearance is not something that Qt draws by itself or does not support. Added a Qt specific test result for the new test added in r69766. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::supportsFocusRing): 2010-11-15 Dai Mikurube Reviewed by Kent Tamura. Implement formaction, formenctype, formmethod and formtarget attributes for input and button tags https://bugs.webkit.org/show_bug.cgi?id=49240 Tests: fast/forms/formaction-attribute.html fast/forms/formmethod-attribute-button-html.html fast/forms/formmethod-attribute-input-html.html fast/forms/formtarget-attribute-button-html.html fast/forms/formtarget-attribute-input-html.html fast/forms/mailto/formenctype-attribute-button-html.html fast/forms/mailto/formenctype-attribute-input-html.html fast/forms/submit-form-attributes.html * html/HTMLAttributeNames.in: Added formaction, formmethod, formtarget and formenctype attributes * html/HTMLButtonElement.idl: * html/HTMLInputElement.idl: * loader/FormSubmission.cpp: Modified to check the pressed button and its attributes (WebCore::FormSubmission::Attributes::copyFrom): (WebCore::FormSubmission::create): * loader/FormSubmission.h: 2010-11-15 Pavel Feldman Reviewed by Yury Semikhatsky. Web Inspector: Do not hide default Ctrl+A behavior on non-Mac. https://bugs.webkit.org/show_bug.cgi?id=49527 * inspector/front-end/TextPrompt.js: (WebInspector.TextPrompt.prototype._onKeyDown): 2010-11-15 Ilya Sherman Reviewed by Kent Tamura. Add capability for displaying warnings to autofill popup Warnings are displayed in dark gray italic. https://bugs.webkit.org/show_bug.cgi?id=49291 http://code.google.com/p/chromium/issues/detail?id=58509 * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::getRowFont): Use item-specific font, not just the generic menu font. (WebCore::PopupListBox::selectIndex): Updated to clear the selection when hovering over a non-selectable item. * platform/chromium/PopupMenuChromium.h: Minor cleanup 2010-11-14 David Hyatt Back out the italics portion of the previous patch until I can figure out why it doesn't work. * css/CSSFontSelector.cpp: (WebCore::compareFontFaces): 2010-11-14 Kent Tamura Reviewed by Dimitri Glazkov. Improve API for form validation message strings https://bugs.webkit.org/show_bug.cgi?id=34945 This change introduces three new functions; validationMessageTypeMismatchFor*Text(). The implementation for each platform is just a call to validationMessageTypeMismatchText(). Some validationMessage*() functions have new parameters. The parameters are ignored in all platforms for now. This change doesn't change any behavior. However a platform can add additional information to validation messages. e.g. Changing "type mismatch" to "Please specify an e-mail address" for . * html/EmailInputType.cpp: (WebCore::EmailInputType::typeMismatchText): Call validationMessageTypeMismatchForEmailText() or validationMessageTypeMismatchForMultipleEmailText(). * html/EmailInputType.h: * html/HTMLFormControlElement.h: Add maxLength() and value() to access them from ValidityState. * html/HTMLInputElement.cpp: Add the following functions to pass extra information to validation message string functions. (WebCore::HTMLInputElement::minimumString): (WebCore::HTMLInputElement::maximumString): (WebCore::HTMLInputElement::stepBaseString): (WebCore::HTMLInputElement::stepString): (WebCore::HTMLInputElement::typeMismatchText): * html/HTMLInputElement.h: * html/HTMLTextAreaElement.h: * html/InputType.cpp: (WebCore::InputType::typeMismatchText): Call validationMessageTypeMismatchText(). * html/InputType.h: * html/URLInputType.cpp: (WebCore::URLInputType::typeMismatchText): Call validationMessageTypeMismatchForURLText(). * html/URLInputType.h: * html/ValidityState.cpp: (WebCore::ValidityState::validationMessage): * platform/LocalizedStrings.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/LocalizedStrings.h: - Add validationMessageTypeMismatchForEmailText(), validationMessageTypeMismatchForMultipleEmailText() and validationMessageTypeMismatchForURLText() - Add length parameters to validationMessageTooLongText(). - Add the minimum value parameter to validationMessageRangeUnderflowText() - Add the maximum value parameter to validationMessageRangeOverflowText() - Add parameters of the base value and the step value to validationMessageStepMismatchText() * platform/android/LocalizedStringsAndroid.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/brew/LocalizedStringsBrew.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/efl/LocalizedStringsEfl.cpp: (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageStepMismatchText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/haiku/LocalizedStringsHaiku.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): * platform/wx/LocalizedStringsWx.cpp: (WebCore::validationMessageTypeMismatchForEmailText): (WebCore::validationMessageTypeMismatchForMultipleEmailText): (WebCore::validationMessageTypeMismatchForURLText): (WebCore::validationMessageTooLongText): (WebCore::validationMessageRangeUnderflowText): (WebCore::validationMessageRangeOverflowText): (WebCore::validationMessageStepMismatchText): 2010-11-14 Kent Tamura Reviewed by Andreas Kling. KeyboardEvent::keyIdentifier() should return "const String&" https://bugs.webkit.org/show_bug.cgi?id=49426 No new tests. This shouldn't change the current behavior. * dom/KeyboardEvent.h: (WebCore::KeyboardEvent::keyIdentifier): Change the return type; String -> const String& * dom/SelectElement.cpp: (WebCore::SelectElement::menuListDefaultEventHandler): Change the type of a variable to have keyIdentifier(); String -> const String& (WebCore::SelectElement::listBoxDefaultEventHandler): ditto. * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): ditto. (WebCore::HTMLInputElement::handleKeyEventForRange): ditto. * page/EventHandler.cpp: (WebCore::EventHandler::handleKeyboardSelectionMovement): ditto. 2010-11-14 Kenichi Ishibashi Reviewed by Kent Tamura. [HTML5] "form" attribute support for form control elements https://bugs.webkit.org/show_bug.cgi?id=47813 Adds a list of form-associated elements with form attribute into the Document class to support form attribute. Adds a function to determine the right place to locate form-associated elements with form attribute into m_associatedElements of HTMLFormElement class. Tests: fast/forms/form-attribute-elements-order.html fast/forms/form-attribute-elements-order2.html fast/forms/form-attribute-elements.html fast/forms/form-attribute.html * dom/Document.cpp: (WebCore::Document::registerFormElementWithFormAttribute): Added. (WebCore::Document::unregisterFormElementWithFormAttribute): Added. (WebCore::Document::resetFormElementsOwner): Added. * dom/Document.h: Added the list for elements with form attribute. * html/HTMLAttributeNames.in: Added form attribute. * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::insertedIntoTree): Modified to handle form attribute. (WebCore::HTMLFormControlElement::removedFromTree): Ditto. (WebCore::HTMLFormControlElement::resetFormOwner): Added. (WebCore::HTMLFormControlElement::attributeChanged): Added. * html/HTMLFormControlElement.h: * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): Modified to initialize newly-added variables. (WebCore::HTMLFormElement::insertedIntoDocument): Modified to reset form owner of form-associated elements. (WebCore::HTMLFormElement::removedFromDocument): Ditto. (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Added. (WebCore::HTMLFormElement::formElementIndex): Modified to treat form-associated elements with form attribute separately. (WebCore::HTMLFormElement::removeFormElement): Modified to handle form-associated elements with form attribute. * html/HTMLFormElement.h: Added three variables to handle form attribute. * html/HTMLOutputElement.cpp: Removed "FIXME" comment. (WebCore::HTMLOutputElement::parseMappedAttribute): * html/HTMLOutputElement.h: Removed setForm(). 2010-11-14 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49521 REGRESSION svg/W3C-SVG-1.1/fonts-desc-02-t.svg broken by r71979. Refine the font selection function for @font-face to be smarter about what fonts it prefers. If a font is labeled as only supporting small-caps, then prefer it to one that claims to support both normal and small-caps. The specialized font is more likely to be true small-caps and to not rely on synthesis. Added the same logic for italic as well. Prefer the font that is specifically restricted to italic to one that claims it can support anything. * css/CSSFontSelector.cpp: (WebCore::compareFontFaces): 2010-11-14 Ryuan Choi Reviewed by Martin Robinson. [EFL] add pango support https://bugs.webkit.org/show_bug.cgi?id=46029 Include pango related files. No new tests; functionality is unchanged. * CMakeListsEfl.txt: 2010-11-12 Tenghui Zhu Reviewed by Andreas Kling. [V8] Code generation script error in generating the SVGStaticListPropertyTearOff https://bugs.webkit.org/show_bug.cgi?id=49463 * bindings/scripts/CodeGeneratorV8.pm: The svgNativeType is the one containing the SVGStaticListPropertyTearOff string, not the svgListPropertyType. 2010-11-14 Patrick Gansterer Reviewed by Andreas Kling. Sort CMakeLists.txt https://bugs.webkit.org/show_bug.cgi?id=49507 * CMakeLists.txt: 2010-11-13 Patrick Gansterer Reviewed by Yury Semikhatsky. Buildfix for !ENABLE(INSPECTOR) https://bugs.webkit.org/show_bug.cgi?id=49500 Also unify the position of the condition in the cpp files. * inspector/ConsoleMessage.cpp: * inspector/InspectorResourceAgent.cpp: * inspector/InspectorState.cpp: * inspector/ScriptCallFrame.cpp: * inspector/ScriptCallStack.cpp: 2010-11-13 David Hyatt Reviewed by Anders Carlsson. https://bugs.webkit.org/show_bug.cgi?id=49506 Repaint is broken across writing mode boundaries. It's not enough to add in flipped offsets. You have to flip the rect itself. Added fast/repaint/repaint-across-writing-mode-boundary.html * rendering/RenderBox.cpp: (WebCore::RenderBox::computeRectForRepaint): 2010-11-13 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49505 REGRESSION: @font-face doesn't work with the small-caps variant. This was broken by the addition of SVG fonts support long ago. This patch fixes the SVG code so that it doesn't break non-SVG fonts. Added fast/blockflow/broken-ideograph-small-caps.html * css/CSSFontFace.cpp: (WebCore::CSSFontFace::hasSVGFontFaceSource): * css/CSSFontFace.h: * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): * css/CSSFontFaceSource.h: * css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::CSSFontSelector::getFontData): 2010-11-13 Dan Bernstein Reviewed by Dave Hyatt. fast/text/hyphen* tests have different results on Leopard https://bugs.webkit.org/show_bug.cgi?id=43296 * platform/text/mac/TextBreakIteratorInternalICUMac.mm: (WebCore::topLanguagePreference): Changed to look up the value of the AppleLanguages default through the normal NSUserDefaults search order rather than skipping the application domain. This makes this function respect DumpRenderTree’s setting of the default in the application domain. 2010-11-13 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49499 broken-ideographic-font.html causes layout test flakiness in release builds. The reason for this is that the custom font data for m_brokenIdeographFontData was never getting pruned out of the tree. The same problem exists for custom small caps fonts, so I made sure that the small caps fonts get pruned as well. In addition, custom small caps fonts were never getting deleted either. I also made allowsLigatures in FontPlatformData orientation-independent, and the callers check it instead. Unskip fast/blockflow/broken-ideographic-font.html * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::~SimpleFontData): * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/chromium/SimpleFontDataLinux.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/cocoa/FontPlatformDataCocoa.mm: (WebCore::FontPlatformData::allowsLigatures): * platform/graphics/freetype/SimpleFontDataFreeType.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/haiku/SimpleFontDataHaiku.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/mac/ComplexTextControllerATSUI.cpp: (WebCore::disableLigatures): * platform/graphics/mac/SimpleFontDataCoreText.cpp: (WebCore::SimpleFontData::getCFStringAttributes): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformDestroy): * platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): * platform/graphics/wx/SimpleFontDataWx.cpp: (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): 2010-11-13 David Hyatt https://bugs.webkit.org/show_bug.cgi?id=49496 Fix broken-ideographic-font.html. I had the font installed locally on my machine, and this covered up the fact that CoreText was implicitly using it as fallback in the vertical case only. The bots don't have the font installed locally, and so they showed the bug. Make sure the GlyphPage is filled with horizontal glyphs for a broken ideograph font, so that CoreText is willing to fill. * platform/graphics/mac/SimpleFontDataCoreText.cpp: (WebCore::SimpleFontData::getCFStringAttributes): 2010-11-13 David Hyatt Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=49464 Fix bugs with the orientation of fonts when the font is brought in via fallback, when the font contains no vertical tables, or when the font is loaded via font-face in both horizontal and vertical forms. (1) Include orientation as part of the @font-face hashtables so that the fonts are treated as distinct when used in horizontal and vertical forms. (2) Let the orientation member of FontPlatformData represent the desired orientation rather than the supported one. Add an orientation member to SimpleFontData that represents the actual supported orientation of the font. (3) For fonts with no vertical tables, add a brokenIdeographicsFont accessor that is invoked when CJK ideographs are encountered. This is essentially identical to the small caps fallback mechanism but invoked only for ideographs. The special ideograph font locks the orientation to vertical and renders the glyphs upright even when the font has no vertical tables. Punctuation and such will still look funny, and really this is a bug in the font, but at least this way it will be apparent that the font is to blame. Added fast/blockflow/broken-ideographic-font.html and fast/blockflow/vertical-font-fallback.html. * css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): * css/CSSSegmentedFontFace.cpp: (WebCore::CSSSegmentedFontFace::getFontData): * platform/graphics/Font.cpp: (WebCore::Font::isCJKIdeograph): * platform/graphics/Font.h: * platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter): * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): (WebCore::SimpleFontData::~SimpleFontData): (WebCore::SimpleFontData::brokenIdeographFontData): * platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::orientation): * platform/graphics/cocoa/FontPlatformDataCocoa.mm: (WebCore::FontPlatformData::FontPlatformData): * platform/graphics/mac/FontMac.mm: (WebCore::showGlyphsWithAdvances): * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformBoundsForGlyph): (WebCore::SimpleFontData::platformWidthForGlyph): 2010-11-13 Rob Buis Reviewed by Dirk Schulze. requiredFeatures does not adapt to SVGStringList changes https://bugs.webkit.org/show_bug.cgi?id=40887 Centralize logic of handling of SVGElement validity changes. The logic is to detach the SVGElement when changing from valid to invalid, and to attach when changing from invalid to valid. Tests: svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html * svg/SVGCircleElement.cpp: (WebCore::SVGCircleElement::svgAttributeChanged): * svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::svgAttributeChanged): * svg/SVGForeignObjectElement.cpp: (WebCore::SVGForeignObjectElement::svgAttributeChanged): * svg/SVGGElement.cpp: (WebCore::SVGGElement::svgAttributeChanged): * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::svgAttributeChanged): * 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/SVGSVGElement.cpp: (WebCore::SVGSVGElement::svgAttributeChanged): * svg/SVGTests.cpp: (WebCore::knownAttribute): (WebCore::SVGTests::isKnownAttribute): (WebCore::SVGTests::handleAttributeChange): Centralized handling of SVGElement validity changes. * svg/SVGTests.h: * svg/SVGTextContentElement.cpp: (WebCore::SVGTextContentElement::svgAttributeChanged): (WebCore::SVGTextContentElement::isKnownAttribute): * svg/SVGTextContentElement.h: * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::svgAttributeChanged): 2010-11-13 Andrey Kosyakov Reviewed by Pavel Feldman. Web Inspector: [refactoring] support Views in TabbedPane and streamline tab selection in resource view https://bugs.webkit.org/show_bug.cgi?id=49493 * inspector/front-end/NetworkPanel.js: (WebInspector.NetworkPanel.prototype._showResource): * inspector/front-end/ResourceView.js: (WebInspector.ResourceView): (WebInspector.ResourceView.prototype.selectContentTab): (WebInspector.ResourceView.prototype._selectTab): (WebInspector.ResourceView.prototype._refreshCookies): (WebInspector.ResourceCookiesTab.prototype.show): * inspector/front-end/StoragePanel.js: (WebInspector.StoragePanel.prototype.showResource): * inspector/front-end/TabbedPane.js: (WebInspector.TabbedPane.prototype.appendTab): (WebInspector.TabbedPane.prototype.hasTab): (WebInspector.TabbedPane.prototype.selectTabById): (WebInspector.TabbedPane.prototype._hideTab): (WebInspector.TabbedPane.prototype._showTab): * inspector/front-end/inspector.css: (.resource-view-cookies): (.resource-view-cookies.visible): 2010-11-13 Yury Semikhatsky Reviewed by Pavel Feldman. REGRESSION(71515): Web Inspector: Safari crash calling console.log when Log JavaScript Exceptions to Console is checked https://bugs.webkit.org/show_bug.cgi?id=49362 * page/Console.cpp: (WebCore::Console::addMessage): avoid accessing ScriptArguments and ScriptCallStack after their ownership has been passed to the inspector. 2010-11-13 Yury Semikhatsky Reviewed by Pavel Feldman. Web Inspector: DOM event listener name is cropped in Elements panel https://bugs.webkit.org/show_bug.cgi?id=49387 * inspector/front-end/inspector.css: (.event-bar): use margin-left instead of left to fit child node into its parent 2010-11-13 Ilya Sherman Reviewed by Shinichiro Hamaji. Fixes regression from previous patch -- computes y offsets for elements that are scrolled out of the window. https://bugs.webkit.org/show_bug.cgi?id=49306 * manual-tests/select-scroll.html: Added. * platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::layout): 2010-11-12 Daniel Bates Reviewed by Adam Barth. Transferred