From 21939df44de1705786c545cd1bf519d47250322d Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Tue, 11 May 2010 18:35:50 +0100 Subject: Merge Webkit at r58956: Initial merge by Git. Change-Id: I1d9fb60ea2c3f2ddc04c17a871acdb39353be228 --- WebCore/ChangeLog | 7746 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 7742 insertions(+), 4 deletions(-) (limited to 'WebCore/ChangeLog') diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 9700ffe..c6bf40b 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,7741 @@ +2010-05-07 Pavel Feldman + + Not reviewed: chromium dev tools tests fix. + Add a more strict check prior to accessing constructor property in + Web Inspector frontend. + + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + +2010-05-07 Pavel Feldman + + Reviewed by Joseph Pecoraro. + + Web Inspector: On Linux/Windows panel history is + traversed while iterating over words in text prompt. + + https://bugs.webkit.org/show_bug.cgi?id=38740 + + * inspector/front-end/TextPrompt.js: + (WebInspector.TextPrompt): + * inspector/front-end/inspector.js: + (WebInspector.documentKeyDown): + +2010-05-07 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: come up with InjectedScript._className that works for both JSC and V8. + + https://bugs.webkit.org/show_bug.cgi?id=38755 + + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + +2010-05-07 Joseph Pecoraro + + Reviewed by Adam Barth. + + document.write is not synchronous after page load + https://bugs.webkit.org/show_bug.cgi?id=38146 + + If there are no pending scripts, a document.write call should be + synchronous. This matches other browsers and the HTML5 spec. Forcing + the tokenizer to be synchronous in Document::write does not affect + external scripts written by the write call. This should only change + behavior of document.write after the page is done loading. + + Difficult to test reliably due to HTMLTokenizing relying on processing time. + I made a manual test because the test requires processing very large strings + synchronously and therefore can take some time. + + Test: WebCore/manual-tests/dom/document-write-synchronous-after-page-load.html + + * dom/Document.cpp: + (WebCore::SynchronousHTMLTokenizerGuard::SynchronousHTMLTokenizerGuard): if the provided tokenizer is an HTMLTokenizer make it synchronous + (WebCore::SynchronousHTMLTokenizerGuard::~SynchronousHTMLTokenizerGuard): if the provided tokenizer was an HTMLTokenizer return its synchronous state + (WebCore::Document::write): temporarily set the tokenizer to synchronous during document.write + * dom/Tokenizer.h: + (WebCore::Tokenizer::asHTMLTokenizer): default implementation returns 0, to be overridden by HTMLTokenizer + * html/HTMLTokenizer.h: allow access to to the force synchronous state + (WebCore::HTMLTokenizer::forceSynchronous): accessor + (WebCore::HTMLTokenizer::asHTMLTokenizer): override the default to return itself + * manual-tests/dom/document-write-synchronous-after-page-load.html: Added. + +2010-05-07 Tor Arne Vestbø + + Reviewed by Simon Hausmann. + + [Qt] Fix rendering of -webkit-user-select: none + + -webkit-user-select: none is implemented by filling + the area with an invalid default-constructed Color. + In most ports passing an invalid color down to the + graphics backend seems to produce transparent fills. + + In Qt the behavior of painting with an invalid QColor + is undefined, and in practice it results in painting + black opaque areas. + + One way to fix this would be to use Qt::transparent + when converting an undefined Color to a QColor, but + Qt does not have short circuits for fully transparent + painting, and we actually end up in slow code paths + due to the transparency. So, we're better of doing the + short circuit in WebKit. + + https://bugs.webkit.org/show_bug.cgi?id=38523 + + * platform/graphics/qt/GraphicsContextQt.cpp: + +2010-05-07 Ben Murdoch + + Reviewed by Darin Adler. + + Potential crash in EventHandler::handleTouchEvent + https://bugs.webkit.org/show_bug.cgi?id=38646 + + Fix a ref counting bug that can cause a crash if the m_originatingouchPointTargets + hashmap holds the last ref to an EventTarget when the user lifts their finger. + + This is very hard to reproduce in a consistent way and clearly a + simple logic error in the code, therefore no new tests. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleTouchEvent): Don't let the RefPtr we get back from + the hasmap go out of scope so soon as it could delete the wrapped ptr if the + hashmap held the last ref (and we use the raw ptr that the RefPtr + wraps later in the WebCore::Touch constructor). + +2010-05-07 Gustavo Noronha Silva + + Rubber-stamped by Kenneth Rohde Christiansen. + + [GTK] Fails to build on GTK+ < 2.14 + https://bugs.webkit.org/show_bug.cgi?id=38746 + + Build fix only. Do basically the same as gtk_adjustment_configure + would do if we are bellow GTK+ 2.14. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::AdjustmentConfigure): + +2010-05-07 Gustavo Noronha Silva + + Rubber-stamped by Xan Lopez. + + Crash with MgOpenModerna font, with non-UTF-8 character + https://bugs.webkit.org/show_bug.cgi?id=37795 + + NULL-check the font platform data, for now, to avoid the crash. + + Could not yet figure out a way to get a test written that does not + involve adding the font to the tree, but there are doubts about + licensing. + + * platform/graphics/cairo/FontCacheCairo.cpp: + (WebCore::FontCache::getFontDataForCharacters): + +2010-05-07 MORITA Hajime + + Reviewed by Eric Seidel. + + [Chromium] RenderThemeChromiumMac.mm should share the code with RenderThemeMac.mm + https://bugs.webkit.org/show_bug.cgi?id=37204 + + Made RenderThemeChromiumMac subclass of RenderThemeMac, instead of RenderTheme. + Added some method to RenderThemeMac for overriding on RenderThemeChromiumMac. + + No new tests; Should have no behavioural change. + + * WebCore.gyp/WebCore.gyp: + * rendering/RenderThemeChromiumMac.h: + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor): + (WebCore::RenderThemeChromiumMac::documentViewFor): + (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize): + (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): + (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): + * rendering/RenderThemeMac.h: + (WebCore::RenderThemeMac::updateActiveState): Added for overriding + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::usesTestModeFocusRingColor): Added for overriding + (WebCore::RenderThemeMac::documentViewFor): Added for overriding + (WebCore::RenderThemeMac::paintMenuList): + (WebCore::RenderThemeMac::setPopupButtonCellState): + (WebCore::RenderThemeMac::paintSliderThumb): + (WebCore::RenderThemeMac::paintSearchField): + (WebCore::RenderThemeMac::setSearchCellState): + (WebCore::RenderThemeMac::paintSearchFieldCancelButton): + (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeMac::paintSearchFieldResultsButton): + (WebCore::RenderThemeMac::adjustSliderThumbSize): + (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Added for overriding + (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): + +2010-05-06 Fumitoshi Ukai + + Reviewed by Alexey Proskuryakov. + + JavaScriptCore/wtf/RandomNumber.h should provide using WTF::* + https://bugs.webkit.org/show_bug.cgi?id=38719 + + * platform/graphics/wince/FontCustomPlatformData.cpp: + (WebCore::createUniqueFontName): + Remove WTF:: prefix from randomNumber() + * platform/network/FormDataBuilder.cpp: + (WebCore::FormDataBuilder::generateUniqueBoundaryString): + Ditto. + +2010-04-27 Tony Chang + + Reviewed by Eric Seidel. + + [chromium] clicking a scrollbar in an iframe shouldn't lose the selection + https://bugs.webkit.org/show_bug.cgi?id=38189 + + Test: fast/events/mousedown-in-subframe-scrollbar.html + + * page/chromium/EventHandlerChromium.cpp: + (WebCore::EventHandler::passMousePressEventToSubframe): If clicking on + a scrollbar, pass the event directly to the scrollbar. This matches + mac which passes the event to the NSScroller. + +2010-05-06 Simon Fraser + + Reviewed by Dan Bernstein. + + Compositing layers that are clipped out by an overflow:scroll parent fail to get created on reveal + https://bugs.webkit.org/show_bug.cgi?id=38712 + + When compositing layer creation is testing layer overlap, we need to re-run the + algorithm when an overflow:scroll element scrolls, to create new layers for revealed + elements. + + Test: compositing/layer-creation/overflow-scroll-overlap.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::scrollToOffset): First, move the compositing updates + until after the call to updateWidgetPositions(), so that this order is similar + to what we done when a FrameView scrolls. This change has no known side effects. + Second, if compositingConsultsOverlap() is true, we need to actually do a + compositing layer update to compute whether revealed/hidden layers should + be created/destroyed. + +2010-05-06 Maciej Stachowiak + + Not reviewed, build fix. + + Try again - with quotes this time. *facepalm* + + * dom/Notation.cpp: + +2010-05-06 Maciej Stachowiak + + Not reviewed, build fix. + + Speculative fix for Qt and Gtk. + + * dom/Notation.cpp: + +2010-05-06 Maciej Stachowiak + + Not reviewed, build fix. + + Fix an assert that I failed to update in my earlier change. + + * dom/CharacterData.h: + (WebCore::CharacterData::CharacterData): + +2010-05-06 Alexey Proskuryakov + + Reviewed by Geoff Garen. + + https://bugs.webkit.org/show_bug.cgi?id=38697 + REGRESSION (r58299): Replying on reddit.com no longer works + + * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Don't recognize :first, + :left and :right. The aren't allowed in all contexts, and properly implementing them is out + of scope for this regression fix. + +2010-05-06 Jian Li + + Reviewed by Adam Barth. + + Improve code generator scripts to support converting ScriptString. + https://bugs.webkit.org/show_bug.cgi?id=38699 + + Change both JSC and V8 generators to introduce "ConvertScriptString" + attribute to allow converting from ScriptString. Also updated the + bindings test result. + + These changes are necessary in order to avoid adding custom binding codes + when we add the FileReader interface. + + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_get_script_string_attr): + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::): + (WebCore::jsTestObjScriptStringAttr): + * bindings/scripts/test/JS/JSTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj scriptStringAttr]): + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::scriptStringAttrAttrGetter): + (WebCore::): + +2010-05-06 Jian Li + + Reviewed by Adam Barth. + + Improve code generator scripts to pass additional ScriptExecutionContext + argument to the constructor. + https://bugs.webkit.org/show_bug.cgi?id=38687 + + Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext" + attribute to allow passing the additional ScriptExecutionContext argument to + the constructor. Also add another test IDL file to test interface-level + features. + + These changes are necessary in order to avoid adding custom binding codes + when we add the FileReader interface. + + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added. + * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added. + * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added. + * bindings/scripts/test/JS/JSTestInterface.cpp: Added. + * bindings/scripts/test/JS/JSTestInterface.h: Added. + * bindings/scripts/test/ObjC/DOMTestInterface.h: Added. + * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added. + * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added. + * bindings/scripts/test/TestInterface.idl: Added. + * bindings/scripts/test/V8/V8TestInterface.cpp: Added. + * bindings/scripts/test/V8/V8TestInterface.h: Added. + * bindings/v8/V8Proxy.h: + (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext): + +2010-05-06 Maciej Stachowiak + + Build fix, not reviewed. + + Speculative Windows and Debug build fixes for the last change. + + * dom/Node.h: + (WebCore::Node::inDocument): + (WebCore::Node::setFlag): + +2010-05-06 James Robinson + + Reviewed by Eric Seidel. + + Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files. + https://bugs.webkit.org/show_bug.cgi?id=38158 + + Fixes: + - replace NULL with 0 + - remove unusued locals + - add parens around ambiguous looking compound predicates like (a || b && c) + + This also adds a check for x >= 0 to FontLinux.cpp's in this statement: + if (x < walker.width()) + This is more documentation than anything else since walker.width() returns + an unsigned the current behavior is that x is promoted to unsigned and as + long as x + walker.width() is less than 2^31 all negative values of x + end up wrapping around and not being < walker.width(). This behavior is + tested by fast/text/international/khmer-selection.html + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::adjustTextRenderMode): + (WebCore::TextRunWalker::TextRunWalker): + (WebCore::TextRunWalker::length): + (WebCore::TextRunWalker::width): + (WebCore::TextRunWalker::getTextRun): + (WebCore::TextRunWalker::getNormalizedTextRun): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::setupPaint): + * platform/graphics/chromium/HarfbuzzSkia.cpp: + (WebCore::getOutlinePoint): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::isCoordinateSkiaSafe): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::strokeRect): + +2010-05-06 Ada Chan + + Reviewed by David Kilzer. + + https://bugs.webkit.org/show_bug.cgi?id=38695 + + Check the result from widget() for NULL before accessing it. + + * rendering/RenderIFrame.cpp: + (WebCore::RenderIFrame::calcHeight): + (WebCore::RenderIFrame::calcWidth): + +2010-05-06 Maciej Stachowiak + + Reviewed by Darin Adler. + + further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix + https://bugs.webkit.org/show_bug.cgi?id=38682 + + + Looks like a 1-2% speedup on PLT. + + - Reorder CSS properties. + - Remove short circuit tag check in matchRulesForList which costs more than it saves. + - Inline initForStyleResolve. + - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop. + + - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking, + to make it cheaper to initialize the bits and give faster access. + - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment, + and devirtualize those methods. + - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since + they are very simple and lots of nodes get constructed. + + * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them + with < instead of switch statements + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check + for tag match before checking selector. This check very rarely short circuits anything, + since most rules with a tag end up in the appropriate tag bucket. So doing the check + cost more time than the time saved. + (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way. + (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to + check for the high priority properties. Convert to template to avoid checking "applyFirst" + each time through the loop. + (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature. + (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto + (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto + * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature. + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::RenderStyle): Inline constructor. + * rendering/style/RenderStyle.h: Make constructor private so it can be inline. + * dom/Node.h: + (WebCore::): See high-level description of changes above. Redid the + way boolean flags work. + (WebCore::Node::isElementNode): + (WebCore::Node::isContainerNode): + (WebCore::Node::isTextNode): + (WebCore::Node::isHTMLElement): + (WebCore::Node::isSVGElement): + (WebCore::Node::isStyledElement): + (WebCore::Node::isCommentNode): + (WebCore::Node::hasID): + (WebCore::Node::hasClass): + (WebCore::Node::active): + (WebCore::Node::inActiveChain): + (WebCore::Node::inDetach): + (WebCore::Node::hovered): + (WebCore::Node::attached): + (WebCore::Node::setAttached): + (WebCore::Node::needsStyleRecalc): + (WebCore::Node::styleChangeType): + (WebCore::Node::childNeedsStyleRecalc): + (WebCore::Node::isLink): + (WebCore::Node::setHasID): + (WebCore::Node::setHasClass): + (WebCore::Node::setChildNeedsStyleRecalc): + (WebCore::Node::clearChildNeedsStyleRecalc): + (WebCore::Node::setInDocument): + (WebCore::Node::clearInDocument): + (WebCore::Node::setInActiveChain): + (WebCore::Node::clearInActiveChain): + (WebCore::Node::setIsLink): + (WebCore::Node::clearIsLink): + (WebCore::Node::setActive): + (WebCore::Node::setHovered): + (WebCore::Node::inDocument): + (WebCore::Node::): + (WebCore::Node::getFlag): + (WebCore::Node::setFlag): + (WebCore::Node::clearFlag): + (WebCore::Node::hasRareData): + (WebCore::Node::isParsingChildrenFinished): + (WebCore::Node::setIsParsingChildrenFinished): + (WebCore::Node::clearIsParsingChildrenFinished): + (WebCore::Node::isStyleAttributeValid): + (WebCore::Node::setIsStyleAttributeValid): + (WebCore::Node::clearIsStyleAttributeValid): + (WebCore::Node::isSynchronizingStyleAttribute): + (WebCore::Node::setIsSynchronizingStyleAttribute): + (WebCore::Node::clearIsSynchronizingStyleAttribute): + (WebCore::Node::areSVGAttributesValid): + (WebCore::Node::setAreSVGAttributesValid): + (WebCore::Node::clearAreSVGAttributesValid): + (WebCore::Node::isSynchronizingSVGAttributes): + (WebCore::Node::setIsSynchronizingSVGAttributes): + (WebCore::Node::clearIsSynchronizingSVGAttributes): + (WebCore::Node::hasRareSVGData): + (WebCore::Node::setHasRareSVGData): + (WebCore::Node::clearHasRareSVGData): + (WebCore::Node::initialRefCount): + * dom/Node.cpp: + (WebCore::Node::trackForDebugging): Adjusted for changes in + flag handling. + (WebCore::Node::ensureRareData): ditto + (WebCore::Node::setStyleChange): ditto + (WebCore::Node::setNeedsStyleRecalc): ditto + (WebCore::Node::lazyAttach): ditto + (WebCore::Node::attach): ditto + (WebCore::Node::detach): ditto + (WebCore::Node::insertedIntoDocument): ditto + (WebCore::Node::removedFromDocument): ditto + * dom/CharacterData.cpp: + * dom/CharacterData.h: + (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp) + * dom/Comment.cpp: + (WebCore::Comment::Comment): Tell the base class that we're a comment. + * dom/Comment.h: Remove isCommentNode override. + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::detach): Adjusted for changes in flag + handling. + (WebCore::ContainerNode::removedFromDocument): ditto + * dom/Document.cpp: + (WebCore::Document::Document): Adjusted for changes in flag handling. + (WebCore::Document::recalcStyle): ditto + (WebCore::Document::setFocusedNode): ditto + * dom/Document.h: + (WebCore::Node::Node): Inline the Node constructor - goes here + because it uses Document. + * dom/DocumentFragment.cpp: include Document.h due to above change + * dom/EditingText.cpp: ditto + * dom/EntityReference.cpp: ditto + * dom/Element.cpp: + (WebCore::Element::getAttribute): Adjusted for changes in flag + handling. + (WebCore::Element::setAttribute): ditto + (WebCore::Element::hasAttributes): ditto + (WebCore::Element::recalcStyle): ditto + (WebCore::Element::finishParsingChildren): ditto + * dom/Element.h: + (WebCore::Element::Element): Inline (moved from .cpp) + (WebCore::Element::isFinishedParsingChildren): + (WebCore::Element::beginParsingChildren): + (WebCore::Element::attributes): Adjusted for changes in flag + handling. + * dom/StyledElement.cpp: + (WebCore::StyledElement::updateStyleAttribute): Adjust for + changes to flag handling. + (WebCore::StyledElement::mapToEntry): ditto + (WebCore::StyledElement::parseMappedAttribute): ditto + (WebCore::StyledElement::copyNonAttributeProperties): ditto + * dom/StyledElement.h: + (WebCore::StyledElement::StyledElement): Inline (moved from.cpp) + (WebCore::StyledElement::invalidateStyleAttribute): Adjust for + changes in flag handling. + * dom/Text.h: + (WebCore::Text::Text): Inline (moved from .cpp) + * dom/Text.cpp: + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in + flag handling. + (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto + * html/HTMLElement.cpp: + (WebCore::HTMLElement::create): Tell base class we're an HTML element. + * html/HTMLElement.h: ditto above; remove isHTMLElement override. + * html/HTMLFormControlElement.h: Tell base class we're an HTML element. + * html/HTMLFrameOwnerElement.cpp: + (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::HTMLProgressElement): ditto + * mathml/MathMLElement.cpp: + (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled + element. + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): + Adjust for changes in flag handling. + (WebCore::MediaControlElement::MediaControlElement): ditto + (WebCore::MediaControlInputElement::MediaControlInputElement): ditto + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::updateFromElement): ditto + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateHoverActiveState): ditto + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::updateValuePartState): ditto + * rendering/RenderSlider.cpp: + (WebCore::RenderSlider::updateFromElement): ditto + * rendering/SVGShadowTreeElements.cpp: + (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerElement::attachInnerElement): ditto + * svg/SVGAnimatedProperty.h: + (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto + (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto + * svg/SVGElement.cpp: + (WebCore::SVGElement::SVGElement): Tell base class we're + an svg element. + (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling + changes. + (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto + * svg/SVGElement.h: + (WebCore::SVGElement::invalidateSVGAttributes): ditto + * svg/SVGPolyElement.cpp: + (WebCore::SVGPolyElement::svgAttributeChanged): ditto + * wml/WMLAnchorElement.cpp: + (WebCore::WMLAnchorElement::WMLAnchorElement): ditto + * wml/WMLElement.cpp: + (WebCore::WMLElement::WMLElement): Tell base class we're a styled + element. + +2010-05-06 Adam Barth + + Unreviewed. Fix indent. Sorry, my OCD was acting up. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseReleaseEvent): + +2010-05-06 Pavel Feldman + + Reviewed by Joseph Pecoraro. + + Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only. + + https://bugs.webkit.org/show_bug.cgi?id=38660 + + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView): + (WebInspector.ResourceView.prototype._selectHeadersTab): + (WebInspector.ResourceView.prototype.selectContentTab): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.showResource): + +2010-05-06 Luiz Agostini + + Rubber-stamped by Simon Hausmann. + + [Qt] use QT_MOBILE_THEME in Symbian + https://bugs.webkit.org/show_bug.cgi?id=38440 + + Putting QT_MOBILE_THEME into use for Symbian. + + * WebCore.pro: + +2010-05-06 Laszlo Gombos + + Unreviewed, build fix WinCE for QtWebKit. + + [Qt] Compilation with Plugins disabled is broken + https://bugs.webkit.org/show_bug.cgi?id=31407 + + Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on + Windows. + + Thanks for Ismail "cartman" Donmez for help. + + No new tests, as there is no new functionality. + + * WebCore.gypi: + * WebCore.pro: + * platform/qt/TemporaryLinkStubs.cpp: Removed. + * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp. + +2010-05-06 Simon Hausmann + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases + https://bugs.webkit.org/show_bug.cgi?id=36755 + + Enable the direct connection between QtNetwork and QtWebKit only for Qt versions + greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2. + + * platform/network/qt/QNetworkReplyHandler.cpp: + +2010-05-06 Gustavo Noronha Silva + + Reviewed by Xan Lopez. + + Rework where we get page step and line step from, so we do not + depend on scrollbars existing. Caught by API test I forgot to run. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): + +2010-05-06 Gustavo Noronha Silva + + Reviewed by Xan Lopez. + + [GTK] Adjustment resetting uses wrong values, and misses page_size and steps + https://bugs.webkit.org/show_bug.cgi?id=38657 + + Fix resetting adjustment values. In the page cache case, we were + confusing page_size and upper, leading to stray scrollbars + sometimes. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): + +2010-05-06 Darin Adler + + Reviewed by Beth Dakin. + + Page::setCanStartMedia does not properly handle the case where a media listener is removed + https://bugs.webkit.org/show_bug.cgi?id=38602 + + We can't find any real case where this causes a crash at this time, but + we want to harden the code anyway. Thus there are no new regression tests. + + * page/Page.cpp: + (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion. + (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners + one at a time and don't notify any listener that has already been removed + from the set. + +2010-05-05 Ojan Vafai + + Reviewed by Darin Adler. + + shift+click on an existing selection doesn't work right + https://bugs.webkit.org/show_bug.cgi?id=36542 + + NSTextView behavior is to move the end of the selection + closest to the shift-click. Win/Linux behavior is to always + move the focus end of the selection. + + Test: editing/selection/shift-click.html + + * page/EventHandler.cpp: + (WebCore::textDistance): + (WebCore::EventHandler::handleMousePressEventSingleClick): + +2010-05-06 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: implement panels history traversal on Cmd+Left/Right. + + https://bugs.webkit.org/show_bug.cgi?id=38649 + + * inspector/front-end/inspector.js: + (WebInspector.set currentPanel): + (WebInspector.loaded): + (WebInspector.documentKeyDown): + (WebInspector.PanelHistory): + (WebInspector.PanelHistory.prototype.canGoBack): + (WebInspector.PanelHistory.prototype.goBack): + (WebInspector.PanelHistory.prototype.canGoForward): + (WebInspector.PanelHistory.prototype.goForward): + (WebInspector.PanelHistory.prototype.setPanel): + +2010-05-03 Evan Martin + + Reviewed by Eric Seidel. + + [chromium] use glyphDataForCharacter so we hit the glyphdata cache + https://bugs.webkit.org/show_bug.cgi?id=38500 + + Calling fontDataForCharacters() while rendering text is expensive. + Examining the relevant Mac code in WebKit revealed that calling the + similarly-named glyphDataForCharacters() results in caching the font + data on a per-glyph basis. + + Since we now choose a font based on the first character in a run, we + need to be careful that all the glyphs within the run use the same font. + This is also similar to the WebKit Mac code. We need to remove all of + the script run bits eventually and this is a step in that direction. + + Tests: fast/text/international/danda-space.html spacing changes slightly + (now matches Firefox better) and fast/text/international/thai-baht-space.html + now picks the correct (serif) font for the digits. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::nextScriptRun): + (WebCore::TextRunWalker::setupFontForScriptRun): + +2010-05-06 Martin Robinson + + Reviewed by Gustavo Noronha Silva. + + [GTK] Enable DOM clipboard and drag-and-drop access + https://bugs.webkit.org/show_bug.cgi?id=30623 + + Convert dragging portion of drag-and-drop to use DataObjectGtk. + + No new tests, because functionality has not changed. + + * page/gtk/EventHandlerGtk.cpp: + (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here. + * platform/gtk/ClipboardGtk.h: + (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here. + (WebCore::ClipboardGtk::helper): Added. + (WebCore::ClipboardGtk::dataObject): Added. + * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method. + +2010-05-06 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: Do not show content tab for resources + not supporting content preview. + + https://bugs.webkit.org/show_bug.cgi?id=38635 + + * English.lproj/localizedStrings.js: + * inspector/front-end/FontView.js: + (WebInspector.FontView.prototype.hasContentTab): + * inspector/front-end/ImageView.js: + (WebInspector.ImageView.prototype.hasContentTab): + * inspector/front-end/ResourceView.js: + (WebInspector.ResourceView): + (WebInspector.ResourceView.prototype._selectTab): + (WebInspector.ResourceView.prototype.hasContentTab): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype.hasContentTab): + +2010-05-06 Antonio Gomes + + Reviewed by Kenneth Christiansen. + + Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document* + https://bugs.webkit.org/show_bug.cgi?id=37803 + + Instead of receiving a Document pointer as incoming parameter, patch modifies + findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to + receive a Node pointer as start for content traversal. + This way we can make good use of deepFindFocusableNodeInDirection to traverse + other scrollable container like scrollable div's, and not only frames or iframes. + + Patch also makes use of 'while' instead of 'for' to loop control, that gives move + flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental + step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling(). + + No behavior change. It is a preparation for supporting scrollable containers in Spatial + Navigation. + + * page/FocusController.cpp: + (WebCore::FocusController::advanceFocusDirectionally): + (WebCore::FocusController::findFocusableNodeInDirection): + (WebCore::FocusController::deepFindFocusableNodeInDirection): + * page/FocusController.h: + +2010-05-06 Csaba Osztrogonác + + Unreviewed WinCE buildfix after r58842. + Preprocessor doesn't understand "true", changed to "1" + + * platform/graphics/MediaPlayer.cpp: + +2010-05-06 Mikhail Naganov + + Reviewed by Pavel Feldman. + + Temporarily disable 'console.profiles' until we can distinguish + functions from different frames + + https://bugs.webkit.org/show_bug.cgi?id=38638 + + * bindings/v8/custom/V8ConsoleCustom.cpp: + (WebCore::V8Console::profilesAccessorGetter): + +2010-05-06 Steve Block + + Reviewed by Eric Seidel. + + MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE + https://bugs.webkit.org/show_bug.cgi?id=38544 + + No new tests, build fix only. + + * DerivedSources.make: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::ScriptController): + * bindings/js/ScriptController.h: + * bindings/js/ScriptControllerMac.mm: + (WebCore::ScriptController::createScriptInstanceForWidget): + * bridge/jni/JNIBridge.cpp: + * bridge/jni/JNIBridge.h: + * bridge/jni/JNIUtility.cpp: + * bridge/jni/JNIUtility.h: + * bridge/jni/jni_jsobject.h: + * bridge/jni/jni_jsobject.mm: + * bridge/jni/jni_objc.mm: + * bridge/jni/jsc/JNIBridgeJSC.cpp: + * bridge/jni/jsc/JNIBridgeJSC.h: + * bridge/jni/jsc/JNIUtilityPrivate.cpp: + * bridge/jni/jsc/JNIUtilityPrivate.h: + * bridge/jni/jsc/JavaClassJSC.cpp: + * bridge/jni/jsc/JavaClassJSC.h: + * bridge/jni/jsc/JavaInstanceJSC.cpp: + * bridge/jni/jsc/JavaInstanceJSC.h: + * loader/FrameLoaderClient.h: + +2010-05-05 Alejandro G. Castro + + Reviewed by Xan Lopez. + + Fixed the gobject introspection compilation with the new DOM + bindings, we needed to add DOM objects. + + * GNUmakefile.am: + +2010-05-06 Adam Barth + + Reviewed by Eric Seidel. + + drop support for sessionStorage in sandbox iframes + https://bugs.webkit.org/show_bug.cgi?id=38151 + + This patch causes us to throw a security exception when a sandboxed + iframe attempts to access sessionStorage, matching our behavior for + localStorage. The letter of the spec asks us to create a separate + storage area for each unique origin. We might want to do that in a + future patch, but throwing a security error seems like a safe move now. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::sessionStorage): + (WebCore::DOMWindow::localStorage): + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/SecurityOrigin.h: + (WebCore::SecurityOrigin::canAccessSessionStorage): + * storage/StorageEventDispatcher.cpp: + (WebCore::StorageEventDispatcher::dispatch): + +2010-05-06 Andy Estes + + Reviewed by Maciej Stachowiak. + + Allow forms submitting to target="_blank" to open popups if the submission + originated from a user gesture. + + https://bugs.webkit.org/show_bug.cgi?id=37335 + + + Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html + + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::processingUserGesture): If no DOM event is + being processed, consult UserGestureIndicator to determine return value. + * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent() + into processingUserGesture(). + +2010-05-06 Xan Lopez + + Rubber-stamped by Eric Seidel. + + [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm + https://bugs.webkit.org/show_bug.cgi?id=38577 + + Thinko caught while refactoring, $custom variable was not + initialized. + + * bindings/scripts/CodeGeneratorGObject.pm: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_set_property): + (webkit_dom_test_obj_get_property): + (webkit_dom_test_obj_class_init): + +2010-05-06 Xan Lopez + + Rubber-stamped by Eric Seidel. + + [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm + https://bugs.webkit.org/show_bug.cgi?id=38577 + + Refactor GenerateProperty out of GenerateProperties. This is in + preparation for EventListeren attributes, which won't generate + normal GObject properties. + + * bindings/scripts/CodeGeneratorGObject.pm: + +2010-05-06 Pavel Feldman + + Reviewed by Joseph Pecoraro. + + Web Inspector: follow up to linkify event listeners. + + https://bugs.webkit.org/show_bug.cgi?id=38257 + + * bindings/js/ScriptEventListener.cpp: + (WebCore::eventListenerHandlerLocation): + * bindings/v8/ScriptEventListener.cpp: + (WebCore::eventListenerHandlerLocation): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.linkifyNodeReference): + * inspector/front-end/EventListenersSidebarPane.js: + +2010-05-05 Charles Wei + + Reviewed by George Staikos + + https://bugs.webkit.org/show_bug.cgi?id=37848 + This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit + + Tests: fast/wcss/wap-input-format.xhtml + fast/wcss/wap-input-required.xhtml + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseWCSSInputProperty): + * css/CSSParser.h: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/WCSSPropertyNames.in: + * dom/InputElement.cpp: + (WebCore::InputElement::sanitizeValue): + (WebCore::InputElement::handleBeforeTextInsertedEvent): + (WebCore::InputElementData::InputElementData): + (WebCore::formatCodes): + (WebCore::cursorPositionToMaskIndex): + (WebCore::InputElement::isConformToInputMask): + (WebCore::InputElement::validateInputMask): + * dom/InputElement.h: + (WebCore::InputElementData::inputFormatMask): + (WebCore::InputElementData::setInputFormatMask): + (WebCore::InputElementData::maxInputCharsAllowed): + (WebCore::InputElementData::setMaxInputCharsAllowed): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::setWapInputFormat): + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::data): + * wml/WMLInputElement.h: + (WebCore::WMLInputElement::data): + +2010-05-05 MORITA Hajime + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=38150 + Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer. + + Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler() + which accesses the renderer from foreign node, + to TextControlInnerTextElement::defaultEventHandler() which owns the renderer. + + No new tests. No behavioral change. + + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElementWithState::defaultEventHandler): + * html/HTMLFormControlElement.h: + * html/HTMLInputElement.h: + * html/HTMLTextAreaElement.h: + * rendering/TextControlInnerElements.cpp: + (WebCore::TextControlInnerTextElement::defaultEventHandler): + +2010-05-05 Joseph Pecoraro + + Reviewed by Timothy Hatcher. + + Web Inspector: Line Numbers should be Aligned with the Source Code Line + https://bugs.webkit.org/show_bug.cgi?id=38593 + + If there is a message bubble, such as an error message, in a source view + the line number should be in line with the source code line, not centered + between the source and bubble. + + * inspector/front-end/textViewer.css: + (.webkit-line-number): added vertical-align: top + +2010-05-05 Dan Bernstein + + Fix the decelerated compositing build. + + * page/FrameView.cpp: + (WebCore::FrameView::isEnclosedInCompositingLayer): + * page/FrameView.h: + +2010-05-05 Gavin Barraclough + + Reviewed by Darin Adler. + + Bug 38604 - workers-gc2 crashing on Qt + + This appears to be due to a couple of issues. + (1) When the atomic string table is deleted it does not clear the 'inTable' bit + on AtomicStrings - it implicitly assumes that all AtomicStrings have already + been deleted at this point (otherwise they will crash in their destructor when + they try to remove themselves from the atomic string table). + (2) We don't fix the ordering in which WTF::WTFThreadData and + WebCore::ThreadGlobalData are destructed. + + We should make sure that ThreadGlobalData is cleaned up before worker threads + terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable + bit of members on atomic string table destruction. + + WTF changes (fix issue 2, above) - clean up the thread data on worker termination. + + * platform/ThreadGlobalData.cpp: + (WebCore::ThreadGlobalData::~ThreadGlobalData): + (WebCore::ThreadGlobalData::destroy): + * platform/ThreadGlobalData.h: + * workers/WorkerThread.cpp: + (WebCore::WorkerThread::workerThread): + +2010-05-05 Dan Bernstein + + Reviewed by Simon Fraser. + + Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1) + https://bugs.webkit.org/show_bug.cgi?id=38427 + + Test: compositing/iframes/iframe-in-composited-layer.html + + * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer(). + * page/FrameView.cpp: + (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate. + * page/FrameView.h: + +2010-05-05 Chris Marrin + + Reviewed by Simon Fraser. + + Got composited iframes showing up on Mac again + https://bugs.webkit.org/show_bug.cgi?id=38565 + + This was broken by http://trac.webkit.org/changeset/58798. That + change connected iframes through the parent document to the root + of the layer tree. That is correct for Windows, but not for Mac. + So the places where the linkage is made were wrapped in + shouldPropagateCompositingToIFrameParent() calls, which is + always false for Mac. + + Test: compositing/iframes/composited-iframe-alignment.html + + * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac + (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): + (WebCore::RenderLayerCompositor::didMoveOnscreen): + (WebCore::RenderLayerCompositor::willMoveOffscreen): + (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): + +2010-05-05 Alexey Proskuryakov + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=38260 + Fix whitespace removing in deprecatedParseURL(). + + Broken all the way since r4 (yes, that's a revision number). + + Test: http/tests/security/xss-DENIED-javascript-with-spaces.html + + * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length. + +2010-05-05 Chris Fleizach + + Reviewed by Beth Dakin. + + Many AXUnknown showing up in the hierarchy + https://bugs.webkit.org/show_bug.cgi?id=38607 + + The RenderTableSection should not be an accessible element. + + Test: platform/mac/accessibility/parent-of-table-row-is-table.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::determineAccessibilityRole): + +2010-05-05 Csaba Osztrogonác + + Reviewed by Simon Hausmann. + + [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements + Fall back to the Phonon backend until the release situation has been cleared up. + + https://bugs.webkit.org/show_bug.cgi?id=38612 + + Buildfix for QT_VERSION >= 0x040700 after r58810. + + * platform/graphics/MediaPlayer.cpp: + +2010-05-05 Jian Li + + Reviewed by David Levin. + + XMLHttpRequestUpload events do not fire when sending a raw file or FormData object. + https://bugs.webkit.org/show_bug.cgi?id=37771 + + Test: http/tests/local/formdata/upload-events.html + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::createRequest): + +2010-05-05 Csaba Osztrogonác + + Reviewed by Simon Hausmann. + + [Qt] Qt port should use its own QUuid class to create UUID string. + https://bugs.webkit.org/show_bug.cgi?id=38581 + + * platform/UUID.cpp: + (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case. + +2010-05-05 Alexey Proskuryakov + + Roll out r58830 for breaking tests. + + Was: https://bugs.webkit.org/show_bug.cgi?id=38546 + Node.focus() fails to move focus from subframe properly + + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::setFocus): + +2010-05-05 Jian Li + + Reviewed by Adam Barth. + + Implement FileReader class. + https://bugs.webkit.org/show_bug.cgi?id=38157 + + This patch only contains the implementation of FileReader class as defined + in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader. + + New test will be added when a IDL is exposed and the FILE_READER is turned + on. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * dom/EventNames.h: + * dom/EventTarget.cpp: + (WebCore::EventTarget::toFileReader): + * dom/EventTarget.h: + * html/FileError.h: + (WebCore::FileError::FileError): + * html/FileReader.cpp: Added. + * html/FileReader.h: Added. + * html/FileStream.cpp: + (WebCore::FileStream::FileStream): + (WebCore::FileStream::openForRead): + (WebCore::FileStream::close): + (WebCore::FileStream::read): + * html/FileStream.h: + +2010-05-05 Steve Falkenburg + + Reviewed by Maciej Stachowiak. + + REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit + https://bugs.webkit.org/show_bug.cgi?id=38595 + + * platform/graphics/cg/ImageSourceCG.cpp: + (WebCore::ImageSource::setData): + +2010-05-05 Alexey Proskuryakov + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=38546 + Node.focus() fails to move focus from subframe properly + + Test: fast/frames/take-focus-from-iframe.html + + * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear + focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas + of focused frame get out of sync temporarily. + +2010-05-05 Alexey Proskuryakov + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=26824 + EventHandler can operate on a wrong frame if focus changes during + keyboard event dispatch. + + EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard + event if focused frame changes between keydown and keypress. + + * manual-tests/focus-change-between-key-events.html: Added. + + * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame + changes while dispatching keydown. Also made similar changes for Windows to maintain matching + behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being + separate events. + +2010-05-05 Steve Block + + Reviewed by Adam Barth. + + MediaError.h is missing PassRefPtr.h include + https://bugs.webkit.org/show_bug.cgi?id=38575 + + No new tests, build fix only. + + * html/MediaError.h: + +2010-05-05 Alexander Pavlov + + Reviewed by Pavel Feldman. + + Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page + https://bugs.webkit.org/show_bug.cgi?id=38579 + + * inspector/front-end/AuditLauncherView.js: + (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState): + (WebInspector.AuditLauncherView.prototype._updateResourceProgress): + +2010-05-05 Pavel Feldman + + Reviewed by Joseph Pecoraro. + + Web Inspector: Doubleclick on line number should not trigger source editing. + + https://bugs.webkit.org/show_bug.cgi?id=38588 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._handleDoubleClick): + +2010-05-05 Martin Robinson + + Reviewed by Gustavo Noronha. + + [GTK] Enable DOM clipboard and drag-and-drop access + https://bugs.webkit.org/show_bug.cgi?id=30623 + + Add support in the PasteboardHelper for images, in preparation for drag-and-drop data. + + No new tests as functionality has not changed. + + * platform/gtk/PasteboardHelper.cpp: + (WebCore::PasteboardHelper::fillSelectionData): Add support for images here. + (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here. + +2010-05-05 Stuart Morgan + + Reviewed by Darin Fisher. + + Add a "focused" parameter to Widget::setFocus, and updates Document + so that Widget is informed of focus loss as well as focus gain. + Changes all existing setFocus implementations so that they ignore + the 'false' case, so no behavior is changed until individual + platforms are updated to handle the new case (if they want to). + + https://bugs.webkit.org/show_bug.cgi?id=37961 + + * dom/Document.cpp: + (WebCore::Document::setFocusedNode): + * platform/Widget.h: + * platform/android/WidgetAndroid.cpp: + (WebCore::Widget::setFocus): + * platform/chromium/WidgetChromium.cpp: + (WebCore::Widget::setFocus): + * platform/efl/WidgetEfl.cpp: + (WebCore::Widget::setFocus): + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::setFocus): + * platform/haiku/WidgetHaiku.cpp: + (WebCore::Widget::setFocus): + * platform/mac/WidgetMac.mm: + (WebCore::Widget::setFocus): + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::setFocus): + * platform/win/WidgetWin.cpp: + (WebCore::Widget::setFocus): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::setFocus): + * plugins/PluginView.h: + * plugins/PluginViewNone.cpp: + (WebCore::PluginView::setFocus): + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::setFocus): + * plugins/mac/PluginViewMac.cpp: + (WebCore::PluginView::setFocus): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::setFocus): + * plugins/symbian/PluginViewSymbian.cpp: + (WebCore::PluginView::setFocus): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::setFocus): + +2010-05-05 Steve Block + + Reviewed by Pavel Feldman. + + Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack + https://bugs.webkit.org/show_bug.cgi?id=38531 + + ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer + is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being + built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER). + + No new tests, build fix only. + + * bindings/v8/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::callLocation): + (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer + (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer + * bindings/v8/ScriptCallStack.h: + (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer + * bindings/v8/ScriptDebugServer.cpp: + * bindings/v8/ScriptDebugServer.h: + +2010-05-05 Csaba Osztrogonác + + Rubber-stamped by Simon Hausmann. + + [Qt] REGRESSION(r56869): WinCE build is broken + https://bugs.webkit.org/show_bug.cgi?id=36929 + + * WebCore.pro: LIBS += -lOle32 added. + +2010-05-05 Simon Hausmann + + Reviewed by Tor Arne Vestbø. + + [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements + + Fall back to the Phonon backend until the release situation has been cleared up. + + * WebCore.pro: + +2010-05-05 Ilya Tikhonovsky + + Reviewed by Pavel Feldman. + + WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records. + https://bugs.webkit.org/show_bug.cgi?id=38542 + + * inspector/front-end/TimelinePanel.js: + (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): + (WebInspector.TimelineRecordListRow): + (WebInspector.TimelineRecordListRow.prototype.update): + (WebInspector.TimelinePanel.FormattedRecord): + (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): + (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): + (WebInspector.TimelinePanel.PopupContentHelper): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow): + (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow): + +2010-05-05 Nikolas Zimmermann + + Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition. + + * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added. + (WebKit::kit): + (webkit_dom_test_callback_callback_with_class1param): + (webkit_dom_test_callback_callback_with_class2param): + (webkit_dom_test_callback_callback_with_non_bool_return_type): + (WebKit::wrapTestCallback): + (WebKit::core): + (webkit_dom_test_callback_finalize): + (webkit_dom_test_callback_set_property): + (webkit_dom_test_callback_get_property): + (webkit_dom_test_callback_class_init): + (webkit_dom_test_callback_init): + * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added. + * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added. + * bindings/scripts/test/ObjC/DOMTestCallback.h: Added. + * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added. + (-[DOMTestCallback dealloc]): + (-[DOMTestCallback finalize]): + (-[DOMTestCallback callbackWithClass1Param:]): + (-[DOMTestCallback callbackWithClass2Param:strArg:]): + (-[DOMTestCallback callbackWithNonBoolReturnType:]): + (-[DOMTestCallback customCallback:class6Param:]): + (core): + (kit): + * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added. + +2010-05-05 Joseph Pecoraro + + Reviewed by Pavel Feldman. + + Web Inspector: FontView needs Cleanup + https://bugs.webkit.org/show_bug.cgi?id=38567 + + FontView was missing some of the newer practices for initialization + that other Resource Views had. Also its width calculations could + result in a single character wrapping. This is general cleanup. + + * inspector/front-end/FontView.js: + (WebInspector.FontView): move initialization into contentTabSelected + (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views + (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing + +2010-05-05 Dirk Schulze + + Reviewed by Nikolas Zimmermann. + + SVG hit testing is *way* too slow + https://bugs.webkit.org/show_bug.cgi?id=19312 + + Use the cached stroke and fill boundaries in RenderPath as a heuristik to + speed up SVG's hit testing. + + No new tests added. + + * rendering/RenderPath.cpp: + (WebCore::RenderPath::fillContains): + (WebCore::RenderPath::strokeContains): + +2010-05-04 Dumitru Daniliuc + + Reviewed by Adam Barth. + + Auto-generate all Database callbacks. + https://bugs.webkit.org/show_bug.cgi?id=38503 + + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSCustomSQLStatementCallback.cpp: Removed. + * bindings/js/JSCustomSQLStatementCallback.h: Removed. + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + (WebCore::JSSQLStatementErrorCallback::handleEvent): + * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed. + * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed. + * bindings/js/JSCustomSQLTransactionCallback.h: Removed. + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed. + * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed. + * bindings/js/JSDatabaseCallback.cpp: Removed. + * bindings/js/JSDatabaseCallback.h: Removed. + * bindings/js/JSDatabaseCustom.cpp: + (WebCore::JSDatabase::changeVersion): + (WebCore::createTransaction): + * bindings/js/JSSQLTransactionCustom.cpp: + (WebCore::JSSQLTransaction::executeSql): + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/test/JS/JSTestCallback.cpp: + * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed. + * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed. + * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: + (WebCore::V8SQLStatementErrorCallback::handleEvent): + * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed. + * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed. + * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed. + * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed. + * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed. + * bindings/v8/custom/V8DatabaseCallback.cpp: Removed. + * bindings/v8/custom/V8DatabaseCallback.h: Removed. + * bindings/v8/custom/V8DatabaseCustom.cpp: + (WebCore::V8Database::changeVersionCallback): + (WebCore::createTransaction): + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + (WebCore::V8SQLTransaction::executeSqlCallback): + * storage/DatabaseCallback.h: + * storage/DatabaseCallback.idl: Added. + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::performCallback): + * storage/SQLStatementCallback.h: + * storage/SQLStatementCallback.idl: Added. + * storage/SQLStatementErrorCallback.idl: Added. + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::deliverTransactionCallback): + * storage/SQLTransactionCallback.h: + * storage/SQLTransactionCallback.idl: Added. + * storage/SQLTransactionErrorCallback.h: + * storage/SQLTransactionErrorCallback.idl: Added. + +2010-05-04 Chris Marrin + + Reviewed by Simon Fraser. + + Made composited iframes work on Windows + https://bugs.webkit.org/show_bug.cgi?id=32446 + + This completes the work in http://trac.webkit.org/changeset/57919 + to create compositing layers in the parent document when an iframe has + a compositing layer. The parent document has a layer for the iframe + element and builds a layer tree to the page root. The layer tree for the + iframe document is then parented to the iframe element's GraphicsLayer. + + The RenderLayerCompositor for the iframe document (which owns the + root of the layer tree) now has a clippingLayer which is the + parent of the layer tree root so it can be clipped to the parent + iframe's bounds, taking into account borders, padding, etc. in + the parent iframe element. + + I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer + + Test: compositing/iframes/composited-parent-iframe.html + + * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content + * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element + * rendering/RenderLayerCompositor.h: + +2010-05-03 Alexey Proskuryakov + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=38497 + Make sure that http URLs always have a host in SecurityOrigin + + This is a hardening fix, and behavior really depends on what an underlying networking layer + does. So, no test. + + * page/SecurityOrigin.cpp: + (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading. + (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities + have the same security origin. + +2010-05-04 Zhenyao Mo + + Reviewed by Dimitri Glazkov. + + getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names. + https://bugs.webkit.org/show_bug.cgi?id=38236 + + * html/canvas/CanvasObject.h: Add type check functions. + (WebCore::CanvasObject::isBuffer): + (WebCore::CanvasObject::isFramebuffer): + (WebCore::CanvasObject::isProgram): + (WebCore::CanvasObject::isRenderbuffer): + (WebCore::CanvasObject::isShader): + (WebCore::CanvasObject::isTexture): + * html/canvas/WebGLBuffer.h: Add type check functions. + (WebCore::WebGLBuffer::isBuffer): + * html/canvas/WebGLFramebuffer.h: Add type check functions. + (WebCore::WebGLFramebuffer::isFramebuffer): + * html/canvas/WebGLProgram.h: Add type check functions. + (WebCore::WebGLProgram::isProgram): + * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name. + * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name. + (WebCore::WebGLRenderbuffer::isRenderbuffer): + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones. + (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name. + (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name. + * html/canvas/WebGLRenderingContext.h: Add find* functions. + * html/canvas/WebGLShader.h: Add type check functions. + (WebCore::WebGLShader::isShader): + * html/canvas/WebGLTexture.cpp: remove constructor using existing name. + * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name. + (WebCore::WebGLTexture::isTexture): + +2010-05-04 Luiz Agostini + + Reviewed by Simon Hausmann. + + [Qt] QT_MOBILE_THEME compile time flag + https://bugs.webkit.org/show_bug.cgi?id=38439 + + Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to + USE(QT_MOBILE_THEME). + + * WebCore.pro: + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::RenderThemeQt): + (WebCore::RenderThemeQt::qStyle): + (WebCore::RenderThemeQt::extraDefaultStyleSheet): + (WebCore::RenderThemeQt::adjustMenuListButtonStyle): + (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists): + * platform/qt/RenderThemeQt.h: + +2010-05-04 Joseph Pecoraro + + Reviewed by Dan Bernstein. + + SVG fonts trigger GlyphPage::fill with null font + https://bugs.webkit.org/show_bug.cgi?id=38530 + + SVG fonts do not use the glyph page cache. This change detects when + attempting to fill a GlyphPage with an SVG font and indicates that + the glyphs were not available. + + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts + (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate + +2010-05-04 Kent Tamura + + Reviewed by David Levin (and unofficially by Enrica Casucci). + + REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work + if the text is like a URL + https://bugs.webkit.org/show_bug.cgi?id=38374 + + Since r54368, documentFragmentFromDragData() creates an element + with no anchor text for URL-like text dragged from input/textarea + element. If such text is dropped to input/textarea element, the text + is not inserted. + To fix this problem, use the original text or the URL as an anchor + text. + + Test: editing/pasteboard/drag-drop-url-text.html + + * page/DragController.cpp: + (WebCore::documentFragmentFromDragData): + +2010-05-04 Steve Block + + Reviewed by Darin Adler. + + JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong() + https://bugs.webkit.org/show_bug.cgi?id=38525 + + No new tests, build fix only. + + * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC) + * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h + * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h + +2010-05-04 Steve Block + + Reviewed by Darin Adler. + + New FileSystemPOSIX functions cause linker errors on Android + https://bugs.webkit.org/show_bug.cgi?id=38521 + + No new tests, build fix only. + + * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp + * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID) + +2010-05-04 Pavel Feldman + + Reviewed by Timothy Hatcher. + + Web Inspector: restore main and sidebar scroller positions + when switching between panels. + + https://bugs.webkit.org/show_bug.cgi?id=38522 + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor): + * inspector/front-end/Panel.js: + (WebInspector.Panel.prototype.show): + (WebInspector.Panel.prototype.hide): + (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor): + (WebInspector.Panel.prototype._storeScrollPositions): + (WebInspector.Panel.prototype._restoreScrollPositions): + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor): + +2010-05-04 Steven Lai + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=37900 + cloneNode() does not preserve z-index with more than six digits + + Tests: fast/dom/HTMLInputElement/clone-input-checked.html + fast/dom/clone-node-z-index.html + + * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes() + (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::updateCheckedRadioButtons): + (WebCore::HTMLInputElement::attach): + (WebCore::HTMLInputElement::setChecked): + * html/HTMLInputElement.h: + +2010-04-29 John Gregg + + Reviewed by Dmitry Titov. + + notifications should have dir and replaceId attributes. + Note that tests are only enabled in Chromium, skipped elsewhere + since notifications aren't implemented. + https://bugs.webkit.org/show_bug.cgi?id=38336 + + Tests: fast/notifications/notifications-replace.html + fast/notifications/notifications-rtl.html + + * notifications/Notification.h: + (WebCore::Notification::dir): + (WebCore::Notification::setDir): + (WebCore::Notification::replaceId): + (WebCore::Notification::setReplaceId): + * notifications/Notification.idl: + +2010-05-04 Alejandro G. Castro + + Reviewed by Xan Lopez. + + Fixed error defining the float/double minimum in the object + properties, the smallest value of a float/double is + -G_MAXDOUBLE/-G_MAXFLOAT. + + * bindings/scripts/CodeGeneratorGObject.pm: + +2010-05-03 Joseph Pecoraro + + Reviewed by Dan Bernstein. + + REGRESSION: Text clipped in absolutely positioned search inputs + https://bugs.webkit.org/show_bug.cgi?id=38468 + + Previously I incorrectly added x() and y() to the tx and ty positioning. + This clips a search input like a text input, respecting the vertically + centered text. + + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY + (WebCore::RenderTextControlSingleLine::controlClipRect): + +2010-05-04 Alexander Pavlov + + Reviewed by Timothy Hatcher. + + Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties + https://bugs.webkit.org/show_bug.cgi?id=38516 + + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertyTreeElement.prototype): + +2010-05-04 Ben Murdoch + + Reviewed by Simon Hausmann. + + Crash in handleTouchEvent: using dangling node ptrs in hashmap + https://bugs.webkit.org/show_bug.cgi?id=38514 + + When navigating away from a page, if you have your finger still + pressed and then lift it on the new page we see a crash if the + node got deleted as we still have a dangling pointer in the + m_originatingTouchPointTargets hashmap and try to use it as the + receiver to dispatch a touchend event. + + Test: fast/events/touch/touch-stale-node-crash.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::clear): Clear the hashmap of touch targets. + +2010-05-04 Joseph Pecoraro + + Reviewed by Pavel Feldman. + + Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel + https://bugs.webkit.org/show_bug.cgi?id=38510 + + * inspector/front-end/inspector.js: + (WebInspector.set attached): resize the drawer after docking/undocking + +2010-05-04 Laszlo Gombos + + Unreviewed, build fix for Symbian. + + [Symbian] Build fix after r58598. + + Use C99 integer types for the Symbian plugin + implementation. + + No new tests, as there is no new functionality. + + * plugins/symbian/PluginPackageSymbian.cpp: + (WebCore::PluginPackage::NPVersion): + * plugins/symbian/PluginViewSymbian.cpp: + (WebCore::PluginView::handlePostReadFile): + +2010-05-04 Nikolas Zimmermann + + Reviewed by Dirk Schulze. + + Split SVGCharacterLayoutInfo in smaller pieces + https://bugs.webkit.org/show_bug.cgi?id=38513 + + Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo. + This is a preparation for more work in the text area. + + * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build. + * GNUmakefile.am: Ditto. + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp. + * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h. + (WebCore::SVGChar::SVGChar): + * rendering/SVGCharacterLayoutInfo.cpp: + (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent. + (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function. + (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto + * rendering/SVGCharacterLayoutInfo.h: + * rendering/SVGRootInlineBox.h: Include new files. + * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h. + +2010-05-04 Xan Lopez + + Reviewed by Holger Freyther. + + [GTK] GObject DOM bindings + https://bugs.webkit.org/show_bug.cgi?id=33590 + + Use helper functions from CodeGenerator.pm to figure out whether a + type is "fundamental" or not (basically whether it's anything + other than a string or a non-pointer type). + + * bindings/scripts/CodeGeneratorGObject.pm: + +2010-04-30 Alexander Pavlov + + Reviewed by Yury Semikhatsky. + + Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened + https://bugs.webkit.org/show_bug.cgi?id=38255 + + Moved stylesheet-related mappings into a separate object stored + in InspectorController rather than InspectorDOMAgent (which gets reset + on every frontend [dis]connect). + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * inspector/InspectorCSSStore.cpp: Added. + (WebCore::InspectorCSSStore::InspectorCSSStore): + (WebCore::InspectorCSSStore::~InspectorCSSStore): + (WebCore::InspectorCSSStore::reset): + * inspector/InspectorCSSStore.h: Added. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::setFrontend): + (WebCore::InspectorController::didCommitLoad): + * inspector/InspectorController.h: + * inspector/InspectorDOMAgent.cpp: + (WebCore::InspectorDOMAgent::InspectorDOMAgent): + (WebCore::InspectorDOMAgent::discardBindings): + (WebCore::InspectorDOMAgent::applyStyleText): + (WebCore::InspectorDOMAgent::setStyleText): + (WebCore::InspectorDOMAgent::setStyleProperty): + (WebCore::InspectorDOMAgent::toggleStyleEnabled): + (WebCore::InspectorDOMAgent::setRuleSelector): + (WebCore::InspectorDOMAgent::addRule): + (WebCore::InspectorDOMAgent::bindStyle): + (WebCore::InspectorDOMAgent::bindRule): + (WebCore::InspectorDOMAgent::buildObjectForStyle): + (WebCore::InspectorDOMAgent::buildObjectForRule): + * inspector/InspectorDOMAgent.h: + (WebCore::InspectorDOMAgent::create): + (WebCore::InspectorDOMAgent::cssStore): + +2010-05-04 Mikhail Naganov + + Reviewed by Pavel Feldman. + + Display "Recording..." item when recording an user-initiated CPU profile. + + https://bugs.webkit.org/show_bug.cgi?id=38043 + + * English.lproj/localizedStrings.js: + * inspector/front-end/ProfilesPanel.js: + (WebInspector.ProfilesPanel.prototype.addProfileHeader): + (WebInspector.ProfilesPanel.prototype.removeProfileHeader): + (WebInspector.ProfilesPanel.prototype.showProfile): + * inspector/front-end/inspector.js: + (WebInspector.setRecordingProfile): + +2010-05-04 Tucker Jay + + Reviewed by Holger Freyther. + + Animated GIF images does not animate 10x as expected by default. + https://bugs.webkit.org/show_bug.cgi?id=36818 + + Added test case to existing manual test to test the + fixed functionality. + + * manual-tests/qt/qt-10loop-anim.gif: Added. + * manual-tests/qt/qt-gif-test.html: + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::repetitionCount): + +2010-05-04 Dirk Schulze + + Unreviewed sort of XCodes project file. + + * WebCore.xcodeproj/project.pbxproj: + +2010-05-03 Steven Lai + + Reviewed by Brady Eidson. + + Reverted hashchange() event back to async. + (This change does not update HashChangeEvent to its new proposed interface) + https://bugs.webkit.org/show_bug.cgi?id=36201 + rdar://problem/7780794 + rdar://problem/7761278 (partial fix) + + Tests: fast/loader/hashchange-event-async.html + + * dom/Document.cpp: reverted hashchange() event back to async + (WebCore::Document::enqueueHashchangeEvent): + +2010-05-03 Holger Hans Peter Freyther + + Rubber-stamped by Xan Lopez. + + [Cairo,WX] Stop leaking a FontPlatformData. + https://bugs.webkit.org/show_bug.cgi?id=37500 + + Stephan Aßmus pointed out that the pango font backend + is leaking memory and fixed it. The WX font backend + and the Cairo/Fontconfig backend have the same snippet + of code and are leaking memory as well. This commit is + fixing that. + + * platform/graphics/cairo/SimpleFontDataCairo.cpp: + (WebCore::SimpleFontData::smallCapsFontData): + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::smallCapsFontData): + +2010-05-03 James Robinson + + Reviewed by Eric Seidel. + + Clean up a few compiler warnings + https://bugs.webkit.org/show_bug.cgi?id=38073 + + * html/TextMetrics.h: + (WebCore::TextMetrics::width): + * rendering/style/StyleRareInheritedData.h: + * rendering/style/StyleRareNonInheritedData.h: + +2010-05-02 Dumitru Daniliuc + + Reviewed by Adam Barth. + + Add the ability to auto-generate callbacks to all code generators. + https://bugs.webkit.org/show_bug.cgi?id=38414 + + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/JS/JSTestCallback.cpp: Added. + (WebCore::JSTestCallback::JSTestCallback): + (WebCore::JSTestCallback::~JSTestCallback): + (WebCore::JSTestCallback::callbackWithClass1Param): + (WebCore::JSTestCallback::callbackWithClass2Param): + * bindings/scripts/test/JS/JSTestCallback.h: Added. + (WebCore::JSTestCallback::create): + * bindings/scripts/test/V8/JSTestCallback.cpp: Added. + (WebCore::V8TestCallback::V8TestCallback): + (WebCore::V8TestCallback::~V8TestCallback): + (WebCore::V8TestCallback::callbackWithClass1Param): + (WebCore::V8TestCallback::callbackWithClass2Param): + * bindings/scripts/test/V8/V8TestCallback.h: Added. + (WebCore::V8TestCallback::create): + * bindings/scripts/test/TestCallback.idl: Added. + +2010-05-03 Kevin Watters + + Reviewed by Kevin Ollivier. + + [wx] Build and use Mac's ComplexTextController to support complex text in wx. + https://bugs.webkit.org/show_bug.cgi?id=38482 + + * platform/graphics/FloatSize.h: + * platform/graphics/GlyphBuffer.h: + (WebCore::GlyphBuffer::advanceAt): + (WebCore::GlyphBuffer::add): + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::getNSFont): + * platform/graphics/mac/ComplexTextController.cpp: + * platform/graphics/mac/ComplexTextController.h: + * platform/graphics/wx/FontCacheWx.cpp: + (WebCore::FontCache::getFontDataForCharacters): + (WebCore::FontCache::getLastResortFallbackFont): + * platform/graphics/wx/FontPlatformData.h: + (toCTFontRef): + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::allowsLigatures): + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::cgFont): + * platform/graphics/wx/FontPlatformDataWxMac.mm: Added. + (WebCore::FontPlatformData::nsFont): + (WebCore::FontPlatformData::cacheNSFont): + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::canReturnFallbackFontsForComplexText): + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::containsCharacters): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/wx/wxcode/fontprops.h: + * platform/wx/wxcode/mac/carbon/fontprops.mm: + (wxFontContainsCharacters): + (GetTextExtent): + * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: + (WebCore::drawTextWithSpacing): + * platform/wx/wxcode/win/fontprops.cpp: + (wxFontContainsCharacters): + * wscript: + +2010-05-03 Abhishek Arya + + Reviewed by Adam Barth. + + Add support for controlling clipboard access from javascript. + Clipboard access from javascript is disabled by default. + https://bugs.webkit.org/show_bug.cgi?id=27751 + + Test: editing/execCommand/clipboard-access.html + + * WebCore.base.exp: + * editing/EditorCommand.cpp: + (WebCore::supportedCopyCut): + (WebCore::supportedPaste): + (WebCore::createCommandMap): + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setJavaScriptCanAccessClipboard): + * page/Settings.h: + (WebCore::Settings::javaScriptCanAccessClipboard): + +2010-05-03 Alexey Proskuryakov + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=38285 + REGRESSION: Javascript command window.open does not work in empty tab + + Cannot be tested, because new windows created in DRT always have an opener, and thus inherit + its security origin. Only new windows and tabs created by browser chrome had this problem. + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to + the beginning, so that an initial document would get correct flags. + +2010-05-03 Noam Rosenthal + + Reviewed by Darin Adler. + + WebGL compile issue. + Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing. + https://bugs.webkit.org/show_bug.cgi?id=38453 + + No new tests: compile fix. + + * bindings/js/JSWebGLArrayBufferConstructor.cpp: + +2010-05-03 Eric Seidel + + Unreviewed, rolling out r58685. + http://trac.webkit.org/changeset/58685 + https://bugs.webkit.org/show_bug.cgi?id=38461 + + Broke a test on Gtk + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::updateStates): + +2010-05-03 Yael Aharon + + Reviewed by Darin Adler. + + Use HTML5 number parsing in HTMLProgressElement + https://bugs.webkit.org/show_bug.cgi?id=38434 + + Use parseToDoubleForNumberType instead of toDouble. + Throw an exception when the number is NaN or Infinity. + + * html/HTMLProgressElement.cpp: + (WebCore::HTMLProgressElement::value): + (WebCore::HTMLProgressElement::setValue): + (WebCore::HTMLProgressElement::max): + (WebCore::HTMLProgressElement::setMax): + * html/HTMLProgressElement.h: + * html/HTMLProgressElement.idl: + +2010-05-03 Jens Alfke + + Reviewed by Darin Fisher. + + [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient + https://bugs.webkit.org/show_bug.cgi?id=38397 + + No tests (functionality is exposed only through native WebKit API.) + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::prepareSubmit): Call frame loader's dispatchWillSendSubmitEvent + * loader/EmptyClients.h: + * loader/FrameLoaderClient.h: + (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent): New empty method + +2010-05-03 Philippe Normand + + Reviewed by Eric Carlson. + + [GStreamer] forgotten call to durationChanged in updateStates() + https://bugs.webkit.org/show_bug.cgi?id=38461 + + Notify MediaPlayer if duration is known after playback started. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::updateStates): + +2010-05-03 Ryuan Choi + + Reviewed by Darin Adler. + + fixing build break due to clearWatch() when Geolocation feature is + disabled. + + https://bugs.webkit.org/show_bug.cgi?id=38091 + + no test because this is a build fix only + + * page/Geolocation.cpp: + (WebCore::Geolocation::clearWatch): + +2010-05-03 Stephan Aßmus + + Reviewed by Holger Freyther. + + [Gtk] Fix leaking the FontPlatformData instance used to create the the + small caps font data. + https://bugs.webkit.org/show_bug.cgi?id=37500 + + No new tests needed. + + * platform/graphics/gtk/SimpleFontDataPango.cpp: + (WebCore::SimpleFontData::smallCapsFontData): + - Use a stack allocated FontPlatformData instead of a heap allocated + one that is never freed. + +2010-05-03 Jarkko Sakkinen + + Reviewed by Simon Hausmann. + + [Qt] GraphicsLayer: support webGL + https://bugs.webkit.org/show_bug.cgi?id=35388 + + Added support GraphicsContext3D to GraphicsLayer. + Added paint method to GraphicsContext3D for Qt platform that + uses drawTexture() when QGLWidget is used as viewport of + QGraphicsWebView. + Fine-tuned texture and handling and image to texture conversion to + work also when drawTexture() blitting is used. + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): + (WebCore::GraphicsContext3D::beginPaint): + (WebCore::GraphicsContext3D::paint): + (WebCore::GraphicsContext3D::texImage2D): + (WebCore::GraphicsContext3D::texSubImage2D): + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::): + (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): + (WebCore::GraphicsLayerQtImpl::paint): + (WebCore::GraphicsLayerQtImpl::flushChanges): + (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D): + (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay): + * platform/graphics/qt/GraphicsLayerQt.h: + +2010-05-03 Janne Koskinen + + Reviewed by Simon Hausmann. + + [Qt] Fix qtlibraryinfix not to contain space + + List catenation with += adds whitespace cutting the infix + from the final target. + + * WebCore.pro: + +2010-05-03 Tor Arne Vestbø + + Reviewed by Simon Hausmann. + + [Qt] Fix rendering of