summaryrefslogtreecommitdiffstats
path: root/WebCore/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r--WebCore/ChangeLog6110
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 &nbsp; 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.