diff options
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r-- | WebCore/ChangeLog | 6110 |
1 files changed, 6110 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 8ab39c5..c27e3b2 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,6113 @@ +2010-07-05 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Joseph Pecoraro. + + Web Inspector: preserve scroll positions in source frame when switching between panes. + + https://bugs.webkit.org/show_bug.cgi?id=41620 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.hide): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype.set visible): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype.hide): + +2010-07-05 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Dirk Schulze. + + IE SVG test fails + https://bugs.webkit.org/show_bug.cgi?id=41619 + + Make SVGSVGElement.createSVGTransform create a SVGTransform with the + right type, thereby fixing the IE test. + + Test: svg/custom/svg-createsvgtransform-type.html + + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::createSVGTransform): + +2010-07-05 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: computed style pane is not updated when styles pane is collapsed. + + https://bugs.webkit.org/show_bug.cgi?id=41615 + + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.prototype.updateStyles): + +2010-07-05 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Logic to track whether elements are using relative lengths is incomplete + https://bugs.webkit.org/show_bug.cgi?id=41566 + + Add logic to all SVG elements which create renderes to expose a method + "bool selfHasRelativeLengths()", that returns whether the element uses relative + lengths (eg. <rect x="50%"...). This will be used soon to avoid relayouts of + container children, when the bounds have not changed. + + A new method SVGStyledElement::updateRelativeLengthsInformation() is added, + which is called from the various svgAttributeChanged() methods and insertedIntoDocument/removedFromDocument. + It will be implemented in a follow-up patch. This patch does not affect any test behaviour related + to relayouting. As SVGFilterElement finally got a proper svgAttributeChanged() method, it now + properly invalidates clients on attribute changes - covered by a new test. + + Tests: svg/custom/relative-sized-inner-svg.xhtml + svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml + svg/filters/filter-width-update.svg + + * rendering/RenderPath.cpp: + (WebCore::RenderPath::layout): Rename hasRelativeValues to hasRelativeLengths. + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::layout): Ditto. + (WebCore::RenderSVGRoot::calcViewport): Ditto. + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::calcViewport): Ditto + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderSupport::layoutChildren): Ditto. + * svg/SVGCircleElement.cpp: + (WebCore::SVGCircleElement::svgAttributeChanged): Call updateRelativeLengthsInformation() if any attribute which may contain relative lengths changes. + (WebCore::SVGCircleElement::selfHasRelativeLengths): Ditto. Same for all other SVG*Elements below. + * svg/SVGCircleElement.h: + * svg/SVGEllipseElement.cpp: + (WebCore::SVGEllipseElement::svgAttributeChanged): + (WebCore::SVGEllipseElement::selfHasRelativeLengths): + * svg/SVGEllipseElement.h: + * svg/SVGFilterElement.cpp: + (WebCore::SVGFilterElement::svgAttributeChanged): + (WebCore::SVGFilterElement::selfHasRelativeLengths): + * svg/SVGFilterElement.h: + * svg/SVGForeignObjectElement.cpp: + (WebCore::SVGForeignObjectElement::svgAttributeChanged): + (WebCore::SVGForeignObjectElement::selfHasRelativeLengths): + * svg/SVGForeignObjectElement.h: + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::svgAttributeChanged): + (WebCore::SVGImageElement::selfHasRelativeLengths): + * svg/SVGImageElement.h: + * svg/SVGLineElement.cpp: + (WebCore::SVGLineElement::svgAttributeChanged): + (WebCore::SVGLineElement::selfHasRelativeLengths): + * svg/SVGLineElement.h: + * svg/SVGLinearGradientElement.cpp: + (WebCore::SVGLinearGradientElement::svgAttributeChanged): + (WebCore::SVGLinearGradientElement::selfHasRelativeLengths): + * svg/SVGLinearGradientElement.h: + * svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::svgAttributeChanged): + (WebCore::SVGMarkerElement::selfHasRelativeLengths): + * svg/SVGMarkerElement.h: + * svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::svgAttributeChanged): + (WebCore::SVGMaskElement::selfHasRelativeLengths): + * svg/SVGMaskElement.h: + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::svgAttributeChanged): + (WebCore::SVGPatternElement::selfHasRelativeLengths): + * svg/SVGPatternElement.h: + * svg/SVGRadialGradientElement.cpp: + (WebCore::SVGRadialGradientElement::svgAttributeChanged): + (WebCore::SVGRadialGradientElement::selfHasRelativeLengths): + * svg/SVGRadialGradientElement.h: + * svg/SVGRectElement.cpp: + (WebCore::SVGRectElement::svgAttributeChanged): + (WebCore::SVGRectElement::selfHasRelativeLengths): + * svg/SVGRectElement.h: + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::svgAttributeChanged): + (WebCore::SVGSVGElement::selfHasRelativeLengths): + * svg/SVGSVGElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::insertedIntoDocument): Call updateRelativeLengthsInformation(). + (WebCore::SVGStyledElement::removedFromDocument): Ditto. + (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Not implemented so far. Will land in a follow-up patch, together with the render tree changes. + * svg/SVGStyledElement.h: + (WebCore::SVGStyledElement::hasRelativeLengths): Devirtualized. For now, just call selfHasRelativeLengths() - this will change in a follow-up patch. + (WebCore::SVGStyledElement::updateRelativeLengthsInformation): + (WebCore::SVGStyledElement::selfHasRelativeLengths): Renamed from hasRelativeValues(). + * svg/SVGSymbolElement.cpp: + (WebCore::SVGSymbolElement::svgAttributeChanged): + (WebCore::SVGSymbolElement::selfHasRelativeLengths): + * svg/SVGSymbolElement.h: + * svg/SVGTextContentElement.cpp: + (WebCore::SVGTextContentElement::selfHasRelativeLengths): + * svg/SVGTextContentElement.h: + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::svgAttributeChanged): + (WebCore::SVGTextPathElement::insertedIntoDocument): Call right base class' method. Skipped one in the hierachy before. + (WebCore::SVGTextPathElement::selfHasRelativeLengths): + * svg/SVGTextPathElement.h: + * svg/SVGTextPositioningElement.cpp: + (WebCore::SVGTextPositioningElement::svgAttributeChanged): + (WebCore::listContainsRelativeValue): New helper funtion that checks wheter a SVGLengthList contains relative lengths. + (WebCore::SVGTextPositioningElement::selfHasRelativeLengths): + * svg/SVGTextPositioningElement.h: + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::insertedIntoDocument): Call right base class' method. Skipped on in the hierachy before. + (WebCore::SVGUseElement::removedFromDocument): Ditto. + (WebCore::SVGUseElement::svgAttributeChanged): + (WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateRelativeLengthsInformation() after building the shadow tree. + (WebCore::SVGUseElement::selfHasRelativeLengths): Same as all other methods, except that it includes the shadow tree root element. + * svg/SVGUseElement.h: + +2010-07-05 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: Problem with copying a code from Scripts panel. + + https://bugs.webkit.org/show_bug.cgi?id=40432 + + * inspector/front-end/TextViewer.js: + (WebInspector.TextViewer.prototype._getSelection): + (WebInspector.TextViewer.prototype._selectionToPosition): + +2010-07-05 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze / Darin Adler. + + Node.cloneNode does not work on SVG nodes + https://bugs.webkit.org/show_bug.cgi?id=41421 + + Be sure to synchronize animated SVG properties before checking whether NamedNodeMap exists. + When creating a SVG element from JS, and setting all attributes via SVG DOM, and not using setAttribute + the NamedNodeMap does not exist. When cloning such an element, be sure to synchronize SVG <-> XML DOM + attributes before attempting to clone, otherwhise the SVG animated properties are lost while cloning. + + Test: svg/custom/clone-element-with-animated-svg-properties.html + + * dom/Element.cpp: + (WebCore::Element::cloneElementWithoutChildren): + +2010-07-05 Antti Koivisto <koivisto@iki.fi> + + Revert unplanned project file change. + + * WebCore.pri: + * WebCore.pro: + +2010-07-05 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Darin Adler. + + Memory corruption with SVG <use> element + https://bugs.webkit.org/show_bug.cgi?id=40994 + + Fix race condition in svgAttributeChanged. Never call svgAttributeChanged() from attributeChanged() + when we're synchronizing SVG attributes. It leads to either unnecessary extra work being done or + crashes. Especially together with <polyline>/<polygon> which always synchronize the SVGAnimatedPoints + datastructure with the points attribute, no matter if there are changes are not. This should be + furhter optimized, but this fix is sane and fixes the root of the evil races. + + Test: svg/custom/use-property-synchronization-crash.svg + + * svg/SVGElement.cpp: + (WebCore::SVGElement::attributeChanged): + +2010-07-05 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: remove v8-specific code dealing with getOwnPropertyNames from InjectedScript.js + https://bugs.webkit.org/show_bug.cgi?id=41595 + + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): + +2010-07-04 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Dirk Schulze. + + SVG polygons should draw polygons up to the first parsing error + https://bugs.webkit.org/show_bug.cgi?id=41140 + + Render polygons up until the first parsing error. + + Test: svg/custom/poly-parsing-error.html + + * svg/SVGPolyElement.cpp: + (WebCore::SVGPolyElement::parseMappedAttribute): + +2010-07-04 Alice Liu <alice.liu@apple.com> + + Reviewed by Dan Bernstein. + + Crash reading past end of block in UniscribeController::shapeAndPlaceItem + https://bugs.webkit.org/show_bug.cgi?id=41554 + + Test: platform/win/fast/text/uniscribe-item-boundary-crash.html + + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::shapeAndPlaceItem): + Don't look one past the end of str. Instead look to the next item, if applicable. + +2010-07-04 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add basic "in table body" mode to support <tr> insertion + https://bugs.webkit.org/show_bug.cgi?id=41587 + + This also adds a (currently untestable?) + popUntilTableBodyScopeMarker code path. + Any tags which would be between a tbody a <tr> would end up + foster parented outside the <table>. I think the spec was + just being over-cautious with popUntilTableBodyScopeMarker. + + * html/HTMLElementStack.cpp: + (WebCore::HTMLNames::isTableScopeMarker): + (WebCore::HTMLNames::isTableBodyScopeMarker): + (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + +2010-07-04 Anders Carlsson <andersca@apple.com> + + Fix Windows build. + + * WebCore.vcproj/WebCore.vcproj: + +2010-07-04 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTreeBuilder needs an adoption agency + https://bugs.webkit.org/show_bug.cgi?id=41453 + + Fix Qt Minimal build. SVGNames.h should always + be generated, even when SVG is off, however that's + not how things currently work. + + * html/HTMLTreeBuilder.cpp: + +2010-07-04 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add a very basic InTable insertion mode + https://bugs.webkit.org/show_bug.cgi?id=41581 + + There is still a bunch of low-hanging fruit left for this + mode, but even this most-basic support lets us pass 6 more tests. :) + + It's a progression, ship it! :) + + * html/HTMLElementStack.cpp: + (WebCore::HTMLNames::isScopeMarker): + (WebCore::HTMLNames::isListItemScopeMarker): + (WebCore::HTMLNames::isTableScopeMarker): + (WebCore::HTMLElementStack::popUntilTableScopeMarker): + * html/HTMLElementStack.h: + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::appendMarker): + * html/HTMLFormattingElementList.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + * html/HTMLTreeBuilder.h: + +2010-07-01 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTreeBuilder needs an adoption agency + https://bugs.webkit.org/show_bug.cgi?id=41453 + + This changes some test results, but only makes the simplest + adoption agency cases pass. I think the code is likely + very close, but further iteration to make this change larger + seems counter-productive. I recommend we check in this + progression and work from here. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::addChildCommon): + - Make sure callers don't assume this will reparent. + (WebCore::ContainerNode::parserAddChild): + - Update comment to document lack of reparenting behavior. + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::ElementRecord::ElementRecord): + (WebCore::HTMLElementStack::ElementRecord::~ElementRecord): + (WebCore::HTMLElementStack::ElementRecord::replaceElement): + (WebCore::HTMLElementStack::ElementRecord::isAbove): + - Added for debugging. + (WebCore::HTMLElementStack::pushHTMLHtmlElement): + (WebCore::HTMLElementStack::insertAbove): + - Needed for the adoption agency. + (WebCore::HTMLElementStack::topRecord): + (WebCore::HTMLElementStack::bottom): + (WebCore::HTMLElementStack::removeHTMLHeadElement): + (WebCore::HTMLElementStack::remove): + (WebCore::HTMLElementStack::find): + (WebCore::HTMLElementStack::topmost): + (WebCore::HTMLElementStack::contains): + (WebCore::HTMLElementStack::htmlElement): + (WebCore::HTMLElementStack::headElement): + (WebCore::HTMLElementStack::bodyElement): + (WebCore::HTMLElementStack::pushCommon): + (WebCore::HTMLElementStack::removeNonTopCommon): + - Fix the name to match top/bottom. + * html/HTMLElementStack.h: + (WebCore::HTMLElementStack::ElementRecord::element): + (WebCore::HTMLElementStack::ElementRecord::next): + (WebCore::HTMLElementStack::ElementRecord::releaseNext): + (WebCore::HTMLElementStack::ElementRecord::setNext): + * html/HTMLFormattingElementList.cpp: + (WebCore::HTMLFormattingElementList::closestElementInScopeWithName): + (WebCore::HTMLFormattingElementList::contains): + (WebCore::HTMLFormattingElementList::find): + (WebCore::HTMLFormattingElementList::remove): + * html/HTMLFormattingElementList.h: + (WebCore::HTMLFormattingElementList::isEmpty): + (WebCore::HTMLFormattingElementList::size): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement): + - Part of the Adoption Agency algorithm. + (WebCore::HTMLTreeBuilder::findFosterParentFor): + - Used to move mis-nested content out of tables. + This doesn't seem to work quite right yet. + (WebCore::HTMLTreeBuilder::reparentChildren): + (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): + - The ridiculously long/complicated adoption agency algorithm from HTML5. + (WebCore::HTMLTreeBuilder::processEndTag): + * html/HTMLTreeBuilder.h: + +2010-07-04 Justin Schuh <jschuh@chromium.org> + + Reviewed by Darin Adler. + + Remove custom src bindings for HTMLFrameElement and HTMLIFrameElement + https://bugs.webkit.org/show_bug.cgi?id=41578 + + Remove bindings obsoleted by: http://trac.webkit.org/changeset/59866 + No new tests because behavior is not changed. + + * Android.jscbindings.mk: + * Android.v8bindings.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSBindingsAllInOne.cpp: + * bindings/js/JSHTMLFrameElementCustom.cpp: + * bindings/js/JSHTMLIFrameElementCustom.cpp: Removed. + * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: + * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Removed. + * html/HTMLFrameElement.idl: + * html/HTMLIFrameElement.idl: + +2010-07-03 Adam Barth <abarth@webkit.org> + + Reviewed by Maciej Stachowiak. + + Implement AfterAfterFramesetMode + https://bugs.webkit.org/show_bug.cgi?id=41561 + + This mode is almost unobservable. The main way to observe it seems to + be seeing where comment nodes get attached to the DOM. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-03 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + WebGLRenderingContext::vertexAttrib* leads to possible out-of-range vector member visit + https://bugs.webkit.org/show_bug.cgi?id=41572 + + * html/canvas/WebGLRenderingContext.cpp: Fix the out-of-range vector member visit, also refactor the code. + (WebCore::WebGLRenderingContext::vertexAttrib1f): + (WebCore::WebGLRenderingContext::vertexAttrib1fv): + (WebCore::WebGLRenderingContext::vertexAttrib2f): + (WebCore::WebGLRenderingContext::vertexAttrib2fv): + (WebCore::WebGLRenderingContext::vertexAttrib3f): + (WebCore::WebGLRenderingContext::vertexAttrib3fv): + (WebCore::WebGLRenderingContext::vertexAttrib4f): + (WebCore::WebGLRenderingContext::vertexAttrib4fv): + (WebCore::WebGLRenderingContext::vertexAttribfImpl): + (WebCore::WebGLRenderingContext::vertexAttribfvImpl): + * html/canvas/WebGLRenderingContext.h: Helper function declaration. + +2010-07-03 Jeremy Orlow <jorlow@chromium.org> + + Ugh. Have to put the destructor in the .h file since the .ccp isn't compiled yet. + + * storage/IDBKey.h: + (WebCore::IDBKey::~IDBKey): + +2010-07-03 Jeremy Orlow <jorlow@chromium.org> + + Build fix. Forgot destructor. + + * storage/IDBKey.cpp: + (WebCore::IDBKey::~IDBKey): + +2010-06-26 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Dumitru Daniliuc. + + Support for keys and in-memory storage for IndexedDB + https://bugs.webkit.org/show_bug.cgi?id=41252 + + It'll take some time to get data persistence working for IndexedDB, + so until then, we'll just store everything in an in memory tree. + The tree uses WTF::AVLTree and is a template so that it can be used by + object stores (IDBKey -> SerializedScriptValue) and indexes (IDBKey -> + IDBKey). This class will be used in a subsequent patch. + + Also add an IDBKey type that represents one of these keys. We use a + custom toJS function in a way similar to IDBAny to convert from WebCore + to a JS value. For converting the other way, we have to teach the code + generators what to do (unfortunately). This is done in a way similar + to serialized script value. Unlike serialized script value, IDBKey is + in WebCore and only a helper function is JS engine specific. + + This code is not accessable from layout tests. (Will fix in + https://bugs.webkit.org/show_bug.cgi?id=41250) The bindings tests + show us that the generated bindings are what we expect. + + * ForwardingHeaders/wtf/AVLTree.h: Added. + * bindings/js/IDBBindingUtilities.cpp: Added. + (WebCore::createIDBKeyFromValue): + * bindings/js/IDBBindingUtilities.h: Added. + * bindings/js/JSIDBKeyCustom.cpp: Added. + (WebCore::toJS): + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/scripts/test/CPP/WebDOMTestObj.cpp: + (WebDOMTestObj::idbKey): + * bindings/scripts/test/CPP/WebDOMTestObj.h: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + (webkit_dom_test_obj_idb_key): + * bindings/scripts/test/GObject/WebKitDOMTestObj.h: + * bindings/scripts/test/JS/JSTestObj.cpp: + (WebCore::): + (WebCore::jsTestObjPrototypeFunctionIdbKey): + * bindings/scripts/test/JS/JSTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.h: + * bindings/scripts/test/ObjC/DOMTestObj.mm: + (-[DOMTestObj idbKey:]): + * bindings/scripts/test/TestObj.idl: + * bindings/scripts/test/V8/V8TestObj.cpp: + (WebCore::TestObjInternal::idbKeyCallback): + (WebCore::): + * bindings/v8/IDBBindingUtilities.cpp: Added. + (WebCore::createIDBKeyFromValue): + * bindings/v8/IDBBindingUtilities.h: Added. + * bindings/v8/custom/V8IDBKeyCustom.cpp: Added. + (WebCore::toV8): + * storage/IDBCallbacks.h: + * storage/IDBKey.cpp: Added. + (WebCore::IDBKey::IDBKey): + (WebCore::IDBKey::~IDBKey): + * storage/IDBKey.h: Added. + (WebCore::IDBKey::create): + (WebCore::IDBKey::): + (WebCore::IDBKey::type): + (WebCore::IDBKey::string): + (WebCore::IDBKey::number): + * storage/IDBKey.idl: Added. + * storage/IDBKeyTree.h: Added. + (WebCore::IDBKeyTree::create): + (WebCore::IDBKeyTree::AVLTreeAbstractor::get_less): + (WebCore::IDBKeyTree::AVLTreeAbstractor::set_less): + (WebCore::IDBKeyTree::AVLTreeAbstractor::get_greater): + (WebCore::IDBKeyTree::AVLTreeAbstractor::set_greater): + (WebCore::IDBKeyTree::AVLTreeAbstractor::get_balance_factor): + (WebCore::IDBKeyTree::AVLTreeAbstractor::set_balance_factor): + (WebCore::IDBKeyTree::AVLTreeAbstractor::null): + (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_key_node): + (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_node_node): + (WebCore::::IDBKeyTree): + (WebCore::::~IDBKeyTree): + (WebCore::::AVLTreeAbstractor::compare_key_key): + (WebCore::::get): + (WebCore::::insert): + (WebCore::::remove): + +2010-07-03 Jon Honeycutt <jhoneycutt@apple.com> + + The missing plug-in indicator should be clickable + + https://bugs.webkit.org/show_bug.cgi?id=41550 + <rdar://problem/8132162> + + From an original patch by Kevin Decker. + + Reviewed by Darin Adler. + + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::defaultEventHandler): + If the renderer is a RenderEmbeddedWidget showing the missing plug-in + indicator, and the event is a click even, call the ChromeClient's + missingPluginButtonClicked() function. + + * page/ChromeClient.h: + (WebCore::ChromeClient::missingPluginButtonClicked): + Declare missingPluginButtonClicked(), and stub the default + implementation. + + * rendering/RenderEmbeddedObject.cpp: + (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): + Initialize m_showsMissingPluginIndicator. + (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): + Assert that we're not currently showing any replacement text. Set + m_showsMissingPluginIndicator after setting the replacement text. + (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): + Add the same assert as above. + + * rendering/RenderEmbeddedObject.h: + (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): + Getter for m_showsMissingPluginIndicator. + +2010-07-02 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoffrey Garen. + + Move BOM handling out of the lexer and parser + https://bugs.webkit.org/show_bug.cgi?id=41539 + + Update WebCore to ensure that SourceProviders don't + produce strings with BOMs in them. + + * bindings/js/ScriptSourceProvider.h: + (WebCore::ScriptSourceProvider::ScriptSourceProvider): + * bindings/js/StringSourceProvider.h: + (WebCore::StringSourceProvider::StringSourceProvider): + * loader/CachedScript.cpp: + (WebCore::CachedScript::CachedScript): + (WebCore::CachedScript::script): + * loader/CachedScript.h: + (WebCore::CachedScript::): + CachedScript now stores decoded data with the BOMs stripped, + and caches the presence of BOMs across memory purges. + +2010-07-03 Xan Lopez <xlopez@igalia.com> + + Include DerivedSources/WebCore before DerivedSources/ + + Recently DerivedSources generation was changed, with some files no + longer being generated in the toplevel DerivedSources + directory. Since that directory is first in the -I flags the build + can be broken in some cases by including old files unless a 'make + clean' is done. Change the -I order to fix the build in the 32 bit + Release bot. + + * GNUmakefile.am: + +2010-07-03 Erik Arvidsson <arv@chromium.org> + + Reviewed by Ojan Vafai. + + Fix issue where a contextmenu event was reporting the wrong target if + the context menu was shown due to pressing the context menu key + (or Shift+F10). + + Split sendContextMenuForEvent into one case for keyboard events and use + that when the contextmenu event should be dispatched due to a keypress. + + For the keboard case we now use the focused node as the target for the + event and use the clipped rect to determine the position of the menu. + + https://bugs.webkit.org/show_bug.cgi?id=38129 + + Use manual test since DRT does not handle context menu keys. + + * manual-tests/win/contextmenu-key.html: Added. + * page/EventHandler.cpp: + (WebCore::EventHandler::sendContextMenuEvent): + (WebCore::EventHandler::sendContextMenuEventForKey): + * page/EventHandler.h: + +2010-07-03 Dirk Schulze <krit@webkit.org> + + Unreviewed sort of XCode project file. + + * WebCore.xcodeproj/project.pbxproj: + +2010-07-03 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Kent Tamura. + + [BREWMP] Port Widget + https://bugs.webkit.org/show_bug.cgi?id=41538 + + Make Widget a dummy class. WebKit Brew MP uses the full screen mode + and does not use the window system introduced in Brew MP. + + * platform/Widget.h: + * platform/brew/WidgetBrew.cpp: Added. + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + (WebCore::Widget::frameRect): + (WebCore::Widget::setFrameRect): + (WebCore::Widget::setFocus): + (WebCore::Widget::setCursor): + (WebCore::Widget::show): + (WebCore::Widget::hide): + (WebCore::Widget::paint): + (WebCore::Widget::setIsSelected): + +2010-07-03 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement AfterFramesetMode + https://bugs.webkit.org/show_bug.cgi?id=41560 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement InFramesetMode + https://bugs.webkit.org/show_bug.cgi?id=41559 + + Pretty straighforward. We still don't handle character tokens + correctly. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Handle <frameset> InBody + https://bugs.webkit.org/show_bug.cgi?id=41558 + + Handling the <frameset> tag in the InBody mode is somewhat delicate. + + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::popHTMLBodyElement): + (WebCore::HTMLElementStack::popUntil): + (WebCore::HTMLElementStack::popCommon): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Special handling of <rp> and <rt> tags + https://bugs.webkit.org/show_bug.cgi?id=41557 + + So sayeth the spec. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement special optgroup processing + https://bugs.webkit.org/show_bug.cgi?id=41556 + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Handle <image> in new parser + https://bugs.webkit.org/show_bug.cgi?id=41555 + + This patch is kind of goofy but apparently how the world works. + + * html/HTMLToken.h: + (WebCore::AtomicHTMLToken::setName): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-02 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Alexey Proskuryakov. + + Remove extra semicolon at the end of HTMLTreeBuilder::attach + https://bugs.webkit.org/show_bug.cgi?id=41546 + + This is not critical, but the extra semicolon at the end of HTMLTreeBuilder::attach + causes a warning in RVCT. + + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::attach): + +2010-07-02 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Darin Adler. + + Performance::disconnectFrame() needs to disconnect its children + https://bugs.webkit.org/show_bug.cgi?id=41533 + + No new tests because no new functionality. + + * page/Performance.cpp: + (WebCore::Performance::disconnectFrame): + +2010-07-02 Luiz Agostini <luiz.agostini@openbossa.org> + + Reviewed by Sam Weinig. + + Checking if WTF_USE_JSC is defined before redefining it in config.h + https://bugs.webkit.org/show_bug.cgi?id=41530 + + * config.h: + +2010-07-02 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add vendor prefix to window.performance + https://bugs.webkit.org/show_bug.cgi?id=41525 + + No new tests because window.performance tests not landed yet. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::webkitPerformance): + * page/DOMWindow.h: + (WebCore::DOMWindow::optionalWebkitPerformance): + * page/DOMWindow.idl: + +2010-07-02 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Oliver Hunt. + + Minor fix: Diffuse constant is float (not integer) + https://bugs.webkit.org/show_bug.cgi?id=10412 + + * svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute): + +2010-07-02 Martin Robinson <mrobinson@igalia.com> + + Unreviewed. + + Build fix for GTK+. Try to force a rebuild of the HTMLNames.h + file first by touching HTMLTagNames.in. + + * html/HTMLTagNames.in: + +2010-07-02 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Oliver Hunt. + + RGB colors should be clamped to the 0-255 range + https://bugs.webkit.org/show_bug.cgi?id=39482 + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#colors + + Test: fast/canvas/canvas-color-clamping.html + + * css/CSSParser.cpp: + (WebCore::parseColorInt): + (WebCore::CSSParser::parseColor): + (WebCore::parseColorIntFromValue): + (WebCore::CSSParser::parseColorParameters): + +2010-07-02 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62410. + http://trac.webkit.org/changeset/62410 + https://bugs.webkit.org/show_bug.cgi?id=41549 + + accursed last minute changes (Requested by olliej on #webkit). + + * bindings/js/ScriptSourceProvider.h: + (WebCore::ScriptSourceProvider::ScriptSourceProvider): + * bindings/js/StringSourceProvider.h: + (WebCore::StringSourceProvider::StringSourceProvider): + * loader/CachedScript.cpp: + (WebCore::CachedScript::CachedScript): + (WebCore::CachedScript::script): + * loader/CachedScript.h: + +2010-07-02 Martin Robinson <mrobinson@igalia.com> + + Unreviewed. + + Further Build fix for GTK+. Also include HTMLElementFactory.h in + the list of dependencies. + + * GNUmakefile.am: + +2010-07-02 Martin Robinson <mrobinson@igalia.com> + + Unreviewed. + + Build fix for GTK+. *Names.{cpp,h} targets should now include the + header files. Also adds the header files to the generated sources list. + + * GNUmakefile.am: + +2010-07-02 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Darin Fisher. + + DB clean up. + https://bugs.webkit.org/show_bug.cgi?id=41404 + + 1. Made all DatabaseTasks internal classes of Database and made + the Database methods called by those tasks private. + 2. Removed the Database::stop{ed}() methods. + 3. Removed the code that kept track of open databases from + ScriptExecutionContext (no longer needed). + 4. Made minor changes to Database::closeImmediately() to make it + possible for DatabaseThread to call that method instead of + close(). + 5. Minor fix to DatabaseTracker: addOpenDatabase() should call + OriginQuotaManager::addDatabase() if the origin quota manager + is not tracking this origin. + 6. Removed Database::performPolicyChecks(). We already update the + DB size after each transaction, and we enforce a max size for + the DB at the beginning of each transaction. + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::stopDatabases): + * dom/ScriptExecutionContext.h: + (WebCore::ScriptExecutionContext::hasOpenDatabases): + * storage/Database.cpp: + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::markAsDeletedAndClose): + (WebCore::Database::close): + (WebCore::Database::closeImmediately): + * storage/Database.h: + * storage/DatabaseTask.cpp: + (WebCore::DatabaseTask::performTask): + (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask): + (WebCore::Database::DatabaseOpenTask::doPerformTask): + (WebCore::Database::DatabaseOpenTask::debugTaskName): + (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask): + (WebCore::Database::DatabaseCloseTask::doPerformTask): + (WebCore::Database::DatabaseCloseTask::debugTaskName): + (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask): + (WebCore::Database::DatabaseTransactionTask::doPerformTask): + (WebCore::Database::DatabaseTransactionTask::debugTaskName): + (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask): + (WebCore::Database::DatabaseTableNamesTask::doPerformTask): + (WebCore::Database::DatabaseTableNamesTask::debugTaskName): + * storage/DatabaseTask.h: + (WebCore::Database::DatabaseOpenTask::create): + (WebCore::Database::DatabaseCloseTask::create): + (WebCore::Database::DatabaseTransactionTask::create): + (WebCore::Database::DatabaseTableNamesTask::create): + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::databaseThread): + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::addOpenDatabase): + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::executeSQL): + (WebCore::SQLTransaction::checkAndHandleClosedDatabase): + +2010-07-02 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoffrey Garen. + + Move BOM handling out of the lexer and parser + https://bugs.webkit.org/show_bug.cgi?id=41539 + + Update WebCore to ensure that SourceProviders don't + produce strings with BOMs in them. + + * bindings/js/ScriptSourceProvider.h: + (WebCore::ScriptSourceProvider::ScriptSourceProvider): + * bindings/js/StringSourceProvider.h: + (WebCore::StringSourceProvider::StringSourceProvider): + * loader/CachedScript.cpp: + (WebCore::CachedScript::CachedScript): + (WebCore::CachedScript::script): + * loader/CachedScript.h: + (WebCore::CachedScript::): + CachedScript now stores decoded data with the BOMs stripped, + and caches the presence of BOMs across memory purges. + +2010-07-02 Sam Weinig <sam@webkit.org> + + Add missing symbol to exports file. + + * WebCore.base.exp: + +2010-07-02 Abhishek Arya <inferno@chromium.org> + + Reviewed by Darin Fisher. + + Remove the extra setFailed() call in JPEG decoder to prevent + re-using an already freed object. + https://bugs.webkit.org/show_bug.cgi?id=41487 + + Test: fast/images/large-size-image-crash.html + + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + (WebCore::JPEGImageReader::decode): + +2010-07-02 Peter Beverloo <peter@lvp-media.com> + + Reviewed by Maciej Stachowiak. + + Add the HTML5 <mark> element. Text content of the element will have + a yellow background color and black text. + + Test: fast/html/mark-element.html + Tests for <p> closing, phrasing child content and residual style. + + * css/html.css: + (mark): + * html/HTMLElement.cpp: + (WebCore::inlineTagList): + * html/HTMLTagNames.in: + * html/LegacyHTMLTreeBuilder.cpp: + (WebCore::LegacyHTMLTreeBuilder::getNode): + (WebCore::LegacyHTMLTreeBuilder::isInline): + (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag): + +2010-07-02 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Fix issues in boundary situations for WebGLRenderingContext::drawArrays/drawElements + https://bugs.webkit.org/show_bug.cgi?id=41473 + + * WebCore.gypi: Add CheckedInt.h. + * WebCore.xcodeproj/project.pbxproj: Add CheckedInt.h. + * html/canvas/CheckedInt.h: Added support of safe integer operations. + (mozilla::CheckedInt_internal::integer_type_manually_recorded_info::): + (mozilla::CheckedInt_internal::is_unsupported_type::): + (mozilla::CheckedInt_internal::): + (mozilla::CheckedInt_internal::integer_traits::): + (mozilla::CheckedInt_internal::integer_traits::min): + (mozilla::CheckedInt_internal::integer_traits::max): + (mozilla::CheckedInt_internal::has_sign_bit): + (mozilla::CheckedInt_internal::binary_complement): + (mozilla::CheckedInt_internal::is_in_range): + (mozilla::CheckedInt_internal::is_add_valid): + (mozilla::CheckedInt_internal::is_sub_valid): + (mozilla::CheckedInt_internal::is_mul_valid): + (mozilla::CheckedInt_internal::is_div_valid): + (mozilla::CheckedInt::CheckedInt): + (mozilla::CheckedInt::value): + (mozilla::CheckedInt::valid): + (mozilla::CheckedInt::operator -): + (mozilla::CheckedInt::operator ==): + (mozilla::CheckedInt::operator !=): + (mozilla::operator /): + (mozilla::cast_to_CheckedInt_impl::run): + (mozilla::): + (mozilla::cast_to_CheckedInt): + (mozilla::operator ==): + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Fix a bug against 0-size buffer situation. + (WebCore::WebGLRenderingContext::drawArrays): Deal with overflows and count==0 situation. + (WebCore::WebGLRenderingContext::drawElements): Deal with count==0 situation. + +2010-07-02 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + linkProgram should fail when vertex/fragment shaders are not both present + https://bugs.webkit.org/show_bug.cgi?id=41380 + + Test: fast/canvas/webgl/program-test.html + + * html/canvas/WebGLProgram.cpp: Add flag for link failure due to missing shaders. + (WebCore::WebGLProgram::WebGLProgram): + * html/canvas/WebGLProgram.h: Add interface for linkFailure flag. + (WebCore::WebGLProgram::isLinkFailureFlagSet): + (WebCore::WebGLProgram::setLinkFailureFlag): + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getProgramParameter): Intercept when linkFailureFlag is set. + (WebCore::WebGLRenderingContext::linkProgram): Check if there are missing shaders and don't link if yes. + * html/canvas/WebGLShader.cpp: Cache shader type. + (WebCore::WebGLShader::WebGLShader): + * html/canvas/WebGLShader.h: Ditto. + (WebCore::WebGLShader::getType): + +2010-07-02 Qi Zhang <qi.2.zhang@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt] Failed on http://philip.html5.org/tests/canvas/suite/tests/2d.drawImage.negativesource.html + + Support negative width and height in canvas image draw + + * platform/graphics/FloatRect.h: + * platform/graphics/qt/FloatRectQt.cpp: + (WebCore::FloatRect::normalized): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::BitmapImage::draw): + +2010-06-24 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Alexey Proskuryakov. + + REGRESSION: Enter does not trigger submit of forms when focus is on select. + https://bugs.webkit.org/show_bug.cgi?id=39532 + + Restore behavior where hitting "Enter" on a select element attempts to submit + form implicitly. + + * dom/SelectElement.cpp: + (WebCore::SelectElement::menuListDefaultEventHandler): Added htmlForm argument, + and attempting to submit implicitly. + (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto. + (WebCore::SelectElement::defaultEventHandler): Plumbed through htmlForm argument. + * dom/SelectElement.h: Added htmlForm argument to method declaration. + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::defaultEventHandler): Changed to provide submitting form + as the argument. + +2010-07-02 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Support indeterminate checkbox for Linux, and a small fix for Windows + https://bugs.webkit.org/show_bug.cgi?id=41508 + + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::paintCheckbox): + Use dedicated images for indeterminate states. + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::determineClassicState): + Do not use DFCS_CHECKED in a case of indeterminate state in + order to have consistent appearance of indeterminate checkbox. + +2010-07-02 Brent Fulgham <bfulgham@webkit.org> + + Reviewed by Gustavo Noronha Silva. + + Fixes https://bugs.webkit.org/show_bug.cgi?id=41323. + Provides an implementation of the 'squiggle' used for + bad grammar or spelling, based on the Pango logic used + by the GTK builds. + + No new tests. Covered by LayoutTests/editing/spelling + + * WebCore.vcproj/WebCore.vcproj: Add new file holding underline + implementation, set to build only for WinCairo port. + * platform/graphics/cairo/DrawErrorUnderline.cpp: Added. + (drawErrorUnderline): New file containing the squiggle drawing + logic based on the Pango implementation. Placed in its own file + to isolate licenses. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): + Have WinCairo build call new 'drawErrorUnderline' implementation. + +2010-07-02 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Gustavo Noronha Silva. + + [GTK] Separate DerivedSources per-project + https://bugs.webkit.org/show_bug.cgi?id=41109 + + Generate WebCore derived sources in <builddir>/DerivedSources/WebCore. + + * GNUmakefile.am: + +2010-07-02 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Implement OpenGL ES 2.0 semantics for vertex attribute 0 + https://bugs.webkit.org/show_bug.cgi?id=41300 + + Test: fast/canvas/webgl/gl-bind-attrib-location-test.html + fast/canvas/webgl/gl-vertex-attrib.html + + * html/canvas/WebGLProgram.cpp: + (WebCore::WebGLProgram::numActiveAttribLocations): const. + (WebCore::WebGLProgram::getActiveAttribLocation): const. + (WebCore::WebGLProgram::isUsingVertexAttrib0): Determine whether vertex attrib 0 is used by the program. + * html/canvas/WebGLProgram.h: Declare isUsingVertexAttrib0. + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with vertex attrib 0. + (WebCore::WebGLRenderingContext::disableVertexAttribArray): Ditto. + (WebCore::WebGLRenderingContext::drawArrays): Ditto. + (WebCore::WebGLRenderingContext::drawElements): Ditto. + (WebCore::WebGLRenderingContext::getVertexAttrib): Use cached value instead of calling glGetVertexAtrtrib. + (WebCore::WebGLRenderingContext::vertexAttrib1f): Validate input, deal with vertex attrib 0. + (WebCore::WebGLRenderingContext::vertexAttrib1fv): Ditto. + (WebCore::WebGLRenderingContext::vertexAttrib2f): Ditto. + (WebCore::WebGLRenderingContext::vertexAttrib2fv): Ditto. + (WebCore::WebGLRenderingContext::vertexAttrib3f): Ditto. + (WebCore::WebGLRenderingContext::vertexAttrib3fv): Ditto. + (WebCore::WebGLRenderingContext::vertexAttrib4f): Ditto. + (WebCore::WebGLRenderingContext::vertexAttrib4fv): Ditto. + (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto. + (WebCore::WebGLRenderingContext::handleNPOTTextures): Move isGLES2Compliant() to caller. + (WebCore::WebGLRenderingContext::vertexAttribImpl): Helper for vertexAttribNfv. + (WebCore::WebGLRenderingContext::initVertexAttrib0): Initialize vertex attrib 0. + (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Simulate vertex attrib 0. + (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): Restore states after simulating vertex attrib 0. + * html/canvas/WebGLRenderingContext.h: + (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): Tracking full vertex attrib states. + (WebCore::WebGLRenderingContext::VertexAttribState::initValue): Init value to [0,0,0,1]. + +2010-07-02 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Need to validate the size of the incoming arrays for uniform* functions + https://bugs.webkit.org/show_bug.cgi?id=41383 + + * html/canvas/WebGLRenderingContext.cpp: Validate input array size. + (WebCore::WebGLRenderingContext::uniform1fv): + (WebCore::WebGLRenderingContext::uniform1iv): + (WebCore::WebGLRenderingContext::uniform2fv): + (WebCore::WebGLRenderingContext::uniform2iv): + (WebCore::WebGLRenderingContext::uniform3fv): + (WebCore::WebGLRenderingContext::uniform3iv): + (WebCore::WebGLRenderingContext::uniform4fv): + (WebCore::WebGLRenderingContext::uniform4iv): + (WebCore::WebGLRenderingContext::uniformMatrix2fv): + (WebCore::WebGLRenderingContext::uniformMatrix3fv): + (WebCore::WebGLRenderingContext::uniformMatrix4fv): + (WebCore::WebGLRenderingContext::validateUniformParameters): + (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): + * html/canvas/WebGLRenderingContext.h: Add helper functions. + +2010-07-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear + + The implementation of PathQt's addArcTo() was not float-safe and also had + a case where it drew an 'infinite' line, which is not part of the spec. + + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto + + We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder() + also had the same problem, and was refactored a bit in the process of fixing + the bug. + + Initial patch by Andreas Kling. + + https://bugs.webkit.org/show_bug.cgi?id=41412 + + * platform/graphics/qt/PathQt.cpp: + +2010-07-02 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute + https://bugs.webkit.org/show_bug.cgi?id=41511 + + Tests: fast/events/popup-blocked-from-fake-user-gesture.html + http/tests/inspector/change-iframe-src.html + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one + from the call stack. Get event directly from hidden property to avoid unnecessary checks. + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::invokeEventHandler): + * bindings/v8/V8HiddenPropertyName.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::eventAccessorGetter): + (WebCore::V8DOMWindow::eventAccessorSetter): + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Fix tokenization of <!-----> + https://bugs.webkit.org/show_bug.cgi?id=41505 + + I noticed this error when browsing through the HTML5lib failures. + We're adding an extra character to the comment token, contrary to what + the spec says to do. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement processFakePEndTagIfPInScope + https://bugs.webkit.org/show_bug.cgi?id=41503 + + This is a common idiom because <p> likes to close itself. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope): + (WebCore::HTMLTreeBuilder::processStartTag): + * html/HTMLTreeBuilder.h: + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement AfterAfterBodyMode + https://bugs.webkit.org/show_bug.cgi?id=41501 + + In implementing this mode, I noticed a bug in the character processing + of the AfterBodyMode, which I fixed by adding a break statement. Also, + to get one of the new tests to pass, I needed to implement one + notImplemented() in the InBody insertion mode. Yay for testing. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + +2010-07-02 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62371. + http://trac.webkit.org/changeset/62371 + https://bugs.webkit.org/show_bug.cgi?id=41515 + + "Breaks media/controls-drag-timebar.html on 32-Bit Release" + (Requested by philn-tp on #webkit). + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable): + (WebCore::MediaPlayerPrivateGStreamer::updateStates): + +2010-06-28 Philippe Normand <pnormand@igalia.com> + + Reviewed by Xan Lopez. + + [GStreamer] can't seek past maxTimeLoaded value + https://bugs.webkit.org/show_bug.cgi?id=40526 + + Extended the seekable range to the whole media. This allows video + played with progressive download to be seeked past the current + buffered position. + + * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable): + (WebCore::MediaPlayerPrivateGStreamer::updateStates): + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement AfterBodyMode for HTML5 tree builder + https://bugs.webkit.org/show_bug.cgi?id=41500 + + In the coarse of implementing this state, I ran into an ASSERT in how + </br> tags where handled, which I fixed. Technically, that could be a + separate patch, but it seemed harmless to include it here (with tests). + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement): + * html/HTMLTreeBuilder.h: + +2010-07-02 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Handle <base> and friends in AfterHeadMode + https://bugs.webkit.org/show_bug.cgi?id=41502 + + Implement notImplemented() per spec. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + +2010-07-01 Oliver Hunt <oliver@apple.com> + + Build fix + + * dom/Document.h: + +2010-07-01 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej Stachowiak. + + Add a FixedArray template to encapsulate fixed length arrays + https://bugs.webkit.org/show_bug.cgi?id=41506 + + Add forwarding header, and replace a few fixed length arrays + with the new FixedArray type. + + * ForwardingHeaders/wtf/FixedArray.h: Added. + * dom/Document.h: + * platform/graphics/GlyphMetricsMap.h: + +2010-07-01 Simon Fraser <simon.fraser@apple.com> + + No review. + + Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly(). + + * WebCore.AcceleratedCompositing.exp: + +2010-07-01 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add window.performance.navigation namespace + https://bugs.webkit.org/show_bug.cgi?id=41442 + + Adds window.performance.navigation namespace consisting of ".type" + and ".redirectCount". As part of this change, I renmaed "NavigationTiming" + to just "Timing" to avoid confusion. + + No new tests because tests will be added in a subsequent patch when + functionality is added. + + * Android.mk: + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/Navigation.cpp: Added. + (WebCore::Navigation::Navigation): + (WebCore::Navigation::frame): + (WebCore::Navigation::disconnectFrame): + (WebCore::Navigation::type): + (WebCore::Navigation::redirectCount): + * page/Navigation.h: Added. + (WebCore::Navigation::create): + * page/Navigation.idl: Added. + * page/NavigationTiming.cpp: Removed. + * page/NavigationTiming.h: Removed. + * page/NavigationTiming.idl: Removed. + * page/Performance.cpp: + (WebCore::Performance::navigation): + (WebCore::Performance::timing): + * page/Performance.h: + * page/Performance.idl: + * page/Timing.cpp: Added. + (WebCore::Timing::Timing): + (WebCore::Timing::frame): + (WebCore::Timing::disconnectFrame): + (WebCore::Timing::navigationStart): + * page/Timing.h: Added. + (WebCore::Timing::create): + * page/Timing.idl: Added. + +2010-07-01 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Jian Li. + + [chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types + https://bugs.webkit.org/show_bug.cgi?id=41493 + + ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always + be non-empty if url is valid. + + No new tests. + + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::writeURL): + +2010-07-01 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Tor Arne Vestbø. + + [Qt] Clamp color stops passed to QGradient to 1.0 + [https://bugs.webkit.org/show_bug.cgi?id=41484 + + Fixes an issue where color stops would be silently dropped from radial gradients. + + * platform/graphics/qt/GradientQt.cpp: + (WebCore::Gradient::platformGradient): + +2010-07-01 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTokenizer should ASSERT that it never emits a null character + https://bugs.webkit.org/show_bug.cgi?id=41448 + + No functional change, thus no tests. These ASSERTs would have + caught the coding error which caused the trouble in bug 41436 + (which was fixed by bug 41439). + + * html/HTMLToken.h: + (WebCore::HTMLToken::beginStartTag): + (WebCore::HTMLToken::beginCharacter): + (WebCore::HTMLToken::beginDOCTYPE): + (WebCore::HTMLToken::appendToName): + (WebCore::HTMLToken::appendToComment): + (WebCore::HTMLToken::appendToAttributeName): + (WebCore::HTMLToken::appendToAttributeValue): + (WebCore::HTMLToken::appendToPublicIdentifier): + (WebCore::HTMLToken::appendToSystemIdentifier): + +2010-07-01 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Tor Arne Vestbø. + + Canvas: Don't paint with empty radial gradients + https://bugs.webkit.org/show_bug.cgi?id=41190 + + If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::fillRect): + * platform/graphics/Gradient.h: + (WebCore::Gradient::isZeroSize): + +2010-07-01 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + Add interface for network platform to pass up timing information + https://bugs.webkit.org/show_bug.cgi?id=41437 + + The Web Timing feature requires the network platform to expose detailed + timing information for the main resource. This patch adds that data to + the ResourceResponseBase. Since the 82 bytes of information is only + needed for the main resource, it is a RefPtr to avoid using the memory + for other resource types. + + No new tests because no new functionality. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/network/ResourceLoadTiming.h: Added. + (WebCore::ResourceLoadTiming::create): + (WebCore::ResourceLoadTiming::deepCopy): + (WebCore::ResourceLoadTiming::operator==): + (WebCore::ResourceLoadTiming::operator!=): + (WebCore::ResourceLoadTiming::ResourceLoadTiming): + * platform/network/ResourceResponseBase.cpp: + (WebCore::ResourceResponseBase::adopt): + (WebCore::ResourceResponseBase::copyData): + (WebCore::ResourceResponseBase::resourceLoadTiming): + (WebCore::ResourceResponseBase::setResourceLoadTiming): + (WebCore::ResourceResponseBase::compare): + * platform/network/ResourceResponseBase.h: + +2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62321. + http://trac.webkit.org/changeset/62321 + https://bugs.webkit.org/show_bug.cgi?id=41494 + + Broke the non-win builds. (Requested by dumi on #webkit). + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::addOpenDatabase): + (WebCore::ScriptExecutionContext::removeOpenDatabase): + (WebCore::ScriptExecutionContext::stopDatabases): + * dom/ScriptExecutionContext.h: + * storage/Database.cpp: + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::markAsDeletedAndClose): + (WebCore::ContextRemoveOpenDatabaseTask::create): + (WebCore::ContextRemoveOpenDatabaseTask::performTask): + (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask): + (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask): + (WebCore::Database::close): + (WebCore::Database::closeImmediately): + (WebCore::Database::stop): + (WebCore::Database::performPolicyChecks): + * storage/Database.h: + (WebCore::Database::): + (WebCore::Database::stopped): + * storage/DatabaseTask.cpp: + (WebCore::DatabaseTask::performTask): + (WebCore::DatabaseOpenTask::DatabaseOpenTask): + (WebCore::DatabaseOpenTask::doPerformTask): + (WebCore::DatabaseOpenTask::debugTaskName): + (WebCore::DatabaseCloseTask::DatabaseCloseTask): + (WebCore::DatabaseCloseTask::doPerformTask): + (WebCore::DatabaseCloseTask::debugTaskName): + (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): + (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask): + (WebCore::DatabaseTransactionTask::doPerformTask): + (WebCore::DatabaseTransactionTask::debugTaskName): + (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): + (WebCore::DatabaseTableNamesTask::doPerformTask): + (WebCore::DatabaseTableNamesTask::debugTaskName): + * storage/DatabaseTask.h: + (WebCore::DatabaseOpenTask::create): + (WebCore::DatabaseCloseTask::create): + (WebCore::DatabaseTransactionTask::create): + (WebCore::DatabaseTableNamesTask::create): + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::databaseThread): + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::addOpenDatabase): + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::executeSQL): + (WebCore::SQLTransaction::checkAndHandleClosedDatabase): + +2010-07-01 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + [GTK] Stop using GdkRegion in 3.x mode + https://bugs.webkit.org/show_bug.cgi?id=41463 + + Make us compile without using GdkRegion, since it's gone from GTK+ + 3.x. + + * platform/graphics/IntRect.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawFocusRing): + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::cairo_region_shrink): + (WebCore::Font::drawComplexText): + * platform/gtk/GtkPluginWidget.cpp: + (WebCore::GtkPluginWidget::paint): + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/ScrollbarGtk.cpp: + (ScrollbarGtk::paint): + +2010-06-30 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Darin Fisher. + + DB clean up. + https://bugs.webkit.org/show_bug.cgi?id=41404 + + 1. Made all DatabaseTasks internal classes of Database and made + the Database methods called by those tasks private. + 2. Removed the Database::stop{ed}() methods. + 3. Removed the code that kept track of open databases from + ScriptExecutionContext (no longer needed). + 4. Made minor changes to Database::closeImmediately() to make it + possible for DatabaseThread to call that method instead of + close(). + 5. Minor fix to DatabaseTracker: addOpenDatabase() should call + OriginQuotaManager::addDatabase() if the origin quota manager + is not tracking this origin. + 6. Removed Database::performPolicyChecks(). We already update the + DB size after each transaction, and we enforce a max size for + the DB at the beginning of each transaction. + + * dom/ScriptExecutionContext.cpp: + (WebCore::ScriptExecutionContext::stopDatabases): + * dom/ScriptExecutionContext.h: + (WebCore::ScriptExecutionContext::hasOpenDatabases): + * storage/Database.cpp: + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::markAsDeletedAndClose): + (WebCore::Database::close): + (WebCore::Database::closeImmediately): + * storage/Database.h: + * storage/DatabaseTask.cpp: + (WebCore::DatabaseTask::performTask): + (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask): + (WebCore::Database::DatabaseOpenTask::doPerformTask): + (WebCore::Database::DatabaseOpenTask::debugTaskName): + (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask): + (WebCore::Database::DatabaseCloseTask::doPerformTask): + (WebCore::Database::DatabaseCloseTask::debugTaskName): + (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask): + (WebCore::Database::DatabaseTransactionTask::doPerformTask): + (WebCore::Database::DatabaseTransactionTask::debugTaskName): + (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask): + (WebCore::Database::DatabaseTableNamesTask::doPerformTask): + (WebCore::Database::DatabaseTableNamesTask::debugTaskName): + * storage/DatabaseTask.h: + (WebCore::Database::DatabaseOpenTask::create): + (WebCore::Database::DatabaseCloseTask::create): + (WebCore::Database::DatabaseTransactionTask::create): + (WebCore::Database::DatabaseTableNamesTask::create): + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::databaseThread): + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::addOpenDatabase): + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::executeSQL): + (WebCore::SQLTransaction::checkAndHandleClosedDatabase): + +2010-07-01 Kent Tamura <tkent@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Support indeterminate checkbox for Windows + https://bugs.webkit.org/show_bug.cgi?id=41444 + + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::determineState): + Check isIndeterminate() and set an appropriate flag value. + +2010-07-01 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=41488 + <rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor + + Test: plugins/js-from-destroy.html + + * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active + document loader. + +2010-07-01 Andy Estes <aestes@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8113003> Correctly fire beforeload events for images + added to the DOM using .innerHTML. + https://bugs.webkit.org/show_bug.cgi?id=40919 + + Test: fast/dom/beforeload/image-before-load-innerHTML.html + + * html/LegacyHTMLDocumentParser.cpp: + (WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous + image beforeload events immediately after parsing a document fragment. + Let the events fire later, giving the fragment time to potentially be + inserted into the document. + +2010-07-01 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Tor Arne Vestbø. + + Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths + https://bugs.webkit.org/show_bug.cgi?id=41192 + + If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now + move to the (first) control point before adding the curve. + + Spec links: + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::quadraticCurveTo): + (WebCore::CanvasRenderingContext2D::bezierCurveTo): + +2010-07-01 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + Canvas element cannot have negative width or height (HTML5 spec 4.8.11) + https://bugs.webkit.org/show_bug.cgi?id=39149 + + If assigned a negative value, it should default to 300 for width and 150 for height. + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width + + Test: fast/canvas/canvas-negative-size.html + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::reset): + +2010-07-01 Darin Adler <darin@apple.com> + + Reviewed by Steve Falkenburg. + + Turn on adoptRef assertion for TreeShared. + + * platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs. + Actually, I used LOOSE_REF_COUNTED by accident in a few places, but + removing them all now. + + * rendering/ShadowElement.cpp: + (WebCore::ShadowBlockElement::create): Added adoptRef. This was a + storage leak before, probably recently introduced r61324. + (WebCore::ShadowInputElement::create): Ditto. + +2010-07-01 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + Only include the geolocation IDL in the GObject DOM bindings set + if geolocation is enabled. + + * GNUmakefile.am: + +2010-07-01 Timothy Hatcher <timothy@apple.com> + + Provide a WebView preference to disable DNS prefetching. + + https://bugs.webkit.org/show_bug.cgi?id=28825 + rdar://problem/7181249 + + Reviewed by Darin Adler. + + * WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled. + * dom/Document.cpp: + (WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled(). + * page/Settings.cpp: + (WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true. + (WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled. + * page/Settings.h: + (WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled. + +2010-07-01 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Get accelerated compositing working with webkit2 + https://bugs.webkit.org/show_bug.cgi?id=41084 + + Step 2: add a method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit + batched changes non-recursively. This allows us to use GraphicsLayer in places where we + don't want to kick off a recursive commit of the entire tree. + + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly): + * platform/graphics/mac/GraphicsLayerCA.h: + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly): + * WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2. + +2010-07-01 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Sam Weinig. + + Get accelerated compositing working with webkit2 + https://bugs.webkit.org/show_bug.cgi?id=41084 + + Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING) + is defined. + + Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore. + + * DerivedSources.make: + * WebCore.AcceleratedCompositing.exp: Added. + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + +2010-07-01 Alexey Proskuryakov <ap@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431> + REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction + + Test: plugins/write-xssauditor-from-destroy.html + + Fix specific known cases that also crash in same process case. I don't know if there is + any rule for when documentLoader should be checked for being null, it looks like a mess. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::referrer): + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::findInRequest): + +2010-07-01 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + The HTML5 canvas 2d.drawImage.zerocanvas test does not pass + https://bugs.webkit.org/show_bug.cgi?id=40271 + + Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height. + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage + + * bindings/js/JSCanvasRenderingContext2DCustom.cpp: + (WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y) + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + +2010-07-01 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Oliver Hunt. + + [Qt] Canvas: clip() should use non-zero winding rule + https://bugs.webkit.org/show_bug.cgi?id=41466 + + Use non-zero winding number rule when clipping a GraphicsContext from canvas. + Fixes appearance of the "pill" in the web inspector. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::canvasClip): + +2010-07-01 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62246. + http://trac.webkit.org/changeset/62246 + https://bugs.webkit.org/show_bug.cgi?id=41470 + + "Worker tests are broken in Chromium" (Requested by yurys on + #webkit). + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::processingUserGesture): + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::invokeEventHandler): + * bindings/v8/V8HiddenPropertyName.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::eventAccessorGetter): + (WebCore::V8DOMWindow::eventAccessorSetter): + +2010-07-01 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Tor Arne Vestbø. + + Canvas: Exception erroneously thrown for drawImage() when image.complete=false + https://bugs.webkit.org/show_bug.cgi?id=33968 + + Do nothing in drawImage() if called with an image whose 'complete' + attribute is false, or a video whose readyState is either HAVE_NOTHING + or HAVE_METADATA. + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage + + Test: fast/canvas/canvas-drawImage-incomplete.html + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + +2010-07-01 Justin Schuh <jschuh@chromium.org> + + Reviewed by Dan Bernstein. + + Prevent crash on counter destruction + https://bugs.webkit.org/show_bug.cgi?id=40032 + + Added counter destruction to RenderWidget::destroy() + + Test: fast/css/counters/destroy-counter-crash.html + + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + +2010-07-01 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Unreviewed build fix after r62215. + + No new functionality, so no new tests. + + * CMakeLists.txt: Add missing files and re-sort. + +2010-07-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Remove an unneeded assert. + + This assert is triggered for example while showing the falling leaves demo. + GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input + pointer is null. Looking at the uses of this method it seems like + it is expected to return null if a null pointer is given to it. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::toGraphicsLayerQtImpl): + +2010-06-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Fix qmake vcproj generation for QtWebKit. + + qmake use TARGET=/LIBS+= -lTARGET to create dependencies + between projects in a subdir template. + + Since when compiling outside of Qt we hijack the target name of + QtWebKit to add the configuration and version suffix to the binary + filename, qmake can't establish the WebCore project as a dependency + to QtTestBrowser. + + This patch makes sure that the target is not hijacked on the + first of the three passes where the dependencies are determined. + + * WebCore.pro: + +2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + SVGRenderStyle::diff() is missing + https://bugs.webkit.org/show_bug.cgi?id=41455 + + Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ. + Figure out when to repaint, and as last resort do a relayout. + + Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::diff): + * rendering/style/SVGRenderStyle.cpp: + (WebCore::SVGRenderStyle::diff): + * rendering/style/SVGRenderStyle.h: + +2010-07-01 Antti Koivisto <koivisto@iki.fi> + + Revert accidental commit. + + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + +2010-07-01 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Nikolas Zimmermann. + + Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196. + https://bugs.webkit.org/show_bug.cgi?id=40984 + + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderSupport::finishRenderSVGContent): + +2010-07-04 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Dirk Schulze. + + Buildfix for !ENABLE(FILTERS) after r62238. + https://bugs.webkit.org/show_bug.cgi?id=41456 + + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderSupport::prepareToRenderSVGContent): + +2010-07-01 MORITA Hajime <morrita@google.com> + + Unreviewed build fix. + + * rendering/RenderInputSpeech.cpp: + (WebCore::RenderInputSpeech::paintInputFieldSpeechButton): + * rendering/RenderInputSpeech.h: + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::paintInputFieldSpeechButton): + * rendering/RenderTheme.h: + +2010-07-01 Satish Sampath <satish@chromium.org> + + Reviewed by Kent Tamura. + + Rendering the speech button in input elements. + https://bugs.webkit.org/show_bug.cgi?id=40984 + + The button currently has only one state and rendered as an image on all platforms. Subsequent + patches will add user input handling and more states + rendering code to the button. The + button's appearance can be customized by individual ports in their RenderTheme implementation + if required. + + Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html + platform/mac/fast/forms/input-appearance-searchandspeech.html + platform/mac/fast/forms/input-appearance-speechbutton.html + + * GNUmakefile.am: + * Resources/inputSpeech.png: Added. + * Resources/inputSpeech.tiff: Added. Used by the Mac implementation. + * WebCore.gypi: + * WebCore.pro: + * WebCore.qrc: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/qt/ImageQt.cpp: + (loadResourcePixmap): Load the speech button images for Qt port. + * rendering/RenderInputSpeech.cpp: Added. + (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions. + (WebCore::RenderInputSpeech::paintInputFieldSpeechButton): + * rendering/RenderInputSpeech.h: Added. + * rendering/RenderTextControlSingleLine.cpp: + (WebCore::RenderTextControlSingleLine::layout): + (WebCore::RenderTextControlSingleLine::forwardEvent): + (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button. + (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::adjustStyle): + (WebCore::RenderTheme::paint): + (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle): + (WebCore::RenderTheme::paintInputFieldSpeechButton): + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of + speech button when enabled. + +2010-07-01 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Extra nullcheck needed at SelectionControllerGtk.cpp + https://bugs.webkit.org/show_bug.cgi?id=41447 + + Extra null check added. + + * editing/gtk/SelectionControllerGtk.cpp: + (WebCore::SelectionController::notifyAccessibilityForSelectionChange): + +2010-07-01 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Adam Barth. + + [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute + https://bugs.webkit.org/show_bug.cgi?id=41350 + + Tests: fast/events/popup-blocked-from-fake-user-gesture.html + http/tests/inspector/change-iframe-src.html + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one + from the call stack. Get event directly from hidden property to avoid unnecessary checks. + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::invokeEventHandler): + * bindings/v8/V8HiddenPropertyName.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::eventAccessorGetter): + (WebCore::V8DOMWindow::eventAccessorSetter): + +2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox() + https://bugs.webkit.org/show_bug.cgi?id=41450 + + strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container, + instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container + which has a resource applied and contains a children which also has a resource applied. + + Doesn't affect any test results. + + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::objectBoundingBox): + (WebCore::RenderSVGContainer::strokeBoundingBox): + (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain. + (WebCore::RenderSVGRoot::strokeBoundingBox): Ditto. + (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): + * rendering/RenderSVGRoot.h: + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderSupport::computeContainerBoundingBox): + * rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation. + +2010-07-01 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Implementing feConvolveMatrix svg filter + https://bugs.webkit.org/show_bug.cgi?id=5861 + + The implementation is optimized for speed, and uses + multiple algorithms for different parts of the image. + See SVGFEConvolveMatrixElement.cpp for a detailed + description. + + * svg/SVGFEConvolveMatrixElement.cpp: + (WebCore::SVGFEConvolveMatrixElement::build): + * svg/graphics/filters/SVGFEConvolveMatrix.cpp: + (WebCore::clampRGBAValue): + (WebCore::FEConvolveMatrix::fastSetInteriorPixels): + (WebCore::FEConvolveMatrix::getPixelValue): + (WebCore::FEConvolveMatrix::fastSetOuterPixels): + (WebCore::FEConvolveMatrix::setInteriorPixels): + (WebCore::FEConvolveMatrix::setOuterPixels): + (WebCore::FEConvolveMatrix::apply): + * svg/graphics/filters/SVGFEConvolveMatrix.h: + (WebCore::FEConvolveMatrix::uniteChildEffectSubregions): + +2010-07-01 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Abstract 'a'-'z' checks into a function + https://bugs.webkit.org/show_bug.cgi?id=41438 + + Hopefully this version is more readable. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + +2010-07-01 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore + https://bugs.webkit.org/show_bug.cgi?id=41345 + + Apparently whether an HTML entity requires a trailing semicolon varies + depending on the entity. The full table is in the spec: + + http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references + + I believe branch added in this patch is accurate. At some point, I'll + add a full test suite for all the named entities. + + * html/HTMLEntityParser.cpp: + (WebCore::consumeHTMLEntity): + +2010-07-01 Eric Seidel <eric@webkit.org> + + Unreviewed. Fix paste-o in Gtk build file. + + Split out HTMLFormattingElementList into its own file + https://bugs.webkit.org/show_bug.cgi?id=41440 + + * GNUmakefile.am: + +2010-07-01 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Eric Seidel & Dirk Schulze. + + Performance regression for setting content of <text> in SVG + https://bugs.webkit.org/show_bug.cgi?id=36564 + + Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting. + Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set. + Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect. + And as RenderSVGRoot never carries shadow or opacity it was completly useless. + + RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case. + These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in + the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000. + + 50 runs without the patch: ~ 520.8ms + 50 runs with the patch : ~ 501.8ms + + The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text> + element withs clippers applied, is very cheap now. + + Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed + of the cache - just like all other resources are handled, simplifying the code. + + * rendering/RenderPath.cpp: + (WebCore::RenderPath::paint): + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::paint): + (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::paint): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::paint): + * rendering/SVGInlineFlowBox.cpp: + (WebCore::SVGInlineFlowBox::paint): + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderSupport::prepareToRenderSVGContent): + (WebCore::SVGRenderSupport::finishRenderSVGContent): + * rendering/SVGRenderSupport.h: + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::paint): + +2010-07-01 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Split out HTMLFormattingElementList into its own file + https://bugs.webkit.org/show_bug.cgi?id=41440 + + No functional changes, thus no tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement): + (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements): + * html/HTMLTreeBuilder.h: + +2010-07-01 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + BogusCommentState should come in from the cold + https://bugs.webkit.org/show_bug.cgi?id=41439 + + The BogusCommentState has always been wrong. The proximate issue is + that it didn't handle resuming correctly when parsing a partial input + stream. Now that we have EOF working properly, we can actually + implement this state correctly. + + We need to distinguish when we enter this state from when we continue + in this state. We could do that with a branch for each character, but + it seemed easier to split the state in two, even though that leaves us + with one more state in our tokenizer than we have in the HTML5 spec. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + * html/HTMLTokenizer.h: + (WebCore::HTMLTokenizer::): + +2010-06-30 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTMLTokenizer's whitespace checks are very redundant + https://bugs.webkit.org/show_bug.cgi?id=41434 + + This patch adds isTokenizerWhitespace, which replaces a lot of + redundant logic in nextToken. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + +2010-06-30 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Crash when uploading document to Google Docs + https://bugs.webkit.org/show_bug.cgi?id=40795 + + Fix bug where the local file wasn't opened (for POSTing) + if it were the first element in the form. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::FormDataIODevice::FormDataIODevice): + (WebCore::FormDataIODevice::moveToNextElement): + (WebCore::FormDataIODevice::openFileForCurrentElement): + * platform/network/qt/QNetworkReplyHandler.h: + +2010-06-30 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Implement generateImpliedEndTags and deploy to steps which were blocked on it + https://bugs.webkit.org/show_bug.cgi?id=41432 + + This fixes one subtest in html5lib/runner.html and positively + effects a couple others. + + More code sharing will be needed here. For the moment + we're using copy/paste code, but that will soon be shared. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion): + (WebCore::HTMLTreeBuilder::generateImpliedEndTags): + * html/HTMLTreeBuilder.h: + +2010-06-30 Csaba Osztrogonác <ossy@webkit.org> + + Unreviewed buildfix after r62196 and r62214. + + * html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of + !ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h. + +2010-06-30 Sam Weinig <sam@webkit.org> + + Really fix the windows build. + + * bindings/js/JSBindingsAllInOne.cpp: + +2010-06-30 Sam Weinig <sam@webkit.org> + + Another Chromium build fix. + + * page/DOMWindow.idl: + +2010-06-30 Sam Weinig <sam@webkit.org> + + Fix Chromium build. + + * WebCore.gyp/WebCore.gyp: + +2010-06-30 Sam Weinig <sam@webkit.org> + + Fix Windows build. + + * bindings/js/JSBindingsAllInOne.cpp: + +2010-06-30 Sam Weinig <sam@webkit.org> + + Fix Gtk build. + + * GNUmakefile.am: + +2010-06-29 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Patch for https://bugs.webkit.org/show_bug.cgi?id=41146 + <rdar://problem/8126069> + Implement the .dataset DOM property + + Tests: fast/dom/dataset-xhtml.xhtml + fast/dom/dataset.html + + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMStringMapCustom.cpp: Added. + (WebCore::JSDOMStringMap::canGetItemsForName): + (WebCore::JSDOMStringMap::nameGetter): + (WebCore::JSDOMStringMap::getOwnPropertyNames): + (WebCore::JSDOMStringMap::deleteProperty): + (WebCore::JSDOMStringMap::putDelegate): + * bindings/js/JSDOMStringMapCustom.h: Added. + * dom/DOMStringMap.cpp: Added. + (WebCore::DOMStringMap::~DOMStringMap): + * dom/DOMStringMap.h: Added. + (WebCore::DOMStringMap::DOMStringMap): + * dom/DOMStringMap.idl: Added. + * dom/DatasetDOMStringMap.cpp: Added. + (WebCore::isValidAttributeName): + (WebCore::convertAttributeNameToPropertyName): + (WebCore::propertyNameMatchesAttributeName): + (WebCore::isValidPropertyName): + (WebCore::convertPropertyNameToAttributeName): + (WebCore::DatasetDOMStringMap::ref): + (WebCore::DatasetDOMStringMap::deref): + (WebCore::DatasetDOMStringMap::getNames): + (WebCore::DatasetDOMStringMap::item): + (WebCore::DatasetDOMStringMap::contains): + (WebCore::DatasetDOMStringMap::setItem): + (WebCore::DatasetDOMStringMap::deleteItem): + * dom/DatasetDOMStringMap.h: Added. + (WebCore::DatasetDOMStringMap::create): + (WebCore::DatasetDOMStringMap::DatasetDOMStringMap): + * dom/Element.cpp: + (WebCore::Element::dataset): + * dom/Element.h: + * dom/Element.idl: + * dom/ElementRareData.h: + * page/DOMWindow.idl: + +2010-06-30 Darin Adler <darin@apple.com> + + More Qt build fix. + + * html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around + include of SVGNames.h too. + +2010-06-30 Darin Adler <darin@apple.com> + + Reviewed by Adam Barth. + + Add assertion, off by default, for when you forget to do adoptRef + https://bugs.webkit.org/show_bug.cgi?id=41422 + + * platform/TreeShared.h: Added code to require adoption and assert if + you don't call adoptRef. For now, it is turned off because of the + LOOSE_TREE_SHARED define in this header. Later we can turn it on + once we get everything working without asserting. Note also that it + only works for objects with an initial reference count of 1. + +2010-06-30 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Darin Adler. + + Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196. + https://bugs.webkit.org/show_bug.cgi?id=41429 + + * html/HTMLElementStack.cpp: + +2010-06-30 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Add new popUntil(tagName) function and deploy + https://bugs.webkit.org/show_bug.cgi?id=41405 + + Add a new popUntil function to share some common code + between states. There is more code to share here, but this + is a start. + + I also filled in a couple similar states to these with the + hope of sharing more code, but decided to wait for a later + patch. + + No test changes, since this code doesn't do enough yet to + pass any more subtests. Lack of generateImpliedEndTags is the main + blocking issue. + + * html/HTMLElementStack.cpp: + (WebCore::HTMLElementStack::popUntil): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + +2010-06-30 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + [GTK] Unit test for DOM insertion methods + https://bugs.webkit.org/show_bug.cgi?id=40495 + + Fix typo in custom function detection method. + + * bindings/scripts/CodeGeneratorGObject.pm: + +2010-06-30 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Implement HTML5 "in scope" algorithm and attempt to use it + https://bugs.webkit.org/show_bug.cgi?id=41402 + + Implemented the 4 needed "in scope" functions for HTML5. + 3 for the different sets of scope markers, and one for + doing exact element comparisons instead of tag name searches. + + I deployed inScope("body") for </body> and </html> in InBody. + + Adds two new (expected) failures, since we're now + switching out of InBody to AfterBody when seeing + </html>. We don't implement AfterBody yet, so + the rest of the content after </html> is ignored. + + * html/HTMLElementStack.cpp: + (WebCore::inScopeCommon): + (WebCore::HTMLElementStack::inScope): + (WebCore::HTMLElementStack::inListItemScope): + (WebCore::HTMLElementStack::inTableScope): + * html/HTMLElementStack.h: + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody): + (WebCore::HTMLTreeBuilder::processEndTag): + * html/HTMLTreeBuilder.h: + +2010-06-30 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Split HTMLElementStack out into its own file + https://bugs.webkit.org/show_bug.cgi?id=41399 + + No functional change, thus no tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLElementStack.cpp: Added. + (WebCore::HTMLElementStack::ElementRecord::ElementRecord): + (WebCore::HTMLElementStack::ElementRecord::element): + (WebCore::HTMLElementStack::ElementRecord::next): + (WebCore::HTMLElementStack::ElementRecord::releaseNext): + (WebCore::HTMLElementStack::ElementRecord::setNext): + (WebCore::HTMLElementStack::HTMLElementStack): + (WebCore::HTMLElementStack::~HTMLElementStack): + (WebCore::HTMLElementStack::popHTMLHeadElement): + (WebCore::HTMLElementStack::pop): + (WebCore::HTMLElementStack::pushHTMLHtmlElement): + (WebCore::HTMLElementStack::pushHTMLHeadElement): + (WebCore::HTMLElementStack::pushHTMLBodyElement): + (WebCore::HTMLElementStack::push): + (WebCore::HTMLElementStack::top): + (WebCore::HTMLElementStack::removeHTMLHeadElement): + (WebCore::HTMLElementStack::remove): + (WebCore::HTMLElementStack::contains): + (WebCore::HTMLElementStack::inScope): + (WebCore::HTMLElementStack::htmlElement): + (WebCore::HTMLElementStack::headElement): + (WebCore::HTMLElementStack::bodyElement): + (WebCore::HTMLElementStack::pushCommon): + (WebCore::HTMLElementStack::popCommon): + (WebCore::HTMLElementStack::removeNonFirstCommon): + * html/HTMLElementStack.h: Added. + * html/HTMLTreeBuilder.h: + +2010-06-30 Kenneth Russell <kbr@google.com> + + Reviewed by Oliver Hunt. + + WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f) + https://bugs.webkit.org/show_bug.cgi?id=38040 + + Changed custom ArrayBufferView constructors to create a + fully-initialized, zero-length array when called with zero + arguments. This is the simplest fix which works identically in + both the JSC and V8 bindings. + + Test: fast/canvas/webgl/array-buffer-view-crash.html + + * bindings/js/JSArrayBufferViewHelper.h: + (WebCore::constructArrayBufferView): + * bindings/v8/custom/V8ArrayBufferViewCustom.h: + (WebCore::constructWebGLArray): + +2010-06-30 Victor Wang <victorw@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] update webcore gyp to use v8 dll for chromium multi dll build. + + https://bugs.webkit.org/show_bug.cgi?id=41376 + + * WebCore.gyp/WebCore.gyp: + +2010-06-30 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Dimitri Glazkov. + + [Chromium] Add OOP font loading to FontPlatformDataChromiumMac. + + On OS X, with font management software installed. Fonts + can reside in an arbitrary path on disk which is blocked by + Chromium's sandbox. + + This change adds hooks to FontPlaformData which allow cross-process + font loading in case of need. + + https://bugs.webkit.org/show_bug.cgi?id=41148 + + Not possible to test - requires sandboxing which DRT doesn't support. + + * WebCore.gypi: + * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added. + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::~FontPlatformData): + (WebCore::FontPlatformData::operator=): + (WebCore::FontPlatformData::setFont): + (WebCore::FontPlatformData::roundsGlyphAdvances): + (WebCore::FontPlatformData::allowsLigatures): + (WebCore::FontPlatformData::description): + +2010-06-30 Jeremy Moskovich <jeremy@chromium.org> + + Reviewed by Dan Bernstein. + + Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm + + * Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm + * Fix a typo in FontPlatformDataMac.mm + + https://bugs.webkit.org/show_bug.cgi?id=41152 + + No behavior changes so no new tests. + + * platform/graphics/mac/FontPlatformDataMac.mm: + (WebCore::FontPlatformData::description): + * platform/graphics/mac/SimpleFontDataMac.mm: + (WebCore::copyFontTableForTag): + +2010-06-30 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk + https://bugs.webkit.org/show_bug.cgi?id=41407 + + Only disallow calling SetWindow more than once if we're using Flash 9 or older. + This fixes resizing of YouTube videos via the player's own button. + + Removed copy-pasted logic in PluginViewGtk since the issue only exists + when running Flash with a non-Gtk toolkit. + + * plugins/PluginPackage.cpp: + (WebCore::PluginPackage::determineQuirks): + * plugins/PluginQuirkSet.h: + (WebCore::): + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt. + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): + +2010-06-30 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Antti Koivisto. + + [Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects + https://bugs.webkit.org/show_bug.cgi?id=41406 + + NPRect has right/bottom instead of width/height. + This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815 + + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): + * plugins/symbian/PluginViewSymbian.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): + +2010-06-30 Antonio Gomes <tonikitoo@webkit.org> + + Reviewed by Simon Fraser. + + Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable + https://bugs.webkit.org/show_bug.cgi?id=41160 + + Patch addresses the problem of spatial navigation not work properly with nested + inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks + if a give node is descendant of a given document or any parent of it. + + Test: fast/events/spatial-navigation/snav-iframe-nested.html + + * page/FocusController.cpp: + (WebCore::FocusController::deepFindFocusableNodeInDirection): + * page/SpatialNavigation.cpp: + (WebCore::isNodeDeepDescendantOfDocument): + * page/SpatialNavigation.h: + +2010-06-30 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTMLTokenizer should use fewer macros + https://bugs.webkit.org/show_bug.cgi?id=41397 + + Macros are sadness. Inline functions are the new hotness. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::processEntity): + (WebCore::HTMLTokenizer::emitAndResumeIn): + (WebCore::HTMLTokenizer::emitAndReconsumeIn): + (WebCore::HTMLTokenizer::emitEndOfFile): + (WebCore::HTMLTokenizer::flushBufferedEndTag): + (WebCore::HTMLTokenizer::flushEmitAndResumeIn): + (WebCore::HTMLTokenizer::nextToken): + (WebCore::HTMLTokenizer::bufferCharacter): + (WebCore::HTMLTokenizer::bufferCodePoint): + (WebCore::HTMLTokenizer::bufferParseError): + (WebCore::HTMLTokenizer::bufferCurrentToken): + (WebCore::HTMLTokenizer::bufferEndOfFile): + * html/HTMLTokenizer.h: + +2010-06-30 Justin Schuh <jschuh@chromium.org> + + Reviewed by Adam Barth. + + Remove dead binding code + https://bugs.webkit.org/show_bug.cgi?id=41388 + + Removed BindingElement because it was obsoleted by r59866. + + * WebCore.gypi: + * bindings/generic/BindingElement.h: Removed. + * bindings/v8/SerializedScriptValue.cpp: + * bindings/v8/V8Binding.h: + * bindings/v8/custom/V8DatabaseCustom.cpp: + * bindings/v8/custom/V8DatabaseSyncCustom.cpp: + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: + +2010-06-30 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTokenizer needs EndOfFile support + https://bugs.webkit.org/show_bug.cgi?id=41344 + + EndOfFile support uncovered a bug in our implementation of finish(). + finish() may be called more than once if the first call does not + result in end() being called (and parsing thus actually stopping). + + SegmentedString::close() should have ASSERTed that it was not already + closed when close() is called. I've added such an assert now. + + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::finish): + * platform/text/SegmentedString.cpp: + (WebCore::SegmentedString::close): + * platform/text/SegmentedString.h: + +2010-06-29 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + HTMLTokenizer needs EndOfFile support + https://bugs.webkit.org/show_bug.cgi?id=41344 + + We're using \0 as the EndOfFile marker as HTML5 replaces + all other \0 with \0xFFFD. Added some special case logic + to InputStreamPreprocessor::peek not to replace \0 when + its being used at the end of a stream. + + This fixed 60 subtests in html5lib/runner.html. + + There are still at least two states (BogusCommentState and + CDATASectionState) which do not have proper EOF support. + + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::finish): + (WebCore::HTMLDocumentParser::finishWasCalled): + * html/HTMLInputStream.h: + (WebCore::HTMLInputStream::markEndOfFile): + (WebCore::HTMLInputStream::haveSeenEndOfFile): + * html/HTMLToken.h: + (WebCore::HTMLToken::makeEndOfFile): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::nextToken): + (WebCore::HTMLTokenizer::emitEndOfFile): + * html/HTMLTokenizer.h: + (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek): + (WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::passTokenToLegacyParser): + +2010-06-28 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Teach HTML5TreeBuilder how to merge attributes from extra html/body elements + https://bugs.webkit.org/show_bug.cgi?id=41337 + + Had to teach ElementStack to store pointers to html, head, and body + elements. + + This fixed a few tests in LayoutTests/html5lib. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML): + (WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement): + (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent): + (WebCore::HTMLTreeBuilder::insertHTMLHtmlElement): + (WebCore::HTMLTreeBuilder::insertHTMLHeadElement): + (WebCore::HTMLTreeBuilder::insertHTMLBodyElement): + (WebCore::HTMLTreeBuilder::insertElement): + (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement): + (WebCore::HTMLTreeBuilder::insertGenericRawTextElement): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::ElementStack::ElementStack): + (WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement): + (WebCore::HTMLTreeBuilder::ElementStack::pop): + (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement): + (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement): + (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement): + (WebCore::HTMLTreeBuilder::ElementStack::push): + (WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement): + (WebCore::HTMLTreeBuilder::ElementStack::remove): + (WebCore::HTMLTreeBuilder::ElementStack::htmlElement): + (WebCore::HTMLTreeBuilder::ElementStack::headElement): + (WebCore::HTMLTreeBuilder::ElementStack::bodyElement): + (WebCore::HTMLTreeBuilder::ElementStack::pushCommon): + (WebCore::HTMLTreeBuilder::ElementStack::popCommon): + (WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon): + +2010-06-30 José Millán Soto <jmillan@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] Text attributes not exposed + https://bugs.webkit.org/show_bug.cgi?id=25528 + + Implemented the get_run_attributes and get_default_attributes + functions for the ATK_TEXT role. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (getAttributeSetForAccessibilityObject): + (compareAttribute): + (attributeSetDifference): + (accessibilityObjectLength): + (getAccessibilityObjectForOffset): + (getRunAttributesFromAccesibilityObject): + (webkit_accessible_text_get_run_attributes): + (webkit_accessible_text_get_default_attributes): + +2010-06-30 Yuta Kitamura <yutak@chromium.org> + + Reviewed by Alexey Proskuryakov. + + Fix Sec-WebSocketKey{1,2} headers. + + According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header + should not start or end with a space. + + WebSocket: Malformed handshake headers in a worker due to rand_s failing + https://bugs.webkit.org/show_bug.cgi?id=41327 + + No new tests. ASSERT should catch the problem. + + * websockets/WebSocketHandshake.cpp: + (WebCore::generateSecWebSocketKey): + +2010-06-30 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Dan Bernstein. + + Fix for Bug 41339 - unicode-range property only with a descending range + causes a crash + + https://bugs.webkit.org/show_bug.cgi?id=41339 + + Test: fast/css/font-face-descending-unicode-range.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFontFaceUnicodeRange): + +2010-06-29 Abhinav Mithal <abhinav.mithal@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian + https://bugs.webkit.org/show_bug.cgi?id=37303 + + * plugins/symbian/PluginViewSymbian.cpp: + (WebCore::PluginView::platformDestroy): + +2010-06-29 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Implement getAttachedShaders + https://bugs.webkit.org/show_bug.cgi?id=31172 + + * bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders(). + (WebCore::JSWebGLRenderingContext::getAttachedShaders): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders(). + (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback): + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders(). + (WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name. + * html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders(). + * html/canvas/WebGLRenderingContext.idl: Ditto. + * platform/graphics/GraphicsContext3D.h: Ditto. + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders(). + +2010-06-29 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + REGRESSION: [Chromium] <progress> appearance on windows looks not good + https://bugs.webkit.org/show_bug.cgi?id=41343 + + RenderThemeChromiumWin::paintProgressBar() should return false, + which indicates the widget is painted. + + Test: fast/dom/HTMLProgressElement/progress-element.html + * rebaselined with a wrong expectation. + + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintProgressBar): + +2010-06-29 Kinuko Yasuda <kinuko@chromium.org> + + Reviewed by Jian Li. + + Fix http/tests/local/blob/send-data-blob.html on Windows + https://bugs.webkit.org/show_bug.cgi?id=41228 + + Fix a regression bug in the line-conversion code. + Rewrite the line-conversion function with simpler functions to + make it less error prone. + + No new tests as this is for bug fixes. + + * platform/BlobItem.cpp: + (WebCore::StringBlobItem::convertToCString): + +2010-06-29 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Darin Fisher. + + Implementing DatabaseSync::openDatabaseSync(). + https://bugs.webkit.org/show_bug.cgi?id=40607 + + 1. Moved some common code from Database to AbstractDatabase. + 2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't + need to interact with DatabaseThread. + 3. Removed the m_creationCallback field, since it's only needed in + the openDatabase{Sync} methods. + + * storage/AbstractDatabase.cpp: + (WebCore::retrieveTextResultFromDatabase): + (WebCore::setTextValueInDatabase): + (WebCore::guidMutex): + (WebCore::guidToVersionMap): + (WebCore::updateGuidVersionMap): + (WebCore::guidToDatabaseMap): + (WebCore::guidForOriginAndName): + (WebCore::AbstractDatabase::databaseInfoTableName): + (WebCore::AbstractDatabase::AbstractDatabase): + (WebCore::AbstractDatabase::closeDatabase): + (WebCore::AbstractDatabase::version): + (WebCore::AbstractDatabase::performOpenAndVerify): + (WebCore::AbstractDatabase::scriptExecutionContext): + (WebCore::AbstractDatabase::securityOrigin): + (WebCore::AbstractDatabase::stringIdentifier): + (WebCore::AbstractDatabase::displayName): + (WebCore::AbstractDatabase::estimatedSize): + (WebCore::AbstractDatabase::fileName): + (WebCore::AbstractDatabase::databaseVersionKey): + (WebCore::AbstractDatabase::getVersionFromDatabase): + (WebCore::AbstractDatabase::setVersionInDatabase): + (WebCore::AbstractDatabase::versionMatchesExpected): + (WebCore::AbstractDatabase::setExpectedVersion): + (WebCore::AbstractDatabase::disableAuthorizer): + (WebCore::AbstractDatabase::enableAuthorizer): + (WebCore::AbstractDatabase::setAuthorizerReadOnly): + (WebCore::AbstractDatabase::lastActionChangedDatabase): + (WebCore::AbstractDatabase::lastActionWasInsert): + (WebCore::AbstractDatabase::resetDeletes): + (WebCore::AbstractDatabase::hadDeletes): + (WebCore::AbstractDatabase::resetAuthorizer): + * storage/AbstractDatabase.h: + (WebCore::AbstractDatabase::opened): + (WebCore::AbstractDatabase::isNew): + (WebCore::AbstractDatabase::databaseDebugName): + * storage/Database.cpp: + (WebCore::DatabaseCreationCallbackTask::create): + (WebCore::DatabaseCreationCallbackTask::performTask): + (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::version): + (WebCore::Database::openAndVerifyVersion): + (WebCore::Database::close): + (WebCore::Database::stop): + (WebCore::Database::performOpenAndVerify): + * storage/Database.h: + (WebCore::Database::sqliteDatabase): + * storage/DatabaseAuthorizer.cpp: + (WebCore::DatabaseAuthorizer::create): + (WebCore::DatabaseAuthorizer::DatabaseAuthorizer): + (WebCore::DatabaseAuthorizer::denyBasedOnTableName): + * storage/DatabaseAuthorizer.h: + * storage/DatabaseSync.cpp: + (WebCore::DatabaseSync::openDatabaseSync): + (WebCore::DatabaseSync::DatabaseSync): + (WebCore::DatabaseSync::~DatabaseSync): + (WebCore::DatabaseSync::markAsDeletedAndClose): + (WebCore::CloseSyncDatabaseOnContextThreadTask::create): + (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): + (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): + (WebCore::DatabaseSync::closeImmediately): + * storage/DatabaseSync.h: + * storage/DatabaseTask.cpp: + (WebCore::DatabaseOpenTask::DatabaseOpenTask): + (WebCore::DatabaseOpenTask::doPerformTask): + * storage/DatabaseTask.h: + (WebCore::DatabaseOpenTask::create): + +2010-06-29 François Sausset <sausset@gmail.com> + + Reviewed by Darin Adler. + + Fix a bug when a msubsup element is inside a mrow element + https://bugs.webkit.org/show_bug.cgi?id=36525 + + Test: mathml/presentation/subsup.xhtml + + * mathml/RenderMathMLSubSup.cpp: + (WebCore::RenderMathMLSubSup::stretchToHeight): + +2010-06-29 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + uniformmatrix* should generate INVALID_VALUE with transpose = true + https://bugs.webkit.org/show_bug.cgi?id=41235 + + Test: fast/canvas/webgl/gl-uniformmatrix4fv.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead. + (WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto. + (WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto. + (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*(). + * html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters(). + +2010-06-29 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView + https://bugs.webkit.org/show_bug.cgi?id=40398 + + Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store + parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView. + More cleanly separated the unpacking and packing phases of user-supplied pixel data + in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling + of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added + validation of the amount of data passed to texImage2D and texSubImage2D. Modified + fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha + tests for relevant source formats; added new test which exercises all combinations + of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel + store parameters. + + Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::texImage2D): + (WebCore::WebGLRenderingContext::texSubImage2D): + (WebCore::WebGLRenderingContext::validateTexFuncData): + * html/canvas/WebGLRenderingContext.h: + * platform/graphics/GraphicsContext3D.cpp: + (WebCore::GraphicsContext3D::extractImageData): + (WebCore::GraphicsContext3D::extractTextureData): + (WebCore::GraphicsContext3D::flipVertically): + (WebCore::doUnpackingAndPacking): + (WebCore::computeIncrementParameters): + (WebCore::doPacking): + (WebCore::GraphicsContext3D::packPixels): + * platform/graphics/GraphicsContext3D.h: + (WebCore::GraphicsContext3D::): + * platform/graphics/cg/GraphicsContext3DCG.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/qt/GraphicsContext3DQt.cpp: + (WebCore::GraphicsContext3D::getImageData): + * platform/graphics/skia/GraphicsContext3DSkia.cpp: + (WebCore::GraphicsContext3D::getImageData): + +2010-06-29 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Dirk Schulze. + + Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667. + https://bugs.webkit.org/show_bug.cgi?id=41367 + + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT). + +2010-06-29 Patrick Gansterer <paroga@paroga.com> + + Reviewed by Darin Adler. + + Buildfix after r62118. + https://bugs.webkit.org/show_bug.cgi?id=41365 + + * rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h. + +2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62052. + http://trac.webkit.org/changeset/62052 + https://bugs.webkit.org/show_bug.cgi?id=41357 + + Causes crashes in JSLazyEventListener::initializeFunction (see + bug 41352) (Requested by aroben on #webkit). + + * bindings/js/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): + * bindings/js/ScriptEventListener.h: + * bindings/v8/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): + * bindings/v8/ScriptEventListener.h: + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::parseMappedAttribute): + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::parseMappedAttribute): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::parseMappedAttribute): + +2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62129. + http://trac.webkit.org/changeset/62129 + https://bugs.webkit.org/show_bug.cgi?id=41362 + + Needed to roll out r62052 (see bug 41357) (Requested by aroben + on #webkit). + + * bindings/js/ScriptEventListener.cpp: + (WebCore::createWindowAttributeEventListener): + +2010-06-29 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Speculative fix for <rdar://problem/8071558> CrashTracer: [USER] + 2300+ crashes in Safari at com.apple.WebCore: + WebCore::FrameView::scheduleRelayout + 352 + + Unfortunately, we don't have a reproducible case for this bug, and + therefore, we do not have a layout test either. It is pretty clear + from the logs that m_frame->settings() is null in + FrameView::scheduleRelayout() in the crashing case. + m_frame->settings() is null whenever page is null. Everywhere else + in FrameView.cpp we null-check either page or settings before using + settings. It seems plausible to me that scheduleRelayout could be + called when page is null, so the fix is just to add null-checks. + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + (WebCore::FrameView::scheduleRelayout): + +2010-06-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7975842> Certain text is repeated after using splitText() + + Tests: fast/text/setData-dirty-lines.html + fast/text/splitText-dirty-lines.html + + * dom/CharacterData.cpp: + (WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than + setText(), because only the former correctly dirties line boxes. + * dom/Text.cpp: + (WebCore::Text::splitText): Ditto. + +2010-06-29 Sheriff Bot <webkit.review.bot@gmail.com> + + Unreviewed, rolling out r62073. + http://trac.webkit.org/changeset/62073 + https://bugs.webkit.org/show_bug.cgi?id=41359 + + Necessary to fix chromium build when r62052 is rolled out. + (Requested by dave_levin on #webkit). + + * bindings/v8/ScriptEventListener.h: + +2010-06-29 Vangelis Kokkevis <vangelis@chromium.org> + + Reviewed by Darin Fisher. + + [Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing + methods to set the contents of a GraphicsLayer with a platform specific WebGL + Layer, and to update the contents of the WebGL Layer when needed. + https://bugs.webkit.org/show_bug.cgi?id=41243 + + * platform/graphics/GraphicsContext3D.h: + * platform/graphics/chromium/GraphicsLayerChromium.cpp: + (WebCore::GraphicsLayerChromium::setContentsToWebGL): + * platform/graphics/chromium/GraphicsLayerChromium.h: + * platform/graphics/chromium/LayerChromium.cpp: + (WebCore::LayerChromium::removeAllSublayers): + No need to call setNeedsCommit() from here as the previous call to + layer->removeFromSuperlayer() will have that effect (and we only need + to notify the owner if there were actually any sublayers removed). + * platform/graphics/chromium/LayerChromium.h: + * platform/graphics/chromium/LayerRendererChromium.cpp: + (WebCore::LayerRendererChromium::drawLayer): + * platform/graphics/chromium/WebGLLayerChromium.cpp: + (WebCore::WebGLLayerChromium::create): + (WebCore::WebGLLayerChromium::updateTextureContents): + (WebCore::WebGLLayerChromium::setContext): + +2010-06-29 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Buildfix for --minimal build after r62052 + https://bugs.webkit.org/show_bug.cgi?id=41338 + + * bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added. + (WebCore::createWindowAttributeEventListener): + +2010-06-29 Brent Fulgham <bfulgham@webkit.org> + + Build fix. Not reviewd. + + CGColor is only used for PLATFORM(CG). Conditionalize include + to correct build failure for WinCairo. + + * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: + Conditionalize use of CGColor. + +2010-06-29 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Clean up the source lists in the GNUMakefile.am files + https://bugs.webkit.org/show_bug.cgi?id=41229 + + Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate + the source lists. + + * GNUmakefile.am: + +2010-06-29 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] DragDataGtk should use DataObjectGtk as the platformDragData + https://bugs.webkit.org/show_bug.cgi?id=40307 + + Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk + contains all the information necessary to keep track of drops in progress. + + * platform/DragData.h: Use a DataObjectGtk* as the platform drag data. + * platform/gtk/DragDataGtk.cpp: + (WebCore::DragData::containsFiles): Retrieve information via platformDragData. + (WebCore::DragData::asFilenames): Ditto. + (WebCore::DragData::containsPlainText): Ditto. + (WebCore::DragData::asPlainText): Ditto. + (WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData. + (WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData. + (WebCore::DragData::containsURL): Ditto. + (WebCore::DragData::asURL): Ditto. + (WebCore::DragData::asFragment): Ditto. + +2010-06-29 Adam Langley <agl@chromium.org> + + Build fix. Not reviewd. + + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::setupPaint): + The name of the Skia function changed between writing this patch and + commiting it. + +2010-06-29 Adam Langley <agl@chromium.org> + + Reviewed by Kent Tamura. + + [chromium] Support forced autohinting. + + https://bugs.webkit.org/show_bug.cgi?id=40493 + + Freetype (the typical font rendering on Linux) includes an 'autohinter': + an algorithm for hinting glyph shapes without using the embedded hinting + bytecode in a font. + + Some people prefer the autohinter's results, so we support forcing its + use. + + This change also fixes a bug where two FontPlatformData structures would + compare equal, even if their rendering styles were different. + + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::setupPaint): + In order to compare FontPlatformData structures we need to make sure + that they are initialised. + (WebCore::FontPlatformData::operator==): + * platform/graphics/chromium/FontRenderStyle.h: + (WebCore::FontRenderStyle::FontRenderStyle): + (WebCore::FontRenderStyle::operator==): + This fixes the case where two FontPlatformData structures, differing + only by rendering style, would compare equal. + +2010-06-29 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Unreviewed, Symbian build fix. + + Add more directories to USERINCLUDE so that they get included + before the Symbian system headers. + + This is a workaround to some toolchain problems; bug 31273 is used to + find a better solution. + + No new tests as there is no new functionality. + + * WebCore.pro: + +2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Cleanup SVGRenderSupport + https://bugs.webkit.org/show_bug.cgi?id=41347 + + Remove SVGRenderBase base class from all SVG renderers. It was meant as temporary solution until all SVG renderers inherit from RenderSVGModelObject, + though this is not going to happen. RenderSVGModelObject inherits from RenderObject, making it impossible to inherit eg. RenderSVGImage from it, as + it already indirectly inherits from RenderObject, through RenderImage. Other examples are RenderForeignObject (RenderBlock inheritance), + RenderSVGInlineText (RenderText inheritance) etc. + + Rename SVGRenderBase to SVGRenderSupport, just like the file is named, remove all free functions, and make them all static functions in SVGRenderSupport. + We can still share code between all SVG renderers, but don't need a special base class for all renderers -> shrink size of all SVG renderers. + + Doesn't affect any test. + + * rendering/RenderBox.cpp: Remove localTransform() override, not needed at all. + * rendering/RenderBox.h: Ditto. + * rendering/RenderForeignObject.cpp: s/SVGRenderBase/SVGRenderSupport/ + (WebCore::RenderForeignObject::paint): + (WebCore::RenderForeignObject::clippedOverflowRectForRepaint): + (WebCore::RenderForeignObject::computeRectForRepaint): + (WebCore::RenderForeignObject::nodeAtFloatPoint): + (WebCore::RenderForeignObject::mapLocalToContainer): + * rendering/RenderPath.cpp: + (WebCore::BoundingRectStrokeStyleApplier::strokeStyle): applyStrokeStyleToContext is a static function in SVGRenderSupport now. + (WebCore::RenderPath::paint): s/SVGRenderBase/SVGRenderSupport/ + (WebCore::RenderPath::nodeAtFloatPoint): Ditto. + (WebCore::RenderPath::updateCachedBoundaries): Ditto. + * rendering/RenderSVGBlock.h: Remove SVGRenderBase inheritance. + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::layout): layoutChildren is a static function in SVGRenderSupport now. + (WebCore::RenderSVGContainer::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport. + (WebCore::RenderSVGContainer::objectBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now. + (WebCore::RenderSVGContainer::strokeBoundingBox): Ditto. + (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency. + (WebCore::RenderSVGContainer::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now. + * rendering/RenderSVGHiddenContainer.cpp: + (WebCore::RenderSVGHiddenContainer::layout): layoutChildren is a static function in SVGRenderSupport now. + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::paint): prepareToRenderSVGContent/finishRenderSVGContent are static functions in SVGRenderSupport now. + (WebCore::RenderSVGImage::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. + (WebCore::RenderSVGImage::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now. + (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now. + (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/ + (WebCore::RenderSVGImage::computeRectForRepaint): Ditto. + (WebCore::RenderSVGImage::mapLocalToContainer): Ditto. + * rendering/RenderSVGImage.h: Remove SVGRenderBase inheritance. + * rendering/RenderSVGInline.cpp: + (WebCore::RenderSVGInline::objectBoundingBox): findTextRootObject is a static function in SVGRenderSupport now. + (WebCore::RenderSVGInline::strokeBoundingBox): Ditto. + (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): Ditto. + (WebCore::RenderSVGInline::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/ + (WebCore::RenderSVGInline::computeRectForRepaint): Ditto,. + (WebCore::RenderSVGInline::mapLocalToContainer): Ditto. + (WebCore::RenderSVGInline::absoluteQuads): findTextRootObject is a static function in SVGRenderSupport now. + * rendering/RenderSVGInline.h: Remove SVGRenderBase inheritance. + * rendering/RenderSVGModelObject.cpp: + (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/ + (WebCore::RenderSVGModelObject::computeRectForRepaint): Ditto. + (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto. + (WebCore::RenderSVGModelObject::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. + * rendering/RenderSVGModelObject.h: Remove SVGRenderBase inheritance. + * rendering/RenderSVGResource.cpp: + (WebCore::invalidatePaintingResource): Moved here from SVGRenderSupport (static inline helper function). + (WebCore::RenderSVGResource::invalidateAllResourcesOfRenderer): Moved here from SVGRenderSupport and renamed from deregisterFromResources. + * rendering/RenderSVGResource.h: Expose invalidateAllResourcesOfRenderer function. + * rendering/RenderSVGResourceClipper.cpp: + (WebCore::RenderSVGResourceClipper::createClipData): renderSubtreeToImage is a static function in SVGRenderSupport now. + (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto. + * rendering/RenderSVGResourceGradient.cpp: + (WebCore::createMaskAndSwapContextForTextGradient): findTextRootObject is a static function in SVGRenderSupport now. + (WebCore::clipToTextMask): Ditto. + (WebCore::RenderSVGResourceGradient::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now. + (WebCore::RenderSVGResourceGradient::postApplyResource): findTextRootObject is a static function in SVGRenderSupport now. + * rendering/RenderSVGResourceMarker.cpp: + (WebCore::RenderSVGResourceMarker::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/ + * rendering/RenderSVGResourceMasker.cpp: + (WebCore::RenderSVGResourceMasker::createMaskImage): renderSubtreeToImage is a static function in SVGRenderSupport now. + * rendering/RenderSVGResourcePattern.cpp: + (WebCore::RenderSVGResourcePattern::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now. + (WebCore::clampImageBufferSizeToViewport): Moved here from SVGRenderSupport. + (WebCore::RenderSVGResourcePattern::createTileImage): renderSubtreeToImage is a static function in SVGRenderSupport now. + * rendering/RenderSVGResourceSolidColor.cpp: + (WebCore::RenderSVGResourceSolidColor::applyResource): applyStrokeStyleToContext is a static function in SVGRenderSupport now + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::layout): layoutChildren is a static function in SVGRenderSupport now. + (WebCore::RenderSVGRoot::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport. + (WebCore::RenderSVGRoot::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. + (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): Remove call to computeContainerBoundingBox, use strokeBoundingBox instead, for consistency. + * rendering/RenderSVGRoot.h: Remove localTransform() override, no longer needed. Remove SVGRenderBase inheritance. + (WebCore::RenderSVGRoot::objectBoundingBox): Inlined for speeed. + (WebCore::RenderSVGRoot::strokeBoundingBox): computeContainerBoundingBox is a static function in SVGRenderSupport now. + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/ + (WebCore::RenderSVGText::computeRectForRepaint): Ditto. + (WebCore::RenderSVGText::mapLocalToContainer): Ditto. + (WebCore::RenderSVGText::nodeAtFloatPoint): pointInClippingArea is a static function in SVGRenderSupport now. + (WebCore::RenderSVGText::destroy): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. + (WebCore::RenderSVGText::repaintRectInLocalCoordinates): intersectRepaintRectWithResources is a static function in SVGRenderSupport now. + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::applyViewportClip): s/SVGRenderBase/SVGRenderSupport/ + (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): pointInClippingArea is a static function in SVGRenderSupport now. + * rendering/SVGInlineFlowBox.cpp: + (WebCore::SVGInlineFlowBox::paint): prepareToRenderSVGContent/finishRenderSVGContent are now static functions in SVGRenderSupport. + * rendering/SVGRenderSupport.cpp: Make it impossible to construct the class. Remove virtual destructor, made all methods static. + (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint): s/SVGRenderBase/SVGRenderSupport/ + (WebCore::SVGRenderSupport::computeRectForRepaint): Ditto. + (WebCore::SVGRenderSupport::mapLocalToContainer): Ditto. + (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Ditto. + (WebCore::SVGRenderSupport::finishRenderSVGContent): Ditto. + (WebCore::SVGRenderSupport::renderSubtreeToImage): Made static. + (WebCore::SVGRenderSupport::computeContainerBoundingBox): Ditto. + (WebCore::SVGRenderSupport::layoutChildren): Ditto. + (WebCore::SVGRenderSupport::isOverflowHidden): s/SVGRenderBase/SVGRenderSupport/ + (WebCore::SVGRenderSupport::intersectRepaintRectWithResources): Ditto. + (WebCore::SVGRenderSupport::pointInClippingArea): Made static. + (WebCore::SVGRenderSupport::dashArrayFromRenderingStyle): Ditto. + (WebCore::SVGRenderSupport::applyStrokeStyleToContext): Ditto. + (WebCore::SVGRenderSupport::findTextRootObject): Ditto. + * rendering/SVGRenderSupport.h: + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeStyle): dashArrayFromRenderingStyle is a static function in SVGRenderSupport now. + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::paint): s/SVGRenderBase/SVGRenderSupport/ + * rendering/SVGRootInlineBox.h: Remove SVGRenderBase inheritance. + * svg/SVGFEImageElement.cpp: Add RenderObject.h include, otherwhise it won't build anymore. + (WebCore::SVGFEImageElement::build): renderSubtreeToImage is a static function in SVGRenderSupport now. + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::svgAttributeChanged): deregisterResource was renamed to invalidateAllResourcesOfRenderer and is a static function in SVGRenderSupport. + +2010-06-21 Philippe Normand <pnormand@igalia.com> + + Reviewed by Xan Lopez. + + [PNG decoder] direct access to jmpbuf is deprecated in libpng >= 1.4.0beta103 + https://bugs.webkit.org/show_bug.cgi?id=40907 + + Define a JMPBUF macro to cope with deprecation of the jmpbuf + attribute in libpng >= 1.4. + + * platform/image-decoders/png/PNGImageDecoder.cpp: + (WebCore::decodingFailed): + (WebCore::PNGImageReader::decode): + (WebCore::PNGImageDecoder::headerAvailable): + (WebCore::PNGImageDecoder::rowAvailable): + +2010-06-29 Kristian Amlie <kristian.amlie@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt/Symbian] Fixed deployment paths for WebKit declarative plugin. + + * WebCore.pro: + +2010-06-29 Yury Semikhatsky <yurys@chromium.org> + + Unreviewed: Chromium Win and Mac build fix. + + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + +2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Move PaintInfo/PaintPhase into their own headers, out of RenderObject + https://bugs.webkit.org/show_bug.cgi?id=41342 + + 1) Move enums PaintPhase/PaintBehaviorFlags and the PaintBehaviour typedef from RenderObject into PaintPhase.h. + Move PaintInfo from RenderObject into PaintInfo.h. Replace s/RenderObject::PaintInfo/PaintInfo/ throughout WebCore/. + Also move the OverlapTestRequestMap typedef into PaintInfo.h, and replace s/RenderObject::OverlapTestRequestMap/OverlapTestRequestMap/ everywhere. + + 2) Move "RenderObject* paintingRootForChildren(PaintInfo& paintInfo) const" from RenderObject to PaintInfo + and modify it to take a renderer: "void updatePaintingRootForChildren(const RenderObject* renderer)". + + This changes a common idiom: + - info.paintingRoot = paintingRootForChildren(paintInfo); + + info.updatePaintingRootForChildren(this); + + We save resetting the paintingRoot to 0 if it was 0 already and thus do less work. + + 3) Move "bool shouldPaintWithinRoot(PaintInfo& paintInfo) const" from RenderObject to PaintInfo + and modify it to take a renderer: "bool shouldPaintWithinRoot(const RenderObject* renderer) const". + + This changes a common idiom: + - if (!shouldPaintWithinRoot(paintInfo)) + + if (!paintInfo.shouldPaintWithinRoot(this)) + + 4) Move "void applyTransformToPaintInfo(RenderObject::PaintInfo&, const AffineTransform& localToChildTransform)" + from SVGRenderSupport to PaintInfo and rename it to "applyTransform", guarded with ENABLE(SVG) blocks. + + This changes a common idiom: + - applyTransformToPaintInfo(childPaintInfo, localToParentTransform()); + + childPaintInfo.applyTransform(localToParentTransform()); + + Add PaintInfo.h / PaintPhase.h to all build systems that list headers. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/android/RenderThemeAndroid.cpp: + (WebCore::getCanvasFromInfo): + (WebCore::RenderThemeAndroid::paintCheckbox): + (WebCore::RenderThemeAndroid::paintButton): + (WebCore::RenderThemeAndroid::paintRadio): + (WebCore::RenderThemeAndroid::paintTextField): + (WebCore::RenderThemeAndroid::paintTextArea): + (WebCore::RenderThemeAndroid::paintSearchField): + (WebCore::RenderThemeAndroid::paintCombo): + (WebCore::RenderThemeAndroid::paintMenuList): + (WebCore::RenderThemeAndroid::paintMenuListButton): + * platform/android/RenderThemeAndroid.h: + * platform/efl/RenderThemeEfl.cpp: + (WebCore::RenderThemeEfl::paintThemePart): + (WebCore::RenderThemeEfl::paintCheckbox): + (WebCore::RenderThemeEfl::paintRadio): + (WebCore::RenderThemeEfl::paintButton): + (WebCore::RenderThemeEfl::paintMenuList): + (WebCore::RenderThemeEfl::paintTextField): + (WebCore::RenderThemeEfl::paintTextArea): + (WebCore::RenderThemeEfl::paintSearchFieldDecoration): + (WebCore::RenderThemeEfl::paintSearchFieldResultsButton): + (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeEfl::paintSearchFieldCancelButton): + (WebCore::RenderThemeEfl::paintSearchField): + * platform/efl/RenderThemeEfl.h: + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintMozillaGtkWidget): + (WebCore::RenderThemeGtk::paintCheckbox): + (WebCore::RenderThemeGtk::paintRadio): + (WebCore::RenderThemeGtk::paintButton): + (WebCore::RenderThemeGtk::paintMenuList): + (WebCore::RenderThemeGtk::paintTextField): + (WebCore::RenderThemeGtk::paintTextArea): + (WebCore::RenderThemeGtk::paintSearchFieldResultsButton): + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): + (WebCore::RenderThemeGtk::paintSearchField): + (WebCore::RenderThemeGtk::paintSliderTrack): + (WebCore::RenderThemeGtk::paintSliderThumb): + (WebCore::RenderThemeGtk::paintMediaFullscreenButton): + (WebCore::RenderThemeGtk::paintMediaMuteButton): + (WebCore::RenderThemeGtk::paintMediaPlayButton): + (WebCore::RenderThemeGtk::paintMediaSeekBackButton): + (WebCore::RenderThemeGtk::paintMediaSeekForwardButton): + (WebCore::RenderThemeGtk::paintMediaSliderTrack): + (WebCore::RenderThemeGtk::paintMediaSliderThumb): + (WebCore::RenderThemeGtk::paintProgressBar): + * platform/gtk/RenderThemeGtk.h: + * platform/haiku/RenderThemeHaiku.cpp: + (WebCore::RenderThemeHaiku::paintCheckbox): + (WebCore::RenderThemeHaiku::paintRadio): + (WebCore::RenderThemeHaiku::paintMenuList): + * platform/haiku/RenderThemeHaiku.h: + * platform/qt/RenderThemeQt.cpp: + (WebCore::StylePainter::StylePainter): + (WebCore::RenderThemeQt::paintCheckbox): + (WebCore::RenderThemeQt::paintRadio): + (WebCore::RenderThemeQt::paintButton): + (WebCore::RenderThemeQt::paintTextField): + (WebCore::RenderThemeQt::paintTextArea): + (WebCore::RenderThemeQt::paintMenuList): + (WebCore::RenderThemeQt::paintMenuListButton): + (WebCore::RenderThemeQt::paintProgressBar): + (WebCore::RenderThemeQt::paintSliderTrack): + (WebCore::RenderThemeQt::paintSliderThumb): + (WebCore::RenderThemeQt::paintSearchField): + (WebCore::RenderThemeQt::paintSearchFieldCancelButton): + (WebCore::RenderThemeQt::paintSearchFieldDecoration): + (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeQt::paintMediaFullscreenButton): + (WebCore::RenderThemeQt::paintMediaMuteButton): + (WebCore::RenderThemeQt::paintMediaPlayButton): + (WebCore::RenderThemeQt::paintMediaSeekBackButton): + (WebCore::RenderThemeQt::paintMediaSeekForwardButton): + (WebCore::RenderThemeQt::paintMediaCurrentTime): + (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack): + (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb): + (WebCore::RenderThemeQt::paintMediaSliderTrack): + (WebCore::RenderThemeQt::paintMediaSliderThumb): + * platform/qt/RenderThemeQt.h: + * platform/wx/RenderThemeWx.cpp: + (WebCore::RenderThemeWx::paintCheckbox): + (WebCore::RenderThemeWx::paintRadio): + (WebCore::RenderThemeWx::paintButton): + (WebCore::RenderThemeWx::paintTextField): + (WebCore::RenderThemeWx::paintMenuList): + (WebCore::RenderThemeWx::paintMenuListButton): + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): + * rendering/EllipsisBox.h: + * rendering/InlineBox.cpp: + (WebCore::InlineBox::paint): + * rendering/InlineBox.h: + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paint): + (WebCore::InlineFlowBox::paintFillLayers): + (WebCore::InlineFlowBox::paintFillLayer): + (WebCore::InlineFlowBox::paintBoxDecorations): + (WebCore::InlineFlowBox::paintMask): + (WebCore::InlineFlowBox::paintTextDecorations): + * rendering/InlineFlowBox.h: + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paint): + * rendering/InlineTextBox.h: + * rendering/PaintInfo.h: Added. + (WebCore::PaintInfo::PaintInfo): + (WebCore::PaintInfo::updatePaintingRootForChildren): + (WebCore::PaintInfo::shouldPaintWithinRoot): + (WebCore::PaintInfo::applyTransform): + * rendering/PaintPhase.h: Added. + (WebCore::): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paint): + (WebCore::RenderBlock::paintChildren): + (WebCore::RenderBlock::paintEllipsisBoxes): + (WebCore::clipOutPositionedObjects): + (WebCore::RenderBlock::layoutColumns): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paint): + (WebCore::RenderBox::paintBoxDecorations): + (WebCore::RenderBox::paintMask): + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::paintBoxDecorations): + * rendering/RenderForeignObject.cpp: + (WebCore::RenderForeignObject::paint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paint): + (WebCore::performOverlapTests): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::paintList): + (WebCore::RenderLayer::paintPaginatedChildLayer): + (WebCore::RenderLayer::paintChildLayerIntoColumns): + * rendering/RenderLayer.h: + * rendering/RenderLayerBacking.cpp: + (WebCore::RenderLayerBacking::paintIntoLayer): + * rendering/RenderLineBoxList.cpp: + (WebCore::RenderLineBoxList::paint): + * rendering/RenderLineBoxList.h: + * rendering/RenderMediaControls.cpp: + (WebCore::RenderMediaControls::paintMediaControlsPart): + * rendering/RenderMediaControls.h: + * rendering/RenderMediaControlsChromium.cpp: + (WebCore::paintMediaMuteButton): + (WebCore::paintMediaPlayButton): + (WebCore::paintMediaSlider): + (WebCore::paintMediaSliderThumb): + (WebCore::paintMediaVolumeSlider): + (WebCore::paintMediaVolumeSliderThumb): + (WebCore::paintMediaTimelineContainer): + (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): + * rendering/RenderMediaControlsChromium.h: + * rendering/RenderObject.h: + * rendering/RenderPath.cpp: + (WebCore::RenderPath::paint): + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::paint): + (WebCore::RenderReplaced::shouldPaint): + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::paint): + * rendering/RenderSVGResourceMarker.cpp: + (WebCore::RenderSVGResourceMarker::draw): + * rendering/RenderSVGResourceMarker.h: + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::paint): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::paint): + * rendering/RenderScrollbarPart.cpp: + (WebCore::RenderScrollbarPart::paintIntoRect): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paintObject): + (WebCore::RenderTable::paintBoxDecorations): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paint): + (WebCore::RenderTableCell::paintBackgroundsBehindCell): + (WebCore::RenderTableCell::paintBoxDecorations): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::paint): + (WebCore::RenderTheme::paintBorderOnly): + (WebCore::RenderTheme::paintDecorations): + (WebCore::RenderTheme::paintMeter): + * rendering/RenderTheme.h: + (WebCore::RenderTheme::paintCapsLockIndicator): + (WebCore::RenderTheme::paintCheckbox): + (WebCore::RenderTheme::paintRadio): + (WebCore::RenderTheme::paintButton): + (WebCore::RenderTheme::paintInnerSpinButton): + (WebCore::RenderTheme::paintOuterSpinButton): + (WebCore::RenderTheme::paintTextField): + (WebCore::RenderTheme::paintTextArea): + (WebCore::RenderTheme::paintMenuList): + (WebCore::RenderTheme::paintMenuListButton): + (WebCore::RenderTheme::paintProgressBar): + (WebCore::RenderTheme::paintSliderTrack): + (WebCore::RenderTheme::paintSliderThumb): + (WebCore::RenderTheme::paintSearchField): + (WebCore::RenderTheme::paintSearchFieldCancelButton): + (WebCore::RenderTheme::paintSearchFieldDecoration): + (WebCore::RenderTheme::paintSearchFieldResultsDecoration): + (WebCore::RenderTheme::paintSearchFieldResultsButton): + (WebCore::RenderTheme::paintMediaFullscreenButton): + (WebCore::RenderTheme::paintMediaPlayButton): + (WebCore::RenderTheme::paintMediaMuteButton): + (WebCore::RenderTheme::paintMediaSeekBackButton): + (WebCore::RenderTheme::paintMediaSeekForwardButton): + (WebCore::RenderTheme::paintMediaSliderTrack): + (WebCore::RenderTheme::paintMediaSliderThumb): + (WebCore::RenderTheme::paintMediaVolumeSliderContainer): + (WebCore::RenderTheme::paintMediaVolumeSliderTrack): + (WebCore::RenderTheme::paintMediaVolumeSliderThumb): + (WebCore::RenderTheme::paintMediaRewindButton): + (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): + (WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton): + (WebCore::RenderTheme::paintMediaControlsBackground): + (WebCore::RenderTheme::paintMediaCurrentTime): + (WebCore::RenderTheme::paintMediaTimeRemaining): + * rendering/RenderThemeChromiumMac.h: + * rendering/RenderThemeChromiumMac.mm: + (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): + (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): + (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): + (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground): + (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): + (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): + * rendering/RenderThemeChromiumSkia.cpp: + (WebCore::RenderThemeChromiumSkia::paintCheckbox): + (WebCore::RenderThemeChromiumSkia::paintRadio): + (WebCore::paintButtonLike): + (WebCore::RenderThemeChromiumSkia::paintButton): + (WebCore::RenderThemeChromiumSkia::paintTextField): + (WebCore::RenderThemeChromiumSkia::paintTextArea): + (WebCore::RenderThemeChromiumSkia::paintSearchField): + (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): + (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): + (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground): + (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack): + (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): + (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): + (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): + (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): + (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): + (WebCore::RenderThemeChromiumSkia::paintMenuList): + (WebCore::RenderThemeChromiumSkia::paintMenuListButton): + (WebCore::RenderThemeChromiumSkia::paintSliderTrack): + (WebCore::RenderThemeChromiumSkia::paintSliderThumb): + (WebCore::RenderThemeChromiumSkia::paintProgressBar): + * rendering/RenderThemeChromiumSkia.h: + * rendering/RenderThemeChromiumWin.cpp: + (WebCore::RenderThemeChromiumWin::paintCheckbox): + (WebCore::RenderThemeChromiumWin::paintRadio): + (WebCore::RenderThemeChromiumWin::paintButton): + (WebCore::RenderThemeChromiumWin::paintTextField): + (WebCore::RenderThemeChromiumWin::paintSliderTrack): + (WebCore::RenderThemeChromiumWin::paintSliderThumb): + (WebCore::RenderThemeChromiumWin::paintMenuList): + (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): + (WebCore::RenderThemeChromiumWin::paintProgressBar): + * rendering/RenderThemeChromiumWin.h: + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::paintTextField): + (WebCore::RenderThemeMac::paintCapsLockIndicator): + (WebCore::RenderThemeMac::paintTextArea): + (WebCore::RenderThemeMac::paintMenuList): + (WebCore::RenderThemeMac::paintMeter): + (WebCore::RenderThemeMac::paintProgressBar): + (WebCore::RenderThemeMac::paintMenuListButtonGradients): + (WebCore::RenderThemeMac::paintMenuListButton): + (WebCore::RenderThemeMac::paintSliderTrack): + (WebCore::RenderThemeMac::paintSliderThumb): + (WebCore::RenderThemeMac::paintSearchField): + (WebCore::RenderThemeMac::paintSearchFieldCancelButton): + (WebCore::RenderThemeMac::paintSearchFieldDecoration): + (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeMac::paintSearchFieldResultsButton): + (WebCore::getUnzoomedRectAndAdjustCurrentContext): + (WebCore::RenderThemeMac::paintMediaFullscreenButton): + (WebCore::RenderThemeMac::paintMediaMuteButton): + (WebCore::RenderThemeMac::paintMediaPlayButton): + (WebCore::RenderThemeMac::paintMediaSeekBackButton): + (WebCore::RenderThemeMac::paintMediaSeekForwardButton): + (WebCore::RenderThemeMac::paintMediaSliderTrack): + (WebCore::RenderThemeMac::paintMediaSliderThumb): + (WebCore::RenderThemeMac::paintMediaRewindButton): + (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): + (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton): + (WebCore::RenderThemeMac::paintMediaControlsBackground): + (WebCore::RenderThemeMac::paintMediaCurrentTime): + (WebCore::RenderThemeMac::paintMediaTimeRemaining): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::paintCheckbox): + (WebCore::RenderThemeSafari::paintRadio): + (WebCore::RenderThemeSafari::paintButton): + (WebCore::RenderThemeSafari::paintTextField): + (WebCore::RenderThemeSafari::paintCapsLockIndicator): + (WebCore::RenderThemeSafari::paintTextArea): + (WebCore::RenderThemeSafari::paintMenuList): + (WebCore::RenderThemeSafari::paintMenuListButtonGradients): + (WebCore::RenderThemeSafari::paintMenuListButton): + (WebCore::RenderThemeSafari::paintSliderTrack): + (WebCore::RenderThemeSafari::paintSliderThumb): + (WebCore::RenderThemeSafari::paintSearchField): + (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): + (WebCore::RenderThemeSafari::paintSearchFieldDecoration): + (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): + (WebCore::RenderThemeSafari::paintMediaFullscreenButton): + (WebCore::RenderThemeSafari::paintMediaMuteButton): + (WebCore::RenderThemeSafari::paintMediaPlayButton): + (WebCore::RenderThemeSafari::paintMediaSeekBackButton): + (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): + (WebCore::RenderThemeSafari::paintMediaSliderTrack): + (WebCore::RenderThemeSafari::paintMediaSliderThumb): + * rendering/RenderThemeSafari.h: + * rendering/RenderThemeWin.cpp: + (WebCore::RenderThemeWin::paintButton): + (WebCore::RenderThemeWin::paintTextField): + (WebCore::RenderThemeWin::paintMenuList): + (WebCore::RenderThemeWin::paintMenuListButton): + (WebCore::RenderThemeWin::paintSliderTrack): + (WebCore::RenderThemeWin::paintSliderThumb): + (WebCore::RenderThemeWin::paintSearchField): + (WebCore::RenderThemeWin::paintSearchFieldCancelButton): + (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeWin::paintSearchFieldResultsButton): + (WebCore::RenderThemeWin::paintMediaFullscreenButton): + (WebCore::RenderThemeWin::paintMediaMuteButton): + (WebCore::RenderThemeWin::paintMediaPlayButton): + (WebCore::RenderThemeWin::paintMediaSeekBackButton): + (WebCore::RenderThemeWin::paintMediaSeekForwardButton): + (WebCore::RenderThemeWin::paintMediaSliderTrack): + (WebCore::RenderThemeWin::paintMediaSliderThumb): + (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton): + * rendering/RenderThemeWin.h: + (WebCore::RenderThemeWin::paintCheckbox): + (WebCore::RenderThemeWin::paintRadio): + (WebCore::RenderThemeWin::paintTextArea): + (WebCore::RenderThemeWin::paintSearchFieldDecoration): + * rendering/RenderThemeWince.cpp: + (WebCore::RenderThemeWince::paintButton): + (WebCore::RenderThemeWince::paintTextField): + (WebCore::RenderThemeWince::paintMenuList): + (WebCore::RenderThemeWince::paintMenuListButton): + (WebCore::RenderThemeWince::paintSearchField): + (WebCore::RenderThemeWince::paintSearchFieldCancelButton): + (WebCore::RenderThemeWince::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeWince::paintSearchFieldResultsButton): + (WebCore::RenderThemeWince::paintSliderTrack): + (WebCore::RenderThemeWince::paintSliderThumb): + (WebCore::RenderThemeWince::paintMediaFullscreenButton): + (WebCore::RenderThemeWince::paintMediaMuteButton): + (WebCore::RenderThemeWince::paintMediaPlayButton): + (WebCore::RenderThemeWince::paintMediaSeekBackButton): + (WebCore::RenderThemeWince::paintMediaSeekForwardButton): + (WebCore::RenderThemeWince::paintMediaSliderTrack): + (WebCore::RenderThemeWince::paintMediaSliderThumb): + * rendering/RenderThemeWince.h: + (WebCore::RenderThemeWince::paintCheckbox): + (WebCore::RenderThemeWince::paintRadio): + (WebCore::RenderThemeWince::paintTextArea): + (WebCore::RenderThemeWince::paintSearchFieldDecoration): + * rendering/RootInlineBox.cpp: + (WebCore::RootInlineBox::paintEllipsisBox): + (WebCore::RootInlineBox::paintCustomHighlight): + (WebCore::RootInlineBox::paint): + (WebCore::RootInlineBox::fillLineSelectionGap): + * rendering/RootInlineBox.h: + * rendering/SVGInlineFlowBox.cpp: + (WebCore::SVGInlineFlowBox::paint): + * rendering/SVGInlineFlowBox.h: + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::paint): + * rendering/SVGInlineTextBox.h: + * rendering/SVGMarkerLayoutInfo.cpp: + (WebCore::SVGMarkerLayoutInfo::drawMarkers): + * rendering/SVGMarkerLayoutInfo.h: + * rendering/SVGRenderSupport.cpp: + (WebCore::SVGRenderBase::prepareToRenderSVGContent): + (WebCore::SVGRenderBase::finishRenderSVGContent): + (WebCore::renderSubtreeToImage): + * rendering/SVGRenderSupport.h: + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::paint): + * rendering/SVGRootInlineBox.h: + +2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com> + + Not reviewed. Sort Xcode project file. + + * WebCore.xcodeproj/project.pbxproj: + +2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + Provide floating-point support for text selection framework + https://bugs.webkit.org/show_bug.cgi?id=40665 + + Rename 'glyphScale' to 'horizontalGlyphStretch' upon Dans' request. + Also guard the variables in ENABLE(SVG) blocks. Initialize variable to 1 instead of 1.0f, as that's the new style rule. + + No functional changes, thus no new tests. + + * platform/graphics/TextRun.h: + (WebCore::TextRun::TextRun): + (WebCore::TextRun::horizontalGlyphStretch): + (WebCore::TextRun::setHorizontalGlyphStretch): + (WebCore::TextRun::spacingDisabled): + * platform/graphics/WidthIterator.cpp: + (WebCore::WidthIterator::advance): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::offsetForPosition): + +2010-06-29 Nikolas Zimmermann <nzimmermann@rim.com> + + Reviewed by Dirk Schulze. + + REGRESSION: text-shadow CSS applied to SVG no longer works + https://bugs.webkit.org/show_bug.cgi?id=40960 + + Readd text-shadow support, this time supporting multiple shadows. + It's not exactly like HTML, because SVG draws fill/stroke phases seperated - the png shows the difference. + + Tests: svg/css/text-shadow-multiple.xhtml + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::applyShadowToGraphicsContext): Refactored from paintTextWithShadows(), so SVG can reuse. + (WebCore::paintTextWithShadows): Use refactored applyShadowToGraphicsContext() function. + * rendering/InlineTextBox.h: + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::paintTextWithShadows): Added. + (WebCore::SVGInlineTextBox::paintText): Call paintTextWithShadows() instead of directly drawing the text. + * rendering/SVGInlineTextBox.h: + +2010-06-29 Pavel Podivilov <podivilov@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: show actual breakpoint position in UI. + When user sets breakpoint from UI, javascript engine may actually set + it on a different line. If so, move breakpoint to the correct position + in frontend. + https://bugs.webkit.org/show_bug.cgi?id=40781 + + * bindings/js/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::dispatchDidPause): + * bindings/js/ScriptDebugServer.h: + * bindings/v8/ScriptDebugServer.cpp: + (WebCore::ScriptDebugServer::setBreakpoint): + (WebCore::ScriptDebugServer::currentCallFrame): + * bindings/v8/ScriptDebugServer.h: + * inspector/InspectorBackend.cpp: + (WebCore::InspectorBackend::setBreakpoint): + * inspector/InspectorBackend.h: + * inspector/InspectorBackend.idl: + * inspector/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): + (WebCore::InspectorController::setBreakpoint): + (WebCore::InspectorController::removeBreakpoint): + (WebCore::InspectorController::didParseSource): + * inspector/InspectorController.h: + * inspector/InspectorFrontend.cpp: + (WebCore::InspectorFrontend::didSetBreakpoint): + * inspector/InspectorFrontend.h: + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.setOneTimeBreakpoint): + (WebInspector.BreakpointManager.prototype.removeOneTimeBreakpoint): + (WebInspector.BreakpointManager.prototype.setBreakpoint): + (WebInspector.BreakpointManager.prototype.restoredBreakpoint): + (WebInspector.BreakpointManager.prototype.removeBreakpoint): + (WebInspector.BreakpointManager.prototype._setBreakpoint): + (WebInspector.BreakpointManager.prototype._removeBreakpoint): + (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend.didSetBreakpoint): + (WebInspector.BreakpointManager.prototype._setBreakpointOnBackend): + (WebInspector.Breakpoint.prototype.set enabled): + (WebInspector.Breakpoint.prototype.set condition): + * inspector/front-end/InspectorBackendStub.js: + (.WebInspector.InspectorBackendStub.prototype.setBreakpoint): + * inspector/front-end/ScriptView.js: + (WebInspector.ScriptView.prototype._addBreakpoint): + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype._addBreakpoint): + +2010-06-29 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Adam Barth. + + Catch toString() exceptions in all DB-related code. + https://bugs.webkit.org/show_bug.cgi?id=41297 + + * bindings/v8/custom/V8BindingMacros.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::V8DOMWindow::openDatabaseCallback): + * bindings/v8/custom/V8DatabaseCustom.cpp: + (WebCore::V8Database::changeVersionCallback): + * bindings/v8/custom/V8DatabaseSyncCustom.cpp: + (WebCore::V8DatabaseSync::changeVersionCallback): + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + (WebCore::V8SQLTransaction::executeSqlCallback): + * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: + (WebCore::V8SQLTransactionSync::executeSqlCallback): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::V8WorkerContext::openDatabaseCallback): + (WebCore::V8WorkerContext::openDatabaseSyncCallback): + +2010-06-29 Herczeg Zoltan <zherczeg@webkit.org> + + Rubber-stamped by Nikolas Zimmermann. + + Windows build fix. + https://bugs.webkit.org/show_bug.cgi?id=5861 + + * svg/SVGFEConvolveMatrixElement.cpp: + (WebCore::SVGFEConvolveMatrixElement::build): + +2010-06-29 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Add ConvolveMatrix SVG filter effect + https://bugs.webkit.org/show_bug.cgi?id=5861 + + The patch was originally started by Dirk Schulze, + and the .cpp and .h files are mostly his work. + I updated the build systems and do some minor updates + to the source files as well. The patch does not contain + the implementation of the filter: this is intended, + and will be landed in a follow-up patch. + + * Android.derived.jscbindings.mk: + * Android.derived.v8bindings.mk: + * Android.mk: + * CMakeLists.txt: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOM.mm: + (WebCore::createElementClassMap): + * bindings/objc/DOMSVG.h: + * page/DOMWindow.idl: + * svg/SVGAllInOne.cpp: + * svg/SVGFEConvolveMatrixElement.cpp: Added. + (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement): + (WebCore::SVGFEConvolveMatrixElement::~SVGFEConvolveMatrixElement): + (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): + (WebCore::SVGFEConvolveMatrixElement::setOrder): + (WebCore::SVGFEConvolveMatrixElement::setKernelUnitLength): + (WebCore::SVGFEConvolveMatrixElement::build): + * svg/SVGFEConvolveMatrixElement.h: Added. + * svg/SVGFEConvolveMatrixElement.idl: Added. + * svg/graphics/filters/SVGFEConvolveMatrix.cpp: + (WebCore::FEConvolveMatrix::FEConvolveMatrix): + (WebCore::FEConvolveMatrix::create): + (WebCore::FEConvolveMatrix::kernelSize): + (WebCore::FEConvolveMatrix::setKernelSize): + (WebCore::FEConvolveMatrix::targetOffset): + (WebCore::FEConvolveMatrix::setTargetOffset): + (WebCore::operator<<): + (WebCore::FEConvolveMatrix::externalRepresentation): + * svg/graphics/filters/SVGFEConvolveMatrix.h: + (WebCore::): + * svg/svgattrs.in: + * svg/svgtags.in: + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTML5 tree builder shouldn't ASSERT on HTML5lib test suite + https://bugs.webkit.org/show_bug.cgi?id=41335 + + Sketch out the EndTag handling for InBodyMode. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::ElementStack::inScope): + (WebCore::HTMLTreeBuilder::clearActiveFormatingElementsUpToLastMarker): + (WebCore::HTMLTreeBuilder::generateImpliedEndTags): + +2010-06-28 David Levin <levin@chromium.org> + + Reviewed by NOBODY (chromium build fix). + + * rendering/RenderObject.h: Add missing forward declaration. + +2010-06-28 Adam Barth <abarth@webkit.org> + + Unreviewed. + + I accidently gave up my ref and tried to dereference a null pointer. + This code is keeping an extra ref that it doesn't need, but that fact + was somewhat hidden before. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::addChildCommon): + (WebCore::ContainerNode::parserAddChild): + (WebCore::ContainerNode::legacyParserAddChild): + * dom/ContainerNode.h: + +2010-06-28 Adam Barth <abarth@webkit.org> + + Unreviewed. + + Refactor common code into addChildCommon + https://bugs.webkit.org/show_bug.cgi?id=41326 + + Eric asked that we share the common code between these codepaths. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::addChildCommon): + (WebCore::ContainerNode::parserAddChild): + (WebCore::ContainerNode::addChild): + * dom/ContainerNode.h: + +2010-06-28 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements + https://bugs.webkit.org/show_bug.cgi?id=41319 + + Restructure the code to not use in-band data, which is what + got us in trouble with a signed/unsigned mismatch before. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement): + (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements): + * html/HTMLTreeBuilder.h: + +2010-06-28 Daniel Bates <dbates@rim.com> + + Unreviewed, attempt to fix Qt bots. + + Attempt to fix the build after changeset 62079 <http://trac.webkit.org/changeset/62079> + (https://bugs.webkit.org/show_bug.cgi?id=41324). + + Rename some more call sites that were missed in the initial landing. + + * dom/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::parseStartElement): + (WebCore::XMLDocumentParser::parseProcessingInstruction): + (WebCore::XMLDocumentParser::parseCdata): + (WebCore::XMLDocumentParser::parseComment): + (WebCore::XMLDocumentParser::parseDtd): + +2010-06-28 Daniel Bates <dbates@rim.com> + + Unreviewed, build fix. + + Change return type of method HTMLTreeBuilder::reconstructTheActiveFormattingElements() + from int to unsigned. + + Attempt to fix the build after changeset 62077 <https://trac.webkit.org/changeset/62077> + (https://bugs.webkit.org/show_bug.cgi?id=41319). + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::indexOfLastOpenFormattingElementOrMarker): + (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements): + * html/HTMLTreeBuilder.h: + +2010-06-28 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Rename ContainerNode::addChild to legacyParserAddChild to indicate its parser-only intended use + https://bugs.webkit.org/show_bug.cgi?id=41324 + + A bunch of places in the code were calling ContainerNode::addChild. + I don't think they actually want to be doing that, as it has special + form-related handling which is part of LegacyHTMLTreeBuilder. + + No functional changes, thus no tests. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::legacyParserAddChild): + * dom/ContainerNode.h: + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): + * dom/Node.cpp: + (WebCore::Node::legacyParserAddChild): + * dom/Node.h: + * html/HTMLKeygenElement.cpp: + (WebCore::HTMLKeygenElement::HTMLKeygenElement): + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::legacyParserAddChild): + * html/HTMLTableElement.h: + * html/HTMLTableRowElement.cpp: + (WebCore::HTMLTableRowElement::legacyParserAddChild): + * html/HTMLTableRowElement.h: + * html/HTMLTableSectionElement.cpp: + (WebCore::HTMLTableSectionElement::legacyParserAddChild): + * html/HTMLTableSectionElement.h: + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::createContainingTable): + (WebCore::HTMLViewSourceDocument::addSpanWithClassName): + (WebCore::HTMLViewSourceDocument::addLine): + (WebCore::HTMLViewSourceDocument::addText): + (WebCore::HTMLViewSourceDocument::addLink): + +2010-06-28 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Implement HTMLTreeBuilder::reconstructTheActiveFormattingElements + https://bugs.webkit.org/show_bug.cgi?id=41319 + + This is basically a direct transcription of HTML5 TreeBuilder spec: + http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#list-of-active-formatting-elements + + This code is covered by various tests in html5lib/runner which we + can't run yet due to other asserts. Adam and I are working on + getting rid of those ASSERTS so that this (and other code) will + be better tested shortly. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::insertFormatingElement): + (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::ElementStack::contains): + (WebCore::HTMLTreeBuilder::FormatingElementEntry::FormatingElementEntry): + (WebCore::HTMLTreeBuilder::FormatingElementEntry::): + (WebCore::HTMLTreeBuilder::FormatingElementEntry::isMarker): + (WebCore::HTMLTreeBuilder::FormatingElementEntry::element): + (WebCore::HTMLTreeBuilder::FormatingElementEntry::replaceElement): + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Fix ASSERT so we can run more HTML5lib tests + https://bugs.webkit.org/show_bug.cgi?id=41325 + + We can't call Node::addChild because that function contains a bunch of + logic from the old parser. Instead, this patch creates a new version + of addChild that's does less validating (that's the tree builder's + job). + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::parserAddChild): + * dom/ContainerNode.h: + * dom/Node.cpp: + (WebCore::Node::parserAddChild): + * dom/Node.h: + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::attach): + +2010-06-28 David Levin <levin@chromium.org> + + Reviewed by NOBODY (chromium build fix). + + * bindings/v8/ScriptEventListener.h: Changed forward declaration + to correspond to the code change doing in r62052. + +2010-06-28 Brady Eidson <beidson@apple.com> + + Reviewed by Alexey Proskuryakov. + + Support for https://bugs.webkit.org/show_bug.cgi?id=40484 + + In working on adding beforeProcess, it becomes necessary for JSLazyEventListeners to always know what their + original Node* was, even if it was a window event listener. + + For HTMLFrameSet, HTMLBody, and SVGSVG elements, a second form of createAttributeEventListener was used that + took a Frame* argument and didn't set the original Node* on the JSLazyEventListener. + + This patch changes that form of the function to createWindowAttributeEventListener, and passes the Node* along + for later use by the beforeProcess mechanism. + + No new tests. (No change in behavior) + + * bindings/js/ScriptEventListener.cpp: + (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead + of a Frame*, and figures out the Frame* itself internally. + * bindings/js/ScriptEventListener.h: + + * bindings/v8/ScriptEventListener.cpp: + (WebCore::createWindowAttributeEventListener): Renamed from createAttributeEventListener, takes a Node* instead + of a Frame*, and figures out the Frame* itself internally. Note that V8LazyEventListener doesn't allow us to + pass the Element* argument in so this beforeprocess feature won't fully work on V8 builds until this is changed. + * bindings/v8/ScriptEventListener.h: + + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::parseMappedAttribute): Use createWindowAttributeEventListener instead. + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::parseMappedAttribute): Ditto. + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::parseMappedAttribute): Ditto. Also add some missing copyright dates that `svn log` proves + should be there. + +2010-06-28 John Gregg <johnnyg@google.com> + + Reviewed by Kent Tamura. + + add ENABLE_DIRECTORY_UPLOAD build support + https://bugs.webkit.org/show_bug.cgi?id=41100 + + * Configurations/FeatureDefines.xcconfig: + * GNUmakefile.am: + * WebCore.pri: + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Don't use the new tree builder for fragments + https://bugs.webkit.org/show_bug.cgi?id=41316 + + We need to walk before we can run. After this change, we can run the + runner.html tests (with the ASSERT caveat). + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + The new tree builder should actually finish building the tree + https://bugs.webkit.org/show_bug.cgi?id=41314 + + Again, this patch makes progress on runner.html, but I haven't removed + the ASSERT yet. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::finished): + * html/HTMLTreeBuilder.h: + +2010-06-28 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Eric Seidel. + + Fix a race condition that can happen when using DBs in workers. + https://bugs.webkit.org/show_bug.cgi?id=41105 + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::addOpenDatabase): + * storage/DatabaseTracker.h: + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add text nodes to the DOM + https://bugs.webkit.org/show_bug.cgi?id=41306 + + Actually add some text nodes to the DOM when parsing a document. We're + going to need to do something fancier here eventually, but this gets us + past the error we're seeing currently in runner.html. + + Unfortunately, this patch "regresses" runner.html in the sense that we + now hit an assert, but it's still an improvement... I'll update the + HTML5 expectations once we get past the assert. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::insertTextNode): + * html/HTMLTreeBuilder.h: + +2010-06-28 Beth Dakin <bdakin@apple.com> + + Build fix for non-PATH_BASED_BORDER_RADIUS_DRAWING platforms. + + * rendering/RenderBoxModelObject.cpp: + +2010-06-28 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Use HTML5-conformant gradient interpolation mode + https://bugs.webkit.org/show_bug.cgi?id=41298 + + Change the Qt Gradient implementation to use ComponentInterpolation mode. + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#colors-and-styles + + * platform/graphics/qt/GradientQt.cpp: + (WebCore::Gradient::platformGradient): + +2010-06-28 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam Weinig. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=9197 CSS3: Borders + with border-radius and double, groove, or ridge styles should look + better + + This patch re-works border radius painting to stroke paths instead + of arcs. + + Added new function clipConvexPolygon(). Added static + addConvexPolygonToContext so that code can be shared between + drawConvexPolygon() and clipConvexPolygon(). + * platform/graphics/GraphicsContext.h: + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::addConvexPolygonToContext): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::clipConvexPolygon): + + Shells of implementations on non-CG platforms. + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::clipConvexPolygon): + * platform/graphics/haiku/GraphicsContextHaiku.cpp: + (WebCore::GraphicsContext::clipConvexPolygon): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::clipConvexPolygon): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::clipConvexPolygon): + * platform/graphics/wince/GraphicsContextWince.cpp: + (WebCore::GraphicsContext::clipConvexPolygon): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::clipConvexPolygon): + + This new helper function determines if the inner corners of the + border will arch in or meet at a right angle. + * rendering/RenderBoxModelObject.cpp: + (WebCore::borderWillArcInnerEdge): + + This function is re-written so that, for each side of the border, + if borderWillArcInnerEdge() is true, we go down a brand new code + path of clipping to a convex polygon for the border side and then + we paint the side using the new function drawBoxSideFromPath(). If + borderWillArcInnerEdge() is false, then we call into the old + familiar drawLineForBoxSide() which relies on the rounder clip + rects we have set up to arch the outer edge of the border. + (WebCore::RenderBoxModelObject::paintBorder): + + This new function does the math to figure out the convex polygon + to clip to in the case where we need to arch the inner edge of the + border. This calls into a new GraphicsContext function that is only + implemented on CG at this time. This is the reason we are keeping + around an old version of paintBorder() for now. + (WebCore::RenderBoxModelObject::clipBorderSidePolygon): + * rendering/RenderBoxModelObject.h: + + borderInnerRect() is a new convenience function called from + RenderObject and RenderBoxModelObject to determine the rect of the + inside edge of the border. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::borderInnerRect): + + This new function re-works drawArcForBoxSide to draw from Paths + when appropriate instead of stroking arcs. + (WebCore::RenderObject::drawBoxSideFromPath): + + Keep this around for that do not HAVE(PATH_BASED_BORDER_RADIUS_DRAWING) until + GraphicsContext::clipConvexPolygon() is implemented. + (WebCore::RenderObject::drawArcForBoxSide): + * rendering/RenderObject.h: + + New function + RenderStyle::getInnerBorderRadiiForRectWithBorderWidths() gets the + inner radius values for a rect. It takes border widths a parameters + rather than using the style's border widths so that it can be used + in inner radius calculations for double and groove/ridge + calculations. The W3C corner constraining rules were moved to a + static function that can be called from both getBorderRadiiForRect + () and getInnerBorderRadiiForRectWithBorderWidths(). + * rendering/style/RenderStyle.cpp: + (WebCore::constrainCornerRadiiForRect): + (WebCore::RenderStyle::getBorderRadiiForRect): + (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths): + * rendering/style/RenderStyle.h: + +2010-06-28 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Add support for the progress bar tag + https://bugs.webkit.org/show_bug.cgi?id=41014 + + Add support for rendering the progress tag for WebKit GTK+. + + * GNUmakefile.am: + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): + Added. Currently progress bar animations are disabled. As it looks like + there may not be a good way to support this with Mozilla's theme drawing code. + (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto. + (WebCore::RenderThemeGtk::adjustProgressBarStyle): Added. + (WebCore::RenderThemeGtk::paintProgressBar): Added. + * platform/gtk/RenderThemeGtk.h: Add declarations for new methods. + * platform/gtk/gtk2drawing.c: + (moz_gtk_get_progress_widget): Expose the progress widget so that the chunk can be positioned properly. + * platform/gtk/gtkdrawing.h: Added declaration for moz_gtk_get_progress_widget. + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTML5 Regression: Crash in insert() + https://bugs.webkit.org/show_bug.cgi?id=41281 + + We need to call endIfDelayed() outside of the script nesting block + because endIfDelayed() might call end(), which deletes the + HTMLDocumentParser. If we try to exit the script nesting block after + the HTMLDocumentParser has been deleted, we'll decrement unallocated + memory, which is bad times. + + Moving endIfDelayed outside of the script nesting block also lets us + avoid ending if inWrite() is true. If we're inWrite(), then there's + folks above us on the stack who will crash of the HTMLDocumentParser is + deallocated. Adding this check matches the LegacyHTMLDocumentParser + and the logic in attemptToEnd, facilitating a small refactoring of the + common logic for improved readability. + + I don't know of any test case that changes in behavior because of this + patch, but this bug exists on the same line of code that the reliablity + tests crashed. I'm not sure whether this patch will fix that crash, + but removing bugs (even theoretical ones) seems like a good idea. + + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::insert): + (WebCore::HTMLDocumentParser::append): + (WebCore::HTMLDocumentParser::attemptToEnd): + (WebCore::HTMLDocumentParser::endIfDelayed): + (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): + * html/HTMLDocumentParser.h: + (WebCore::HTMLDocumentParser::shouldDelayEnd): + +2010-06-28 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Sam Weinig. + + MediaPlayerPrivate::getSupportedTypes does not return "modern" MIME types + https://bugs.webkit.org/show_bug.cgi?id=41287 + <rdar://problem/8137402> + + No new test because getSupportedTypes is used privately by MediaPlayer. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::getSupportedTypes): Build hash set with both common and + modern types. + +2010-06-28 James Robinson <jamesr@chromium.org> + + Reviewed by Darin Adler. + + REGRESSION(53790): Neopets page with mismatched elements misrenders + https://bugs.webkit.org/show_bug.cgi?id=41181 + + Misnested formatting tags require fixup in order to create a valid DOM. Because this takes + O(N^2) time in some cases, http://trac.webkit.org/changeset/53790 added an iteration limit + of 5 to this algorithm to avoid hangs. This limit is too low for neopets, but a limit of + 7 is sufficient. This raises the limit to 10 to have a bit of breathing room. HTML5 + defines the fixup algorithm http://www.whatwg.org/specs/web-apps/current-work/#adoptionAgency + but doesn't specify any particular iteration limit. + + * html/LegacyHTMLTreeBuilder.cpp: + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + The new tree builder needs to call attach() on elements it attaches to + the DOM + https://bugs.webkit.org/show_bug.cgi?id=41293 + + Apparently Nodes expect to have their attach() method called when they + are attached to the DOM. The new tree builder is happy to oblige. + Making this call requires some fancy footwork with RefPtr/PassRefPtr to + avoid extra ref churn while keeping each function small. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::insertDoctype): + (WebCore::HTMLTreeBuilder::insertComment): + (WebCore::HTMLTreeBuilder::insertCommentOnDocument): + (WebCore::HTMLTreeBuilder::insertElement): + (WebCore::HTMLTreeBuilder::insertSelfClosingElement): + (WebCore::HTMLTreeBuilder::insertScriptElement): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::attach): + +2010-06-28 Xan Lopez <xlopez@igalia.com> + + Fix distcheck. + + * GNUmakefile.am: + +2010-06-28 Kenneth Russell <kbr@google.com> + + Reviewed by Dimitri Glazkov. + + Index validation caches buffer size information too aggressively + https://bugs.webkit.org/show_bug.cgi?id=41092 + + Test: fast/canvas/webgl/index-validation-with-resized-buffer.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::validateRenderingState): + - Compute the number of valid elements each time based on the latched buffer. + (WebCore::WebGLRenderingContext::vertexAttribPointer): + - Do not cache the buffer size, only the attributes used to + compute the number of required elements. + * html/canvas/WebGLRenderingContext.h: + (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): + - Ditto. + +2010-06-28 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Replace single treat-as-space characters with normal space + https://bugs.webkit.org/show_bug.cgi?id=41278 + + This keeps Qt from attempting glyph substitution and loading a bunch + of extra fonts when encountering entities. + + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::floatWidthForComplexText): + +2010-06-28 Robin Cao <robin.cao@torchmobile.com.cn> + + Reviewed by Dan Bernstein. + + canvas fillText with @font-face crashes + https://bugs.webkit.org/show_bug.cgi?id=35486 + + The font object in CanvasRenderingContext2D may become invalid at some point. + Override recalcStyle() in HTMLCanvasElement, and update the font object from there if needed. + + A test already exists: canvas/philip/tests/2d.text.draw.fontface.repeat.html + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::recalcStyle): + * html/HTMLCanvasElement.h: + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::updateFont): + * html/canvas/CanvasRenderingContext2D.h: + +2010-06-28 Lucas De Marchi <lucas.demarchi@profusion.mobi> + + Unreviewed build fix. + + [EFL] Build fix for latest version of Ecore library. + Ecore recently changed return type of callbacks from int to Eina_Bool. + + No new functionality, so no new tests. + + * platform/efl/SharedTimerEfl.cpp: + (WebCore::timerEvent): Return Eina_Bool instead of int. + +2010-06-28 Xan Lopez <xlopez@igalia.com> + + Fix build with GTK+ older than 2.18 + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::visibleContentRect): + +2010-06-28 Xan Lopez <xlopez@igalia.com> + + Reviewed by Adam Barth. + + [GTK] Push NULL context on every DOM bindings entry point + https://bugs.webkit.org/show_bug.cgi?id=39967 + + Update GObject DOM bindings to push the NULL context on every API + entry point, and update bindings test results. + + * bindings/scripts/CodeGeneratorGObject.pm: + * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: + * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: + +2010-06-28 Martin Robinson <martin.james.robinson@gmail.com> + + Reviewed by Adam Roben. + + [WinCairo] Text box backgrounds do not render in partially opaque layers + https://bugs.webkit.org/show_bug.cgi?id=41113 + + Tests: + manual-tests/partially-opaque-text-input.html + + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::GraphicsContext::releaseWindowsContext): + When restoring a context which does not support alpha blending, manually + set the alpha channel of the HBITMAP to fully opaque. This will effectively + ignore the alpha channel of the HBITMAP, which is necessary because GDI + drawing functions set the alpha value to be fully transparent (0). + +2010-06-28 Martin Robinson <martin.james.robinson@gmail.com> + + Reviewed by Adam Roben. + + [WinCairo] Rendering of themed elements on a layer with opacity produces nothing + https://bugs.webkit.org/show_bug.cgi?id=41111 + + Tests: + manual-tests/partially-opaque-form-elements.html + + * platform/graphics/win/GraphicsContextCairoWin.cpp: + (WebCore::GraphicsContext::releaseWindowsContext): + Preform a cairo_save() and a cairo_restore() around code modifying the transformation + matrix of the Cairo surface. Also set the destination coordinates before adjusting + the transformation matrix scale, so that the destination coordinates are not scaled + as well. + +2010-06-28 Sam Magnuson <smagnuson@netflix.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] GraphicsLayerQt delay seems unnecessary. + https://bugs.webkit.org/show_bug.cgi?id=40846 + + Test: compositing/animation/busy-indicator.html + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::recache): + (WebCore::GraphicsLayerQtImpl::flushChanges): + (WebCore::GraphicsLayerQt::setContentsToImage): + (WebCore::GraphicsLayerQt::addAnimation): + +2010-06-28 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + Until now we were adding the event listeners for a given object in + the wrap method, since that's the first moment we have accoss to + the core WebCore object. The problem is that we only install the + listeners that the topmost class in the class hierarchy needs (eg, + HTMLParagrahElement for a P element), when most of the actual + event attributes are defined in the base classes (Node, Element, + ...). + + To fix this set the core object as a construct/write-only property + on the wrapper GObject, and set the eventlisteners in the cGObject + 'construct' method, chaining up through all the class hierarchy + until the end. This way we'll get all the eventlisteners defined + in all the superclasses of our object, which is what we want. + + * bindings/gobject/WebKitDOMObject.cpp: + (webkit_dom_object_get_property): + (webkit_dom_object_set_property): + (webkit_dom_object_class_init): + * bindings/scripts/CodeGeneratorGObject.pm: + * dom/Node.idl: + +2010-06-28 Xan Lopez <xlopez@igalia.com> + + Fix GTK+ build. + + * platform/gtk/RenderThemeGtk.cpp: + +2010-06-28 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + [GTK] Does not compile with -DGSEAL_ENABLE + https://bugs.webkit.org/show_bug.cgi?id=37851 + + Fix build with GSEAL enabled. + + * GNUmakefile.am: + * platform/gtk/GtkVersioning.h: + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintMozillaGtkWidget): + (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::systemColor): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::platformRemoveChild): + (WebCore::ScrollView::visibleContentRect): + * platform/gtk/gtk2drawing.c: + (ensure_toggle_button_widget): + (ensure_combo_box_widgets): + (ensure_combo_box_entry_widgets): + (ensure_tree_header_cell_widget): + (moz_gtk_button_paint): + (moz_gtk_toggle_paint): + (calculate_button_inner_rect): + (calculate_arrow_rect): + (moz_gtk_scrollbar_button_paint): + (moz_gtk_scrollbar_trough_paint): + (moz_gtk_scrollbar_thumb_paint): + (moz_gtk_spin_paint): + (moz_gtk_spin_updown_paint): + (moz_gtk_scale_paint): + (moz_gtk_scale_thumb_paint): + (moz_gtk_gripper_paint): + (moz_gtk_hpaned_paint): + (moz_gtk_vpaned_paint): + (moz_gtk_entry_paint): + (moz_gtk_treeview_paint): + (moz_gtk_tree_header_sort_arrow_paint): + (moz_gtk_treeview_expander_paint): + (moz_gtk_expander_paint): + (moz_gtk_combo_box_paint): + (moz_gtk_downarrow_paint): + (moz_gtk_combo_box_entry_button_paint): + (moz_gtk_container_paint): + (moz_gtk_toggle_label_paint): + (moz_gtk_toolbar_paint): + (moz_gtk_toolbar_separator_paint): + (moz_gtk_tooltip_paint): + (moz_gtk_resizer_paint): + (moz_gtk_frame_paint): + (moz_gtk_progressbar_paint): + (moz_gtk_progress_chunk_paint): + (moz_gtk_get_tab_thickness): + (moz_gtk_tab_paint): + (moz_gtk_tabpanels_paint): + (moz_gtk_tab_scroll_arrow_paint): + (moz_gtk_menu_bar_paint): + (moz_gtk_menu_popup_paint): + (moz_gtk_menu_separator_paint): + (moz_gtk_menu_item_paint): + (moz_gtk_menu_arrow_paint): + +2010-06-28 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + [GTK] Add support for GTK+3 + https://bugs.webkit.org/show_bug.cgi?id=41253 + + Adapt build system for 3.x support. + + * GNUmakefile.am: + +2010-06-28 Yury Semikhatsky <yurys@chromium.org> + + Reviewed by Pavel Feldman. + + [v8] Web Inspector: properties of scope variables are flattened while on a breakpoint. + https://bugs.webkit.org/show_bug.cgi?id=41214 + + Test: inspector/debugger-proto-property.html + + * inspector/front-end/InjectedScript.js: + (injectedScriptConstructor): object proxy with non-empty path cannot be scope proxy. + +2010-06-28 MORITA Hajime <morrita@google.com> + + Unreviewed attempt to fix windows build. + + * page/DOMWindow.idl: + +2010-06-22 MORITA Hajime <morrita@google.com> + + Reviewed by Kent Tamura. + + <progress> should be styled with -webkit-progress-bar-value + https://bugs.webkit.org/show_bug.cgi?id=40823 + + Fixed to peek styles of the shadow node pseudo class to fallback + to non-styled painting. + + * css/html.css: + (progress): Added defaul background-color. + (progress::-webkit-progress-bar-value): Added defaul background-color. + * rendering/RenderProgress.cpp: + (WebCore::RenderProgress::shouldHaveParts): + (WebCore::RenderProgress::updatePartsState): + + Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html + +2010-06-28 Csaba Osztrogonác <ossy@webkit.org> + + Reviewed by Kent Tamura. + + GCC suggest parentheses around && within || + https://bugs.webkit.org/show_bug.cgi?id=41245 + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::paintChildren): + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Don't dump contents of <script> elements in LayoutTests + https://bugs.webkit.org/show_bug.cgi?id=41277 + + Apparently we need to tell each element when we start and stop parsing + its children. If we don't do this, we see the contents of every script + and style element in dumpAsText LayoutTests. (This patch is *well* + covered by LayoutTests.) + + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::ElementStack::pop): + (WebCore::HTMLTreeBuilder::ElementStack::push): + +2010-06-28 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make it possible to test the new HTML5 TreeBuilder + https://bugs.webkit.org/show_bug.cgi?id=41276 + + Adam was concerned that someone might make their port + depend on this setting (I guess we had some trouble with that + with the HTML5Parser setting), so I littered the code with warnings. + + test-html5-parser now tests this code path. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::finished): + * page/Settings.cpp: + (WebCore::Settings::Settings): + * page/Settings.h: + (WebCore::Settings::setHTML5TreeBuilderEnabled_DO_NOT_USE): + (WebCore::Settings::html5TreeBuilderEnabled): + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Make the html5lib runner.html not assert + https://bugs.webkit.org/show_bug.cgi?id=41273 + + This patch gets us closer to being able to run the parser tests. We + still don't get parsing correct, but at least we don't assert. :) + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::insertCommentOnDocument): + * html/HTMLTreeBuilder.h: + +2010-06-28 Eric Seidel <eric@webkit.org> + + Unreviewed. Attempt to fix Chromium and Qt builders. + + Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites + https://bugs.webkit.org/show_bug.cgi?id=41141 + + No functional changes, thus no tests. + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::eventHandlerLineNumber): + (WebCore::ScriptController::eventHandlerColumnNumber): + * dom/XMLDocumentParserQt.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): + (WebCore::XMLDocumentParser::stopParsing): + +2010-06-28 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add support for parsing attributes + https://bugs.webkit.org/show_bug.cgi?id=41272 + + This patch lets use parse the following document: + + <script src="data:text/javascript,alert('PASS')"></script> + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML): + (WebCore::HTMLTreeBuilder::insertScriptElement): + (WebCore::HTMLTreeBuilder::createElement): + +2010-06-28 Eric Seidel <eric@webkit.org> + + Reviewed by Darin Adler. + + Add a new baseclass for XML, HTML and Text DocumentParsers to clean up DocumentParser call sites + https://bugs.webkit.org/show_bug.cgi?id=41141 + + By splitting ScriptableDocumentParser and DecodedDataDocumentParser + out from DocumentParser we've made the DocumentParser and + RawDataDocumentParser classes simpler. + + No functional change, thus no tests. + + * Android.mk: + * CMakeLists.txt: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::eventHandlerLineNumber): + * css/CSSStyleSheet.cpp: + (WebCore::CSSStyleSheet::checkLoaded): + * dom/Document.cpp: + (WebCore::Document::scriptableDocumentParser): + (WebCore::Document::open): + (WebCore::Document::implicitOpen): + (WebCore::Document::implicitClose): + (WebCore::Document::removePendingSheet): + * dom/Document.h: + (WebCore::Document::parser): + * dom/DocumentParser.cpp: + (WebCore::DocumentParser::DocumentParser): + * dom/DocumentParser.h: + (WebCore::DocumentParser::asScriptableDocumentParser): + * dom/RawDataDocumentParser.h: + (WebCore::RawDataDocumentParser::finishWasCalled): + * dom/ScriptableDocumentParser.cpp: Copied from WebCore/html/HTMLEntityParser.h. + (WebCore::ScriptableDocumentParser::ScriptableDocumentParser): + * dom/ScriptableDocumentParser.h: Added. + (WebCore::ScriptableDocumentParser::isExecutingScript): + (WebCore::ScriptableDocumentParser::executeScriptsWaitingForStylesheets): + (WebCore::ScriptableDocumentParser::xssAuditor): + (WebCore::ScriptableDocumentParser::setXSSAuditor): + (WebCore::ScriptableDocumentParser::processingContentWrittenByScript): + (WebCore::ScriptableDocumentParser::asScriptableDocumentParser): + * dom/ViewportArguments.cpp: + (WebCore::parserLineNumber): + (WebCore::reportViewportWarning): + * dom/XMLDocumentParser.h: + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::XMLDocumentParser): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::HTMLDocumentParser): + (WebCore::HTMLDocumentParser::shouldLoadExternalScriptFromSrc): + * html/HTMLDocumentParser.h: + * html/LegacyHTMLDocumentParser.cpp: + (WebCore::LegacyHTMLDocumentParser::LegacyHTMLDocumentParser): + (WebCore::LegacyHTMLDocumentParser::parseTag): + * html/LegacyHTMLDocumentParser.h: + (WebCore::LegacyHTMLDocumentParser::processingContentWrittenByScript): + * html/LegacyHTMLTreeBuilder.cpp: + (WebCore::LegacyHTMLTreeBuilder::reportErrorToConsole): + * loader/DocumentLoader.cpp: + * loader/DocumentWriter.cpp: + * loader/TextDocument.cpp: + (WebCore::TextDocumentParser::TextDocumentParser): + (WebCore::TextDocumentParser::finish): + * svg/SVGDocumentExtensions.cpp: + (WebCore::parserLineNumber): + (WebCore::reportMessage): + (WebCore::SVGDocumentExtensions::reportWarning): + (WebCore::SVGDocumentExtensions::reportError): + +2010-06-27 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Mark Rowe. + + WebKit2 build exceeds address space on 32-bit Windows builders + https://bugs.webkit.org/show_bug.cgi?id=41270 + + Add all-in-one file for render-related SVG files. + Clean up other all-in-one files by adding missing files, excluding matching files from the vcproj. + Reduces release WebCore.lib size by 10% (160MB). + + * DerivedSources.cpp: + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/JSBindingsAllInOne.cpp: + * html/HTMLElementsAllInOne.cpp: + * rendering/RenderSVGAllInOne.cpp: Added. + +2010-06-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Sketch out the InBodyMode for the tree builder + https://bugs.webkit.org/show_bug.cgi?id=41271 + + This gives us some basic behavior for the InBodyMode. I've implemented + some of the easier logic. The more complicated logic will be in + subsequent patches. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::insertFormatingElement): + (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements): + * html/HTMLTreeBuilder.h: + +2010-06-25 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Shinichiro Hamaji. + + Improve default value handling for page format properties. + + Default page size and orientation have been hard-coded. + Instead, pass default page size and margins to + WebCore::Document::pageSizeAndMarginsInPixels to handle auto page size + and margins specified as percentages. + Return margins instead of page rect. + + https://bugs.webkit.org/show_bug.cgi?id=41150 + + * WebCore.base.exp: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyPageSizeProperty): + (WebCore::CSSStyleSelector::pageSizeFromName): + * css/html.css: + (@page): + * dom/Document.cpp: + (WebCore::Document::pageSizeAndMarginsInPixels): + * dom/Document.h: + * page/PrintContext.cpp: + (WebCore::PrintContext::pageProperty): + (WebCore::PrintContext::pageSizeAndMarginsInPixels): + * page/PrintContext.h: + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::pageSizeType): + (WebCore::InheritedFlags::setPageSizeType): + (WebCore::InheritedFlags::resetPageSizeType): + * rendering/style/StyleRareNonInheritedData.cpp: + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::operator==): + * rendering/style/StyleRareNonInheritedData.h: + (WebCore::): + +2010-06-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Clean up some loose ends in HTML5 tree builder + https://bugs.webkit.org/show_bug.cgi?id=41265 + + This patch cleans up a few loose ends in HTML5 tree builder. + Technically, we could do each of these as individual patches, but that + didn't seem worth while. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + - Add missing break before default case statement. I don't think + this change is observable. + (WebCore::HTMLTreeBuilder::processComment): + - Originally I thought that comments had special processing in the + InHeadNoscriptMode, but it turns out that when you unwind the + definitions, it amounts to exactly the same thing. + (WebCore::HTMLTreeBuilder::processEndOfFile): + - Add missing break before default case statement. I don't think + this change is observable. + (WebCore::HTMLTreeBuilder::insertComment): + - Eliminate one unnecessary ref/deref pair. + (WebCore::HTMLTreeBuilder::insertSelfClosingElement): + - When we insert self-closing elements, there's no reason to push + them onto the stack of open elements just to pop them off again. + This change saves a malloc/free pair as well as a ref/deref pair. + Go team. + * html/HTMLTreeBuilder.h: + - Remove unused function. + +2010-06-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Implement remaining StartTag processing for InHeadNoscriptMode + https://bugs.webkit.org/show_bug.cgi?id=41264 + + The InHeadNoscriptMode processes some start tags "as if" the tree + builder were in the InHeadMode. This is an idiom we'll see more of + later. My approach is this patch is to factor all the logic for + processing start tags in the InHeadMode into a separate function that + can be called from both locations. This seems cleaner than just + splitting out the parts that are actually used by both modes. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processStartTagForInHead): + (WebCore::HTMLTreeBuilder::insertSelfClosingElement): + * html/HTMLTreeBuilder.h: + +2010-06-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Add support for <title> and <style> elements + https://bugs.webkit.org/show_bug.cgi?id=41263 + + These elements use the generic RCDATA and RawText algorithms, + respectively. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement): + (WebCore::HTMLTreeBuilder::insertGenericRawTextElement): + +2010-06-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + Actually insert Doctype elements + https://bugs.webkit.org/show_bug.cgi?id=41262 + + This code is pretty much the same as in the old tree builder. + + * html/HTMLToken.h: + (WebCore::AtomicHTMLToken::publicIdentifier): + (WebCore::AtomicHTMLToken::systemIdentifier): + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::insertDoctype): + +2010-06-27 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + Canvas: Ignore calls to drawImage() with non-finite parameters + https://bugs.webkit.org/show_bug.cgi?id=38929 + + This also fixes a Qt assert when using the raster graphics system. + + Spec link: + http://www.whatwg.org/specs/web-apps/current-work/#2dcontext + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + +2010-06-27 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + editing/execCommand/copy-without-selection.html fails on Qt after r61637 + https://bugs.webkit.org/show_bug.cgi?id=41025 + + The problem was that when getting data back via Clipboard::getData(), + the String::String(const char*, int) constructor was called + with UTF-16 data. + + The solution is to use QMimeData's text() and setText() for "text/plain". + + setText() which makes sure Qt passes the string in proper format to the + system clipboard. (The previous implementation would convert it to UTF-8) + + text() makes sure that the correct encoding is used (UTF-16) and that + we get back whatever we originally put in there. + + * platform/qt/ClipboardQt.cpp: + (WebCore::isTextMimeType): + (WebCore::ClipboardQt::getData): + (WebCore::ClipboardQt::setData): + +2010-06-27 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTML5 tree builder should be able to execute inline scripts + https://bugs.webkit.org/show_bug.cgi?id=41257 + + This patch implements enough machinery so that we can execute inline + scripts in extremely simple documents such as the following: + + <html> + <script> + alert(1); + </script> + + To get this to work, I had to flesh out a surprising amount of the data + structures for processing the <head>. No tests because this is + already covered by most LayoutTests. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::insertComment): + (WebCore::HTMLTreeBuilder::insertElement): + (WebCore::HTMLTreeBuilder::insertScriptElement): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::ElementRecord::ElementRecord): + (WebCore::HTMLTreeBuilder::ElementRecord::element): + (WebCore::HTMLTreeBuilder::ElementRecord::next): + (WebCore::HTMLTreeBuilder::ElementRecord::releaseNext): + (WebCore::HTMLTreeBuilder::ElementRecord::setNext): + (WebCore::HTMLTreeBuilder::ElementStack::pop): + (WebCore::HTMLTreeBuilder::ElementStack::push): + (WebCore::HTMLTreeBuilder::ElementStack::top): + (WebCore::HTMLTreeBuilder::ElementStack::remove): + (WebCore::HTMLTreeBuilder::currentElement): + +2010-06-26 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler. + + beforeProcess event needs to fire before inline scripts/stylesheets take effect + <rdar://problem/8084335> and https://bugs.webkit.org/show_bug.cgi?id=40484 + + This patch adds the Event, the onBeforeProcess attribute, and hooks the attribute up in a few places. + Besides that, no change in behavior. + + Layout tests will come with the actual implementations as a followup to this patch. + + Project file nonsense: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + + Scaffolding for the event itself: + * dom/BeforeProcessEvent.cpp: Added. + (WebCore::BeforeProcessEvent::text): + (WebCore::BeforeProcessEvent::setText): + * dom/BeforeProcessEvent.h: Added. + (WebCore::BeforeProcessEvent::create): + (WebCore::BeforeProcessEvent::initBeforeProcessEvent): + (WebCore::BeforeProcessEvent::BeforeProcessEvent): + * dom/BeforeProcessEvent.idl: Added. + + * dom/EventNames.h: + + Respect the onBeforeProcess attribute: + * dom/Document.cpp: + (WebCore::Document::addListenerTypeIfNeeded): + * dom/Document.h: + (WebCore::Document::): + + * html/HTMLAttributeNames.in: + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::parseMappedAttribute): + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::parseMappedAttribute): + +2010-06-26 Darin Adler <darin@apple.com> + + Try to fix Chromium build by adding back function used only by Chromium WebKit. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultChecked): Added back. + * html/HTMLInputElement.h: Added defaultChecked function. + + * html/HTMLMetaElement.cpp: + (WebCore::HTMLMetaElement::httpEquiv): Added back. + * html/HTMLMetaElement.h: Added httpEquiv function. + + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::defaultSelected): Added back. + * html/HTMLOptionElement.h: Added defaultSelected function. + + * rendering/style/StyleRareNonInheritedData.h: Fixed incorrect struct vs. class + here as seen in warnings on Chromium Windows bot. + +2010-06-26 Darin Adler <darin@apple.com> + + Try to fix Windows build by adding back function used only by Windows WebKit. + + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::label): Added back. + * html/HTMLOptionElement.h: Added label function. + +2010-06-26 Darin Adler <darin@apple.com> + + Try to fix Qt build by adding back function used only by Qt WebKit. + + * html/HTMLMetaElement.cpp: + (WebCore::HTMLMetaElement::content): Added back. + * html/HTMLMetaElement.h: Added content function. + +2010-06-26 Darin Adler <darin@apple.com> + + * html/HTMLFormElement.h: Removed stray character that got in here before landing. + +2010-06-26 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Add more use of reflection, remove unused functions + https://bugs.webkit.org/show_bug.cgi?id=41255 + + Also noticed that HTMLDirectoryElement was missing its create function + and added that so the element will get the correct class. + + * html/HTMLBaseFontElement.idl: Use reflection for the size attribute + in the Objective-C code path too. + + * html/HTMLSelectElement.idl: Use reflection for disabled and autofocus + attributes. Also removed spaces and indenting to match other IDL files. + + * html/HTMLStyleElement.idl: Use reflection for disabled attribute. + + * html/HTMLTableCellElement.idl: Use reflection for noWrap attribute. + + * html/HTMLTextAreaElement.idl: Use reflection for disabled, autofocus, + readOnly, and required attributes. + + * html/HTMLUListElement.idl: Use reflection for compact attribute. + + * html/HTMLDirectoryElement.cpp: + (WebCore::HTMLDirectoryElement::HTMLDirectoryElement): Made inline. + (WebCore::HTMLDirectoryElement::create): Added. + * html/HTMLDirectoryElement.h: + Added create, made constructor private, removed unused functions. + + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::parseMappedAttribute): Removed code to + set unused m_media data member. + * html/HTMLStyleElement.h: + Removed unused functions and m_media data member. Also made some + functions private. + + * html/HTMLAppletElement.cpp: + * html/HTMLAppletElement.h: + * html/HTMLAreaElement.cpp: + * html/HTMLAreaElement.h: + * html/HTMLBaseFontElement.cpp: + * html/HTMLBaseFontElement.h: + * html/HTMLButtonElement.cpp: + * html/HTMLButtonElement.h: + * html/HTMLDListElement.cpp: + * html/HTMLDListElement.h: + * html/HTMLDivElement.cpp: + * html/HTMLDivElement.h: + * html/HTMLFontElement.cpp: + * html/HTMLFontElement.h: + * html/HTMLFormControlElement.cpp: + * html/HTMLFormControlElement.h: + * html/HTMLFormElement.cpp: + * html/HTMLFormElement.h: + * html/HTMLFrameElement.cpp: Also removed an incorrect FIXME comment + here after I did a little research to disprove it. + * html/HTMLFrameElement.h: + * html/HTMLFrameSetElement.cpp: + * html/HTMLFrameSetElement.h: + * html/HTMLHRElement.cpp: + * html/HTMLHRElement.h: + * html/HTMLHeadElement.cpp: + * html/HTMLHeadElement.h: + * html/HTMLHeadingElement.cpp: + * html/HTMLHeadingElement.h: + * html/HTMLHtmlElement.cpp: + * html/HTMLHtmlElement.h: + * html/HTMLImageElement.cpp: + * html/HTMLImageElement.h: + * html/HTMLInputElement.cpp: + * html/HTMLInputElement.h: + * html/HTMLIsIndexElement.cpp: + * html/HTMLIsIndexElement.h: + * html/HTMLLIElement.cpp: + * html/HTMLLIElement.h: + * html/HTMLLabelElement.cpp: + * html/HTMLLabelElement.h: + * html/HTMLLegendElement.cpp: + * html/HTMLLegendElement.h: + * html/HTMLLinkElement.cpp: + * html/HTMLLinkElement.h: + * html/HTMLMapElement.cpp: + * html/HTMLMapElement.h: + * html/HTMLMenuElement.cpp: + * html/HTMLMenuElement.h: + * html/HTMLMetaElement.cpp: + * html/HTMLMetaElement.h: + * html/HTMLModElement.cpp: + * html/HTMLModElement.h: + * html/HTMLOListElement.cpp: + * html/HTMLOListElement.h: + * html/HTMLObjectElement.cpp: + * html/HTMLObjectElement.h: + * html/HTMLOptGroupElement.cpp: + * html/HTMLOptGroupElement.h: + * html/HTMLOptionElement.cpp: + * html/HTMLOptionElement.h: + * html/HTMLParagraphElement.cpp: + * html/HTMLParagraphElement.h: + * html/HTMLParamElement.cpp: + * html/HTMLParamElement.h: + * html/HTMLPlugInElement.cpp: + * html/HTMLPlugInElement.h: + * html/HTMLPreElement.cpp: + * html/HTMLPreElement.h: + * html/HTMLQuoteElement.cpp: + * html/HTMLQuoteElement.h: + * html/HTMLScriptElement.cpp: + * html/HTMLScriptElement.h: + * html/HTMLTableCaptionElement.cpp: + * html/HTMLTableCaptionElement.h: + * html/HTMLTableCellElement.cpp: + * html/HTMLTableCellElement.h: + * html/HTMLTableColElement.cpp: + * html/HTMLTableColElement.h: + * html/HTMLTableElement.cpp: + * html/HTMLTableElement.h: + * html/HTMLTableRowElement.cpp: + * html/HTMLTableRowElement.h: + * html/HTMLTextAreaElement.cpp: + * html/HTMLTextAreaElement.h: + * html/HTMLUListElement.cpp: + * html/HTMLUListElement.h: + * html/HTMLVideoElement.cpp: + * html/HTMLVideoElement.h: + Removed unused functions. + +2010-06-26 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Adam Barth. + + Exclude line numbers for sources which are not from the network. + https://bugs.webkit.org/show_bug.cgi?id=41060 + + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::write): + +2010-06-25 Antonio Gomes <tonikitoo@webkit.org> + + Unreviewed complementary fix for r61818. It added StaticHashSetListNode.cpp|h to the system, + but did not added it to chromium build system. + + * WebCore.gypi: + +2010-06-26 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Yury Semikhatsky. + + Web Inspector: ScripsPanel.prototype.editScriptSource uses old addBreakpoint signature. + + https://bugs.webkit.org/show_bug.cgi?id=41247 + + * inspector/front-end/BreakpointManager.js: + (WebInspector.BreakpointManager.prototype.removeBreakpoint): + (WebInspector.Breakpoint.prototype.set enabled): + (WebInspector.Breakpoint.prototype.set condition): + * inspector/front-end/Object.js: + (WebInspector.Object.prototype.addEventListener): + (WebInspector.Object.prototype.removeEventListener): + (WebInspector.Object.prototype.removeAllListeners): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback): + (WebInspector.ScriptsPanel.prototype.editScriptSource): + +2010-06-26 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add a guarded window.performance.timing binding which is disabled by default. + https://bugs.webkit.org/show_bug.cgi?id=38924 + + This is where Web Timing support will be implemented. Web Timing is a + draft spec for exposing load times to web pages. It will be enabled + once the spec and implementaiton are solidified. See: + http://dev.w3.org/2006/webapi/WebTiming/ + + No new tests because guarded behind a #DEFINE. Will add tests as + functionality is landed. + + * Android.mk: + * CMakeLists.txt: + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pri: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::clear): + (WebCore::DOMWindow::performance): + * page/DOMWindow.h: + (WebCore::DOMWindow::optionalPerformance): + * page/DOMWindow.idl: + * page/NavigationTiming.cpp: Added. + (WebCore::NavigationTiming::NavigationTiming): + (WebCore::NavigationTiming::frame): + (WebCore::NavigationTiming::disconnectFrame): + (WebCore::NavigationTiming::navigationStart): + * page/NavigationTiming.h: Added. + (WebCore::NavigationTiming::create): + * page/NavigationTiming.idl: Added. + * page/Performance.cpp: Added. + (WebCore::Performance::Performance): + (WebCore::Performance::frame): + (WebCore::Performance::disconnectFrame): + (WebCore::Performance::timing): + * page/Performance.h: Added. + (WebCore::Performance::create): + * page/Performance.idl: Added. + +2010-06-25 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + activeTexture wrongly generates error with legal input. + https://bugs.webkit.org/show_bug.cgi?id=41227 + + Test: fast/canvas/webgl/texture-active-bind.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::activeTexture): Fix the upper limit test for test units. + +2010-06-25 Johnny Ding <jnd@chromium.org> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=41061 + Make sure Chromium's ScriptController::processingUserGesture follows the JSC's behavior. + Set right value in UserGestureIndicator when handling events in PopupMenuList in chromium. + + Test: fast/events/popup-when-select-change.html + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::processingUserGesture): + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupContainer::handleMouseDownEvent): + (WebCore::PopupContainer::handleMouseMoveEvent): + (WebCore::PopupContainer::handleMouseReleaseEvent): + (WebCore::PopupContainer::handleWheelEvent): + (WebCore::PopupContainer::handleKeyEvent): + +2010-06-25 Tony Gentilcore <tonyg@chromium.org> + + Reviewed by Eric Seidel. + + Make PendingScript hold a CachedResourceClient open for its lifetime + https://bugs.webkit.org/show_bug.cgi?id=40968 + + This replaces the mechanism introduced in r61374 with a simpler + appraoch for preventing unexpected purges: always keep a client open. + This approach will allow deferred scripts to add a client after + the resource may have already been loaded without having to worry about + the buffer being purged in the meantime. + + No new tests because making a CachedResource purse itself is not + testable from a LayoutTest. + + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::watchForLoad): + (WebCore::HTMLDocumentParser::notifyFinished): + * html/HTMLScriptRunner.cpp: + (WebCore::HTMLScriptRunner::~HTMLScriptRunner): + (WebCore::HTMLScriptRunner::sourceFromPendingScript): + (WebCore::HTMLScriptRunner::isPendingScriptReady): + (WebCore::HTMLScriptRunner::executePendingScript): + (WebCore::HTMLScriptRunner::watchForLoad): + (WebCore::HTMLScriptRunner::stopWatchingForLoad): + (WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad): + (WebCore::HTMLScriptRunner::requestScript): + (WebCore::HTMLScriptRunner::PendingScript::~PendingScript): + (WebCore::HTMLScriptRunner::PendingScript::releaseElementAndClear): + (WebCore::HTMLScriptRunner::PendingScript::setCachedScript): + (WebCore::HTMLScriptRunner::PendingScript::cachedScript): + * html/HTMLScriptRunner.h: + (WebCore::HTMLScriptRunner::PendingScript::PendingScript): + (WebCore::HTMLScriptRunner::PendingScript::watchingForLoad): + (WebCore::HTMLScriptRunner::PendingScript::setWatchingForLoad): + (WebCore::HTMLScriptRunner::PendingScript::notifyFinished): + * html/HTMLScriptRunnerHost.h: + +2010-06-25 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + getUniform will not work for fetching uniform array elements + https://bugs.webkit.org/show_bug.cgi?id=34508 + + Test: fast/canvas/webgl/gl-uniform-arrays.html + + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::attachShader): Generate correct errors. + (WebCore::WebGLRenderingContext::getUniform): Dealing with array elements. + (WebCore::WebGLRenderingContext::useProgram): Deal with program==null. + (WebCore::WebGLRenderingContext::validateProgram): Generate correct errors. + * platform/graphics/mac/GraphicsContext3DMac.mm: + (WebCore::GraphicsContext3D::useProgram): Deal with program==null. + +2010-06-25 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + Bring set/get state functions to GLES2 conformance + https://bugs.webkit.org/show_bug.cgi?id=41095 + + Tests: fast/canvas/webgl/gl-enable-enum-test.html + fast/canvas/webgl/gl-enum-tests.html + + * html/canvas/WebGLRenderingContext.cpp: Check input parameters according to GLES2 spec. + (WebCore::WebGLRenderingContext::blendEquation): + (WebCore::WebGLRenderingContext::blendEquationSeparate): + (WebCore::WebGLRenderingContext::disable): + (WebCore::WebGLRenderingContext::enable): + (WebCore::WebGLRenderingContext::hint): + (WebCore::WebGLRenderingContext::isEnabled): + (WebCore::WebGLRenderingContext::pixelStorei): + (WebCore::WebGLRenderingContext::validateBlendEquation): + (WebCore::WebGLRenderingContext::validateCapability): + * html/canvas/WebGLRenderingContext.h: Add helper function declaration. + +2010-06-25 Sterling Swigart <sswigart@google.com> + + Reviewed by David Levin. + + Callback code generation fixed so that now string parameters are converted to JSString + using the jsString method instead of the toJS method which would not compile. + https://bugs.webkit.org/show_bug.cgi?id=41119 + + * bindings/scripts/CodeGeneratorJS.pm: Now generates jsString for String parameters in callbacks. + * bindings/scripts/test/JS/JSTestCallback.cpp: Fixed test for above. + (WebCore::JSTestCallback::callbackWithClass2Param): Ditto. + +2010-06-25 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + A buffer should be bound to one target in its lifetime + https://bugs.webkit.org/show_bug.cgi?id=41108 + + Test: fast/canvas/webgl/buffer-bind-test.html + + * html/canvas/WebGLBuffer.cpp: + (WebCore::WebGLBuffer::WebGLBuffer): Init target to 0. + (WebCore::WebGLBuffer::associateBufferData): Remove target parameter, use one byteLength member. + (WebCore::WebGLBuffer::associateBufferSubData): Ditto. + (WebCore::WebGLBuffer::byteLength): Ditto. + (WebCore::WebGLBuffer::setTarget): Set target. + * html/canvas/WebGLBuffer.h: Cache target in the WebGLBuffer object, use one byteLength member. + (WebCore::WebGLBuffer::getTarget): + * html/canvas/WebGLRenderingContext.cpp: + (WebCore::WebGLRenderingContext::bindBuffer): Check if a buffer is bound to another target; set buffer object internal target. + (WebCore::WebGLRenderingContext::bufferData): Remove target parameter and use the WebGLBuffer cached target instead. + (WebCore::WebGLRenderingContext::bufferSubData): Ditto. + (WebCore::WebGLRenderingContext::validateElementArraySize): Ditto. + (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Ditto. + (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto. + +2010-06-25 Dean Jackson <dino@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=41188 + Animations should not require 0% and 100% keyframes + + When we are generating the animation lists in CSSStyleSelector, + rather than bail if we notice that "from" or "to" are missing, we + now generate synthetic keyframes for those cases. + + Tests: animations/missing-from-to-transforms.html + animations/missing-from-to.html + WebCore/manual-tests/animation-with-transition.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::styleForKeyframe): + Moved individual keyframe generation into a new function. + (WebCore::CSSStyleSelector::keyframeStylesForAnimation): + Call the new function above for regular keyframes, and + also check for missing keyframes and generate them if + necessary. + * css/CSSStyleSelector.h: + +2010-06-25 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + We should parse <html> + https://bugs.webkit.org/show_bug.cgi?id=41239 + + This patch is hard to test, but I think this patch lets us parse a + document consisting of only an <html> start tag. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML): + (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode): + * html/HTMLTreeBuilder.h: + (WebCore::HTMLTreeBuilder::ElementStack::push): + +2010-06-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/8000667> Certain text is repeated before and after a line break + + Test: fast/text/bidi-explicit-embedding-past-end.html + + * platform/text/BidiResolver.h: + (WebCore::::createBidiRunsForLine): Committing explicit embedding past the end of the range + creates BidiRuns up to the end of the range, so at that point, we can stop iterating. + +2010-06-25 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter + https://bugs.webkit.org/show_bug.cgi?id=41202 + + Hit the Windoze with the compile bat. + + * WebCore.vcproj/WebCore.vcproj: + +2010-06-25 Adam Barth <abarth@webkit.org> + + Reviewed by Eric Seidel. + + HTMLTreeBuilder should branch first on token type and then on insertion mode + https://bugs.webkit.org/show_bug.cgi?id=41232 + + This is different than how the spec is written, but it lets us remove a + lot of redudancy in the algorithm. We might even want to pull some of + the branches on token name outside the insertion mode branch, but I'll + leave that for a future patch. + + Although this looks like a big patch, it's mostly just a mechanical + switch permutation. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::processToken): + (WebCore::HTMLTreeBuilder::processDoctypeToken): + (WebCore::HTMLTreeBuilder::processStartTag): + (WebCore::HTMLTreeBuilder::processEndTag): + (WebCore::HTMLTreeBuilder::processComment): + (WebCore::HTMLTreeBuilder::processCharacter): + (WebCore::HTMLTreeBuilder::processEndOfFile): + (WebCore::HTMLTreeBuilder::processDefaultForInitialMode): + (WebCore::HTMLTreeBuilder::processDefaultForBeforeHTMLMode): + (WebCore::HTMLTreeBuilder::processDefaultForBeforeHeadMode): + (WebCore::HTMLTreeBuilder::processDefaultForInHeadMode): + (WebCore::HTMLTreeBuilder::processDefaultForInHeadNoscriptMode): + (WebCore::HTMLTreeBuilder::processDefaultForAfterHeadMode): + * html/HTMLTreeBuilder.h: + +2010-06-25 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Adler. + + Tree builder doesn't need to return a Node + https://bugs.webkit.org/show_bug.cgi?id=41225 + + The old tree builder returned the newly inserted Node, but the new tree + builder doesn't need to do that as far as I can tell. Removing the + return value cuts down on a bunch of accounting. + + * html/HTMLTreeBuilder.cpp: + (WebCore::HTMLTreeBuilder::passTokenToLegacyParser): + (WebCore::HTMLTreeBuilder::constructTreeFromToken): + (WebCore::HTMLTreeBuilder::processToken): + (WebCore::HTMLTreeBuilder::insertDoctype): + (WebCore::HTMLTreeBuilder::insertComment): + (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement): + (WebCore::HTMLTreeBuilder::insertGenericRawTextElement): + (WebCore::HTMLTreeBuilder::insertScriptElement): + * html/HTMLTreeBuilder.h: + +2010-06-25 Zhenyao Mo <zmo@google.com> + + Reviewed by Dimitri Glazkov. + + getParameter(COLOR_WRITEMASK) needs to return Array + https://bugs.webkit.org/show_bug.cgi?id=40437 + + * bindings/js/JSWebGLRenderingContextCustom.cpp: Handling bool array. + (WebCore::toJS): + * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: Handling bool array. + (WebCore::toV8Object): + * html/canvas/WebGLGetInfo.cpp: Handling bool array. + (WebCore::WebGLGetInfo::WebGLGetInfo): + (WebCore::WebGLGetInfo::getBoolArray): + * html/canvas/WebGLGetInfo.h: Handling bool array. + (WebCore::WebGLGetInfo::): + * html/canvas/WebGLRenderingContext.cpp: Handling bool array. + (WebCore::WebGLRenderingContext::getParameter): + (WebCore::WebGLRenderingContext::getBooleanArrayParameter): + * html/canvas/WebGLRenderingContext.h: Handling bool array. + +2010-06-25 Evan Stade <estade@chromium.org> + + Reviewed by Darin Fisher. + + [chromium linux] Improve look of scrollbars + https://bugs.webkit.org/show_bug.cgi?id=35775 + + This will affect layout pixel tests, which will need to be rebaselined. + + * platform/Scrollbar.cpp: need the buttons to be invalidated when the + thumb moves as they paint differently if the thumb is at the top or + bottom + (WebCore::Scrollbar::updateThumbPosition): + (WebCore::Scrollbar::updateThumbProportion): + * platform/chromium/ScrollbarThemeChromium.cpp: + (WebCore::ScrollbarThemeChromium::trackRect): share code between + linux/windows + * platform/chromium/ScrollbarThemeChromiumLinux.cpp: + (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): + (WebCore::outlineColor): up the contrast + (WebCore::ScrollbarThemeChromiumLinux::paintButton): add custom button + drawing implementation + (WebCore::ScrollbarThemeChromiumLinux::buttonSize): add buttons + * platform/chromium/ScrollbarThemeChromiumWin.cpp: share code between + linux/windows + * rendering/RenderThemeChromiumLinux.cpp: improve stock colors to get + better contrast and integration with stock chrome theme + +2010-06-25 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Move decoding into DocumentParser to further simplify RawDataDocumentParser and DocumentWriter + https://bugs.webkit.org/show_bug.cgi?id=41202 + + The silly thing about this patch is that none of the + RawDataDocumentParser subclasses actually use any of the + data passed to them via appendBytes. + + This makes the relationship between DocumentWriter and + DocumentParser slightly more confusing, however I think this + DocumentParser API is slightly nicer. + + Next step is to split DecodedDataDocumentParser out from + DocumentParser, and then the base DocumentParser won't know + anything about decoding or SegmentedString. + + No functional change, thus no tests. + + * WebCore.xcodeproj/project.pbxproj: + * dom/DocumentParser.h: + * dom/RawDataDocumentParser.h: + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::replaceDocument): + (WebCore::DocumentWriter::createDecoderIfNeeded): + (WebCore::DocumentWriter::reportDataRecieved): + (WebCore::DocumentWriter::addData): + * loader/DocumentWriter.h: + * loader/ImageDocument.cpp: + (WebCore::ImageDocumentParser::appendBytes): + * loader/MediaDocument.cpp: + (WebCore::MediaDocumentParser::appendBytes): + * loader/PluginDocument.cpp: + (WebCore::PluginDocumentParser::appendBytes): + * loader/SinkDocument.cpp: + (WebCore::SinkDocumentParser::SinkDocumentParser): + (WebCore::SinkDocumentParser::appendBytes): + (WebCore::SinkDocument::createParser): + +2010-06-25 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Split DocumentParser::write into separate append and insert calls + https://bugs.webkit.org/show_bug.cgi?id=41197 + + Unfortunately this is still somewhat confusing as + "insert" means "insert this data at the current + insertion point and run the parser synchronously + unless we're in a nested write call" and "append" + means "append this data to the end and run the + parser if not in a nested call or until possibly yielding". + + This at least makes clearer which document parsers implement + which behavior, and paves the way for moving the decoding + logic into DocumentParser from DocumentWriter. + + No functional changes, thus no tests. + + * dom/Document.cpp: + (WebCore::Document::write): + * dom/DocumentParser.h: + * dom/RawDataDocumentParser.h: + (WebCore::RawDataDocumentParser::insert): + (WebCore::RawDataDocumentParser::append): + * dom/XMLDocumentParser.cpp: + (WebCore::XMLDocumentParser::insert): + (WebCore::XMLDocumentParser::append): + * dom/XMLDocumentParser.h: + * dom/XMLDocumentParserLibxml2.cpp: + (WebCore::XMLDocumentParser::resumeParsing): + * html/HTMLDocumentParser.cpp: + (WebCore::HTMLDocumentParser::insert): + (WebCore::HTMLDocumentParser::append): + (WebCore::HTMLDocumentParser::parseDocumentFragment): + * html/HTMLDocumentParser.h: + * html/LegacyHTMLDocumentParser.cpp: + (WebCore::LegacyHTMLDocumentParser::insert): + (WebCore::LegacyHTMLDocumentParser::append): + * html/LegacyHTMLDocumentParser.h: + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::replaceDocument): + (WebCore::DocumentWriter::addData): + * loader/FTPDirectoryDocument.cpp: + (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser): + (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate): + (WebCore::FTPDirectoryDocumentParser::append): + * loader/TextDocument.cpp: + (WebCore::TextDocumentParser::insert): + (WebCore::TextDocumentParser::append): + (WebCore::TextDocumentParser::finish): + +2010-06-25 Daniel Cheng <dcheng@chromium.org> + + Reviewed by Darin Fisher. + + [chromium] Add new stubs for querying platform drag-and-drop and copy-and-paste data. + + This change adds new stubs for querying for data in a clipboard or drag operation. This is + so adding support for more data types in clipboard/drag operations doesn't become + increasingly expensive, since we currently copy all the drag data we need every time a new + web drop target is entered. It also adds a new mechanism to write back to the system + clipboard that isn't tied to one data type. + + https://bugs.webkit.org/show_bug.cgi?id=40540 + + No new tests since we're just adding new ChromiumBridge APIs. When we switch to it, it will + be covered by the existing tests. + + * platform/chromium/ChromiumBridge.h: + * platform/chromium/PasteboardPrivate.h: + (WebCore::PasteboardPrivate::): + +2010-06-25 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Xan Lopez. + + [Gtk] Implement atk_table_get_column_header + https://bugs.webkit.org/show_bug.cgi?id=30896 + + Implemented get_column_header and modified get_row_header + accordingly to keep them both coherent among themselves. + Based on a previous patch by Joanmarie Diggs. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_table_get_column_header): + (webkit_accessible_table_get_row_header): + +2010-06-29 Martin Robinson <mrobinson@igalia.com> + + Reviewed by Xan Lopez. + + [GTK] Pasteboard code does not take into account the nil character when getting and setting markup/netscape-url data + https://bugs.webkit.org/show_bug.cgi?id=41221 + + Take into account null-terminator when getting and setting markup and + Netscape URL pasteboard types. This means that if the selection data + contains the null terminator, it won't be included in the final String. + When setting the pasteboard data the null terminator is now included to + match the behavior of other applications. + + * platform/gtk/PasteboardHelper.cpp: + (WebCore::PasteboardHelper::getClipboardContents): + Create the markup string after using g_strndup to protect against non-null-terminated + strings. Use String::fromUTF8 here to ensure that the string is not longer than the + first null-terminator. Also fix a small indentation issue. + (WebCore::PasteboardHelper::fillSelectionData): + Always include the null-terminator when setting pasteboard data manually. This matches + the behavior of other browser applications. + +2010-06-25 Sam Magnuson <smagnuson@netflix.com> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] When any geometry change happens to a node it will resize the + backing cache + https://bugs.webkit.org/show_bug.cgi?id=40378 + + Continue to grow the cache, but never toss it. When the pixmap + cache gets too big it will be lost and created at the right size + next time. + + No new tests: this is an optimization. + + * platform/graphics/qt/GraphicsLayerQt.cpp: + (WebCore::GraphicsLayerQtImpl::recache): + (WebCore::GraphicsLayerQtImpl::paint): + (WebCore::GraphicsLayerQtImpl::flushChanges): + +2010-06-25 Andreas Kling <andreas.kling@nokia.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=41019 + Canvas: Remember verified clean origins for drawImage() + + Made CanvasRenderingContext2D cache the KURLs of clean origins + for fast repeated lookup. + + * html/canvas/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::checkOrigin): + * html/canvas/CanvasRenderingContext2D.h: + +2010-06-25 Robert Hogan <robert@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] HTTP 307 after a 303 after a POST re-sends POST data from the original request + + https://bugs.webkit.org/show_bug.cgi?id=35301 + + Qt needs to use ResourceRequest::request()->httpMethod()) in order to determine + the appropriate method for a 307 redirect request. + + When deciding if it needs to override a POST method with a GET method during a + redirect chain, QNetworkReplyHandler needs to check the HTTP method stored + in ResourceRequest::request()->httpMethod(). This will always contain the + original request method in a redirect chain and, more importantly, is the + method that will be used for the request created from the redirect + if it is not overridden. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2010-06-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Removed a one-line method that only had one internal caller. + + * rendering/RenderBlock.h: Removed bidiReorderLine() + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::layoutInlineChildren): Moved the implementation of + bidiReorderLine() inline here. + 2010-06-25 Nate Chapin <japhet@chromium.org> Reviewed by Adam Barth. |