12 years ago Reviewed by Tim Hatcher.
darin@apple.com [Sun, 10 Feb 2008 07:00:06 +0000 (07:00 +0000)]
    Reviewed by Tim Hatcher.

        - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window

        * WebView/WebView.mm:
        (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
        garbage collector's Objective C++ support by not initializing a static to an object
        that needs to be marked when running under GC.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30119 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-09 Alp Toker <alp@atoker.com>
alp@webkit.org [Sun, 10 Feb 2008 04:52:46 +0000 (04:52 +0000)]
2008-02-09  Alp Toker  <alp@atoker.com>

        Only syndicate Jan's WebKit posts, not his entire blog.

        * config.ini:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30118 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Sam Weinig.
mitz@apple.com [Sun, 10 Feb 2008 00:16:39 +0000 (00:16 +0000)]
    Reviewed by Sam Weinig.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17259
          Element::recalcStyle() needlessly null-checks the result of styleForElement()

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): Removed unneeded null checks.
        styleForElement() can never return null.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30117 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
hyatt@apple.com [Sat, 9 Feb 2008 23:47:37 +0000 (23:47 +0000)]

        Fix for bug 17254, nth-* selectors do not work with negative coefficients.

        Reviewed by Mitz.


        * css/CSSStyleSelector.cpp:


        Added test for bug 17254.

        Reviewed by Mitz.

        * fast/css/negative-nth-child.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoThe comedy continues. Bungled the rename from Eric's review when doing the backout...
hyatt@apple.com [Sat, 9 Feb 2008 22:56:37 +0000 (22:56 +0000)]
The comedy continues. Bungled the rename from Eric's review when doing the backout of CSSStyleSelector's accidental fix for 17254.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30115 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFollowup to 17203. Missed a directory.
hyatt@apple.com [Sat, 9 Feb 2008 22:54:10 +0000 (22:54 +0000)]
Followup to 17203. Missed a directory.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoBack out accidental change to CSSStyleSelector.cpp.
hyatt@apple.com [Sat, 9 Feb 2008 22:51:34 +0000 (22:51 +0000)]
Back out accidental change to CSSStyleSelector.cpp.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30113 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix for bug 17203, high CPU usage loading HTML5 spec. This patch significant...
hyatt@apple.com [Sat, 9 Feb 2008 22:49:13 +0000 (22:49 +0000)]
    Fix for bug 17203, high CPU usage loading HTML5 spec.  This patch significantly improves the performance
        of CSS3 selectors.

        (1) Split the notion of being affected by positional rules into "forward" and "backward."  The "forward"
        selectors do not need to re-resolve during parsing, since children are appended on the end.  Only the
        "backward" selectors like last-child or nth-last-child have to re-resolve when a close tag is encountered.

        (2) Extend childrenChanged to specify whether the children were changed by the parser or not.  This allows
        Element::childrenChanged to know when the parser is adding children so that it can ignore those adds when

        (3) Make sure all Elements now know whether or not their children are currently parsing.  Backwards selectors
        like last-child will always return false when children are still being parsed.  When an Element finishes
        parsing its children, finishParsingChildren() gets called and will make sure the children re-resolve properly.

        (4) Added a beginParsingChildren method and renamed finishParsing to finishedParsingChildren.

        (5) Eliminated one-off hacks that did the same thing in HTMLObjectElement and HTMLAppletElement.

        (6) Patched many incorrect implementations of finishedParsingChildren that did not properly call into their
        base class (mostly new SVG elements that got added for SVG fonts around the time this became a requirement).

        Reviewed by Eric

        * css/CSSStyleSelector.cpp:
        * dom/Attr.cpp:
        * dom/Attr.h:
        * dom/ContainerNode.cpp:
        * dom/Document.cpp:
        * dom/Document.h:
        * dom/Element.cpp:
        * dom/Element.h:
        * dom/Node.cpp:
        * dom/Node.h:
        * dom/StyledElement.cpp:
        * dom/StyledElement.h:
        * dom/XMLTokenizer.cpp:
        * html/HTMLAppletElement.cpp:
        * html/HTMLAppletElement.h:
        * html/HTMLElementFactory.cpp:
        * html/HTMLGenericFormElement.cpp:
        * html/HTMLGenericFormElement.h:
        * html/HTMLObjectElement.cpp:
        * html/HTMLObjectElement.h:
        * html/HTMLOptGroupElement.cpp:
        * html/HTMLOptGroupElement.h:
        * html/HTMLOptionElement.cpp:
        * html/HTMLOptionElement.h:
        * html/HTMLParser.cpp:
        * html/HTMLScriptElement.cpp:
        * html/HTMLScriptElement.h:
        * html/HTMLSelectElement.cpp:
        * html/HTMLSelectElement.h:
        * html/HTMLStyleElement.cpp:
        * html/HTMLStyleElement.h:
        * html/HTMLTextAreaElement.cpp:
        * html/HTMLTextAreaElement.h:
        * html/HTMLTitleElement.cpp:
        * html/HTMLTitleElement.h:
         * rendering/RenderApplet.cpp:
        * rendering/RenderPartObject.cpp:
        * rendering/RenderStyle.cpp:
        * rendering/RenderStyle.h:
        * svg/SVGAnimationElement.cpp:
        * svg/SVGAnimationElement.h:
        * svg/SVGClipPathElement.cpp:
        * svg/SVGClipPathElement.h:
        * svg/SVGDefinitionSrcElement.cpp:
        * svg/SVGDefinitionSrcElement.h:
        * svg/SVGElement.cpp:
        * svg/SVGElement.h:
        * svg/SVGFontFaceElement.cpp:
        * svg/SVGFontFaceElement.h:
        * svg/SVGFontFaceFormatElement.cpp:
        * svg/SVGFontFaceFormatElement.h:
        * svg/SVGFontFaceSrcElement.cpp:
        * svg/SVGFontFaceSrcElement.h:
        * svg/SVGFontFaceUriElement.cpp:
        * svg/SVGFontFaceUriElement.h:
        * svg/SVGGElement.cpp:
        * svg/SVGGElement.h:
        * svg/SVGGradientElement.cpp:
        * svg/SVGGradientElement.h:
        * svg/SVGMarkerElement.cpp:
        * svg/SVGMarkerElement.h:
        * svg/SVGMaskElement.cpp:
        * svg/SVGMaskElement.h:
        * svg/SVGPatternElement.cpp:
        * svg/SVGPatternElement.h:
        * svg/SVGStyleElement.cpp:
        * svg/SVGStyleElement.h:
        * svg/SVGStyledElement.cpp:
        * svg/SVGStyledElement.h:
        * svg/SVGTitleElement.cpp:
        * svg/SVGTitleElement.h:
        * svg/SVGUseElement.cpp:
        * svg/SVGUseElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30112 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-09 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
zecke@webkit.org [Sat, 9 Feb 2008 22:38:42 +0000 (22:38 +0000)]
2008-02-09  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Unreviewed build fix

        Somehow the removal of adjustSliderThumbSize(RenderObject*) sneaked
        into the patch.

        * platform/qt/RenderThemeQt.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-09 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
zecke@webkit.org [Sat, 9 Feb 2008 22:16:53 +0000 (22:16 +0000)]
2008-02-09  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>

        Reviewed by Adele.

        paintResizeControl is dead, remove the code. This painting
        is done by the RenderLayer.

        * platform/qt/RenderThemeQt.cpp:
        * platform/qt/RenderThemeQt.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30110 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Mitz.
darin@apple.com [Sat, 9 Feb 2008 18:09:42 +0000 (18:09 +0000)]
    Reviewed by Mitz.

        - http://bugs.webkit.org/show_bug.cgi?id=17256
          Change RegExp to start its ref count at 1, not 0

        We'll want to do this to every RefCounted class, one at a time.

        * kjs/nodes.h:
        (KJS::RegExpNode::RegExpNode): Use RegExp::create instead of new RegExp.
        * kjs/regexp.cpp:
        (KJS::RegExp::RegExp): Marked inline, set initial ref count to 1.
        (KJS::RegExp::create): Added. Calls new RegExp then adopts the initial ref.
        * kjs/regexp.h: Reformatted. Made the constructors private. Added static
        create functions that return objects already wrapped in PassRefPtr.
        * kjs/regexp_object.cpp:
        (KJS::regExpProtoFuncCompile): Use RegExp::create instead of new RegExp.
        (KJS::RegExpObjectImp::construct): Ditto.
        * kjs/string_object.cpp:
        (KJS::stringProtoFuncMatch): Ditto.
        (KJS::stringProtoFuncSearch): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoMSVC7 fixes.
kevino@webkit.org [Sat, 9 Feb 2008 08:13:39 +0000 (08:13 +0000)]
MSVC7 fixes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-08 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Sat, 9 Feb 2008 06:47:58 +0000 (06:47 +0000)]
2008-02-08  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Adam Roben.

        Bug 17226: Fix Windows (Cairo) build of image-decoders

        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        * platform/image-decoders/png/PNGImageDecoder.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-08 Alp Toker <alp@atoker.com>
alp@webkit.org [Sat, 9 Feb 2008 05:44:24 +0000 (05:44 +0000)]
2008-02-08  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Maciej.

        Bump autoconf CAIRO_REQUIRED_VERSION up to 1.4.

        * configure.ac:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago<rdar://problem/5731773> REGRESSION (r28973): Extraneous parentheses in function...
oliver@apple.com [Sat, 9 Feb 2008 05:17:06 +0000 (05:17 +0000)]
<rdar://problem/5731773> REGRESSION (r28973): Extraneous parentheses in function.toString()

Reviewed by Maciej

Make a subclass of CommaNode to provide the correct precedence for each expression in
a variable declaration list.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Brady Eidson.
timothy@apple.com [Sat, 9 Feb 2008 04:15:27 +0000 (04:15 +0000)]
    Reviewed by Brady Eidson.

        <rdar://problem/5640896> Removing database then trying
        to recreate it causes trouble

        Added open Database support to DatabaseTracker. So any Database that
        is deleted will be marked as deleted and will fail to open any transaction
        or execute any new SQL queries.

        * storage/Database.cpp:
        (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase.
        (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase.
        (WebCore::Database::markAsDeleted): Set the m_deleted flag.
        (WebCore::Database::version): Return a null String if m_deleted is true.
        * storage/Database.h:
        (WebCore::Database::deleted): Return m_deleted.
        * storage/DatabaseTracker.cpp:
        (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names.
        (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map.
        (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases
          matching the origin/name.
        * storage/DatabaseTracker.h:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database.
        * storage/SQLStatement.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError.
        (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database
          if the Database was marked as deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
darin@apple.com [Sat, 9 Feb 2008 01:13:46 +0000 (01:13 +0000)]

        Reviewed by Oliver.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17247
          Labelled continue/break can fail in some cases

        Test: fast/js/continue-break-multiple-labels.html

        * kjs/nodes.h:
        (KJS::StatementNode::pushLabel): Made this virtual.
        (KJS::LabelNode::pushLabel): Forward pushLabel calls to the statement inside.


        - test for http://bugs.webkit.org/show_bug.cgi?id=17247
          Labelled continue/break can fail in some cases

        * fast/js/continue-break-multiple-labels-expected.txt: Added.
        * fast/js/continue-break-multiple-labels.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
darin@apple.com [Sat, 9 Feb 2008 01:06:23 +0000 (01:06 +0000)]

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15003
          Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)

        Test: fast/js/constructor-attributes.html

        * kjs/JSGlobalObject.cpp:
        (KJS::JSGlobalObject::reset): Remove unwanted attributes from "constructor".
        * kjs/function_object.cpp:
        (KJS::FunctionObjectImp::construct): Ditto.
        * kjs/nodes.cpp:
        (KJS::FuncDeclNode::makeFunction): Ditto.
        (KJS::FuncExprNode::evaluate): Ditto.


        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=15003
          Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)

        Test: fast/js/constructor-attributes.html

        * bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor".


        Reviewed by Eric.

        - test for http://bugs.webkit.org/show_bug.cgi?id=15003
          Function.prototype.constructor should not be DontDelete/ReadOnly (Acid3 bug)

        * fast/js/constructor-attributes-expected.txt: Added.
        * fast/js/constructor-attributes.html: Added.
        * fast/js/resources/constructor-attributes.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
andersca@apple.com [Sat, 9 Feb 2008 00:07:53 +0000 (00:07 +0000)]

        Reviewed by Mitz.

        Crash in FrameLoader::stopLoadingSubframes() on IMDB page

        Store the child frame in a RefPtr to prevent it from being deleted when the
        frame tree changes while calling stopAllLoaders().

        * loader/FrameLoader.cpp:


        Reviewed by Mitz.

        Crash in FrameLoader::stopLoadingSubframes() on IMDB page

        * http/tests/navigation/changing-frame-hierarchy-in-onload-expected.txt: Added.
        * http/tests/navigation/changing-frame-hierarchy-in-onload.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agowx port build fix.
kevino@webkit.org [Fri, 8 Feb 2008 23:35:51 +0000 (23:35 +0000)]
wx port build fix.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoChangeLog entry tweak: crasher affects debug, not release builds
alp@webkit.org [Fri, 8 Feb 2008 23:06:33 +0000 (23:06 +0000)]
ChangeLog entry tweak: crasher affects debug, not release builds

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-08 Alp Toker <alp@atoker.com>
alp@webkit.org [Fri, 8 Feb 2008 23:04:43 +0000 (23:04 +0000)]
2008-02-08  Alp Toker  <alp@atoker.com>

        Reviewed by Adam Roben.

        Avoid null-dereference crasher noticed in the GTK+ port and also
        affecting the Win release build.

        Covered by existing tests.

        * dom/Document.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Adam.
andersca@apple.com [Fri, 8 Feb 2008 22:44:38 +0000 (22:44 +0000)]
    Reviewed by Adam.

        REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer)

        Revert r29926 which caused the regression.

        * dom/Text.cpp:
        * dom/Text.h:
        * html/HTMLParser.cpp:
        * loader/TextDocument.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
weinig@apple.com [Fri, 8 Feb 2008 20:05:24 +0000 (20:05 +0000)]

        Reviewed by Hyatt.

        Fix for <rdar://problem/5732491>
        The querySelectorAll method on an element node does not search only the element's descendants

        Test: fast/dom/SelectorAPI/elementRoot.html

        * dom/Node.cpp:
        (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree.
        * dom/SelectorNodeList.cpp:
        (WebCore::SelectorNodeList::SelectorNodeList): ditto.


        Reviewed by Hyatt.

        Test for <rdar://problem/5732491>
        The querySelectorAll method on an element node does not search only the element's descendants

        * fast/dom/SelectorAPI/elementRoot-expected.txt: Added.
        * fast/dom/SelectorAPI/elementRoot.html: Added.
        * fast/dom/SelectorAPI/resources: Added.
        * fast/dom/SelectorAPI/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
        * fast/dom/SelectorAPI/resources/elementRoot.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix for bug 16798, button should default to type=submit.
hyatt@apple.com [Fri, 8 Feb 2008 19:23:08 +0000 (19:23 +0000)]
    Fix for bug 16798, button should default to type=submit.

        Reviewed by darin

        * html/HTMLButtonElement.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago * perf/slickspeed/config.ini: Fixed version number.
aroben@apple.com [Fri, 8 Feb 2008 16:51:29 +0000 (16:51 +0000)]
    * perf/slickspeed/config.ini: Fixed version number.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Update jQuery to v1.2.3
aroben@apple.com [Fri, 8 Feb 2008 16:47:47 +0000 (16:47 +0000)]
    Update jQuery to v1.2.3

        Rubberstamped by Mitz.

        * perf/slickspeed/config.ini:
        * perf/slickspeed/frameworks/jquery-1.2.3.js: Renamed from WebKitSite/perf/slickspeed/frameworks/jquery-1.2.1.js.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-08 Rodney Dawes <dobey@wayofthemonkey.com>
aroben@apple.com [Fri, 8 Feb 2008 16:24:14 +0000 (16:24 +0000)]
2008-02-08  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Jon Honeycutt.

        Redefine some platform-specific types as cross-platform types
        Add pathGetFileName method to get the filename from a path string
        Add unloadModule method to unload a loadable module from the process
        Implement new methods for GTK+ and Windows
        Implement missing homeDirectoryPath method for GTK+
        Add stub methods for new and missing methods for Wx and Qt

        * platform/FileSystem.h:
        * platform/gtk/FileSystemGtk.cpp:
        * platform/qt/FileSystemQt.cpp:
        * platform/win/FileSystemWin.cpp:
        * platform/wx/FileSystemWx.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Windows build fix after r30088
aroben@apple.com [Fri, 8 Feb 2008 16:08:08 +0000 (16:08 +0000)]
    Windows build fix after r30088

        * bindings/scripts/CodeGeneratorCOM.pm: Touch this to force the COM
        bindings to rebuild.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-08 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
alp@webkit.org [Fri, 8 Feb 2008 10:41:58 +0000 (10:41 +0000)]
2008-02-08  Pierre-Luc Beaudoin  <pierre-luc.beaudoin@collabora.co.uk>

        Reviewed by Alp Toker.

        [Gtk] Webkit strips accents from some dead-key combinations

        KeyEvents have to go through the gtk input method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
darin@apple.com [Fri, 8 Feb 2008 10:35:20 +0000 (10:35 +0000)]

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=3492
          TreeWalker implementation needs to be fixed (affects Acid3)
        - fix http://bugs.webkit.org/show_bug.cgi?id=4714
          NodeIterator does not handle exceptions from the filter function (affects Acid3)
        - fix http://bugs.webkit.org/show_bug.cgi?id=4716
          NodeIterator will crash if the filter function removes the current node from the document

        Test: traversal/exception-forwarding.html

        This turned into a near-rewrite of NodeIterator and TreeWalker.

        * bindings/js/JSNodeFilterCondition.h:
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::takeException): Added.
        (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return
        a JavaScript exception.

        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises
        a JavaScript exception if the out parameter is set.

        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises
        a JavaScript exception if the out parameter is set.
        (WebCore::JSNodeIterator::previousNode): Ditto.

        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises
        a JavaScript exception if the out parameter is set.
        (WebCore::JSTreeWalker::firstChild): Ditto.
        (WebCore::JSTreeWalker::lastChild): Ditto.
        (WebCore::JSTreeWalker::nextSibling): Ditto.
        (WebCore::JSTreeWalker::previousSibling): Ditto.
        (WebCore::JSTreeWalker::previousNode): Ditto.
        (WebCore::JSTreeWalker::nextNode): Ditto.

        * bindings/objc/DOM.mm:
        (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception
        out parameter.
        (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]):
        Use RefPtr to make object lifetimes clearer.
        (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]):

        * bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::createNodeIterator): Changed to use PassRefPtr.
        (WebCore::Document::createTreeWalker): Ditto.

        * dom/NodeFilter.h:
        * dom/NodeFilter.cpp:
        (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr.
        (WebCore::NodeFilter::acceptNode): Added an out parameter to return
        a JavaScript exception.
        * dom/NodeFilter.idl: Custom binding for acceptNode.

        * dom/NodeFilterCondition.h:
        * dom/NodeFilterCondition.cpp:
        (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return
        a JavaScript exception.

        * dom/NodeIterator.cpp:
        (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more.
        Eliminated m_doc, using the root node instead, and unnecessary check for
        null -- rootNode must be non-null and all nodes have a non-null document.
        (WebCore::NodeIterator::~NodeIterator): Changed to get document from root.
        (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the
        acceptNode function could do anything, including removing the last
        reference to the current node. Also folded findNextNode into this function
        since it's the only one that needs to call it.
        (WebCore::NodeIterator::previousNode): Same thing, but the other direction.
        (WebCore::NodeIterator::detach): Changed to use the root node as the indication
        that we're detached rather than a separate boolean.
        (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded
        checks. Removed incorrect use of findNextNode/findPreviousNode -- those
        functions call acceptNode and the DOM standard is quite clear that these
        functions do not take that into account, allowing the current node to become
        one that's not accepted.

        * dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed
        nextNode and previousNode to have an out parameter with a JavaScript exception.
        Removed helper functions setReferenceNode, setPointerBeforeReferenceNode,
        detached, setDetached, document, findNextNode, and findPreviousNode. All were
        unnecessary. Removed data member m_doc which was just rootNode()->document().

        * dom/NodeIterator.idl: Custom binding for nextNode and previousNode.

        * dom/Traversal.cpp:
        (WebCore::Traversal::Traversal): Use PassRefPtr more.
        (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception.
        Also rearranged the function a little bit for clarity.

        * dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript
        exception and made it protected, since it's only for use by the derived classes.

        * dom/TreeWalker.cpp:
        (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr.
        (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted
        the overloaded version since it's not needed.
        (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also
        to implement rules about when to check things like whether we're in the tree.
        The previous fix where we called isDescendantOf was not entirely correct, because
        the specification allows you to walk outside the tree if you get there somehow.
        What it doesn't allow is walking outside the tree from inside. The new
        implementation handles this correctly.
        (WebCore::TreeWalker::firstChild): Ditto.
        (WebCore::TreeWalker::lastChild): Ditto.
        (WebCore::TreeWalker::previousSibling): Ditto.
        (WebCore::TreeWalker::nextSibling): Ditto.
        (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the
        acceptNode function on parents, this can't use traversePreviousNode (more's the
        pity, because it's a bit complicated).
        (WebCore::TreeWalker::nextNode): Ditto.

        * dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr
        more. Changed the navigation functions to have an out parameter with a JavaScript
        exception. Removed helper functions setCurrentNode and ancestorRejected.

        * dom/TreeWalker.idl: Custom binding for navigation functions.


        Reviewed by Eric.

        - test for http://bugs.webkit.org/show_bug.cgi?id=4714
          NodeIterator does not handle exceptions from the filter function (affects Acid3)

        - grabbed NodeIterator and TreeWalker tests from Hixie's site and KHTML

        * traversal/exception-forwarding-expected.txt: Added.
        * traversal/exception-forwarding.html: Added.
        * traversal/resources: Added.
        * traversal/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
        * traversal/resources/exception-forwarding.js: Added.

        * traversal/node-iterator-001-expected.txt: Updated to reflect correct results.
        The old results reflected a bug in our NodeIterator.
        * traversal/node-iterator-001.html: Ditto.

        * traversal/node-iterator-006.html: Changed test so there's no whitespace node after
        the <span> elements inside the test root element (a <div>). The old test results were
        incorrect; the new NodeIterator implementation correctly returned the whitespace node
        for this test.

        * traversal/node-iterator-006a.html: Copied from traversal/node-iterator-006.html.
        Preserve the original test, which now has a strange result. But the result is correct,
        so it's worth keeping around.
        * traversal/node-iterator-006a-expected.txt: Added.

        * fast/dom/TreeWalker/TreeWalker-currentNode-expected.txt: Regenerated.
        * fast/dom/TreeWalker/resources/TreeWalker-currentNode.js: Updated test to expect results
        that match the DOM specification.

        * traversal/hixie-node-iterator/001-expected.txt: Added.
        * traversal/hixie-node-iterator/001.xml: Added.
        * traversal/hixie-node-iterator/002-expected.txt: Added.
        * traversal/hixie-node-iterator/002.xml: Added.
        * traversal/hixie-node-iterator/003-expected.txt: Added.
        * traversal/hixie-node-iterator/003.xml: Added.
        * traversal/hixie-node-iterator/004-expected.txt: Added.
        * traversal/hixie-node-iterator/004.xml: Added.
        * traversal/hixie-node-iterator/005-expected.txt: Added.
        * traversal/hixie-node-iterator/005.xml: Added.
        * traversal/hixie-node-iterator/006-expected.txt: Added.
        * traversal/hixie-node-iterator/006.xml: Added.
        * traversal/hixie-node-iterator/007-expected.txt: Added.
        * traversal/hixie-node-iterator/007.xml: Added.
        * traversal/hixie-node-iterator/008-expected.txt: Added.
        * traversal/hixie-node-iterator/008.xml: Added.
        * traversal/hixie-node-iterator/009-expected.txt: Added.
        * traversal/hixie-node-iterator/009.xml: Added.
        * traversal/hixie-node-iterator/010-expected.txt: Added.
        * traversal/hixie-node-iterator/010.xml: Added.
        * traversal/hixie-node-iterator/origin.txt: Added.

        * traversal/tree-walker-filter-1-expected.txt: Added.
        * traversal/tree-walker-filter-1.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by darin.
eric@webkit.org [Fri, 8 Feb 2008 09:04:22 +0000 (09:04 +0000)]
    Reviewed by darin.

        Add support for Text.wholeText and Text.replaceWholeText

        Test EntityReferences to make sure they're always treated as read-only
        In doing so I discovered a bug in document.adoptNode(readonlyNode) (and fixed it)

        * dom/Document.cpp:
        (WebCore::Document::adoptNode): throw NO_MODIFICATION_ALLOWED_ERR when passed a readonly node
        * dom/Node.cpp:
        * dom/Node.cpp:
        * dom/Text.cpp:
        * dom/Text.h:
        * dom/Text.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoKimmo Kinnunen <kimmok@iki.fi>
oliver@apple.com [Fri, 8 Feb 2008 07:18:39 +0000 (07:18 +0000)]
Kimmo Kinnunen  <kimmok@iki.fi>

Reviewed by Tim Hatcher.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191
HTML5: Client-side database queries should return values of type number
Test: storage/sql-data-types.html

Make the DB queries return a value as a number if it was inserted
as a number to the database.
* platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues
* platform/sql/SQLiteStatement.h:
* storage/SQLStatement.cpp:
(WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
adachan@apple.com [Fri, 8 Feb 2008 06:36:21 +0000 (06:36 +0000)]
    <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
        Added mechanism to communicate client certificate info back to CFNetwork.

        Reviewed by Adam.

        * Interfaces/IWebError.idl: Added new WebURLErrorClientCertificateRequired error.
        * Interfaces/IWebMutableURLRequestPrivate.idl: Added. Added method to set client
        certificate info on the request.
        * WebKit.vcproj/Interfaces.vcproj: Added new idl.
        * WebKit.vcproj/WebKit.vcproj: Link crypt32.lib
        * WebKit.vcproj/WebKitGUID.vcproj:
        * WebMutableURLRequest.cpp:
        (WebMutableURLRequest::QueryInterface): Implements IWebMutableURLRequestPrivate.
        (deallocCertContext): Free certificate context.
        (copyCert): Duplicate the certificate context and returns it in a CFDataRef.
        * WebMutableURLRequest.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
adachan@apple.com [Fri, 8 Feb 2008 06:33:19 +0000 (06:33 +0000)]
    <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
        Added mechanism to communicate client certificate info back to CFNetwork.

        Reviewed by Adam.

        * platform/network/ResourceHandle.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::clientCerts): Keep a mapping of hosts to client certificates.
        (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it
        to CFNetwork by setting it in the SSL properties.
        (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Added 4 new methods:
adachan@apple.com [Fri, 8 Feb 2008 06:29:38 +0000 (06:29 +0000)]
    Added 4 new methods:

        Rubber-stamped by Steve.

        * win/include/WebKitSystemInterface/WebKitSystemInterface.h:
        * win/lib/WebKitSystemInterface.lib:
        * win/lib/WebKitSystemInterface_debug.lib:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Rubber stamped by weinig and bdash.
dsmith@webkit.org [Fri, 8 Feb 2008 06:01:51 +0000 (06:01 +0000)]
    Rubber stamped by weinig and bdash.
        Update prototype.js to to be a bit less unfair in comparative benchmarking.

        * perf/slickspeed/frameworks/prototype.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Qt build fix
aroben@apple.com [Thu, 7 Feb 2008 23:54:51 +0000 (23:54 +0000)]
    Qt build fix

        * platform/SharedBuffer.cpp: Removed a stub implementation of
        createWithContentsOfFile, now that each platform has its own stub.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix Bug 17138: REGRESSION: Node highlight not updated properly
aroben@apple.com [Thu, 7 Feb 2008 23:34:43 +0000 (23:34 +0000)]
    Fix Bug 17138: REGRESSION: Node highlight not updated properly


        Reviewed by Darin.

        No test possible.

        * page/InspectorController.cpp:
        (WebCore::InspectorController::drawNodeHighlight): Update the
        overlayRect after scrolling to make sure that we translate the context
        by the correct amount.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Qt and GTK+ build fixes
aroben@apple.com [Thu, 7 Feb 2008 23:29:54 +0000 (23:29 +0000)]
    Qt and GTK+ build fixes

        * platform/gtk/FileSystemGtk.cpp: Added a missing #include.
        * platform/qt/FileSystemQt.cpp: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Some cleanup of Mac-only user stylesheet code
aroben@apple.com [Thu, 7 Feb 2008 23:19:58 +0000 (23:19 +0000)]
    Some cleanup of Mac-only user stylesheet code

        I moved UserStyleSheetLoader out of Frame.cpp into its own files, and
        moved some Mac-only Frame methods to FrameMac.mm.

        Reviewed by Darin.

        * WebCore.xcodeproj/project.pbxproj: Added new files to project.
        * loader/mac/UserStyleSheetLoader.cpp: Added.
        * loader/mac/UserStyleSheetLoader.h: Added.
        * page/Frame.cpp: Removed setUserStyleSheet[Location]
        * page/mac/FrameMac.mm:
        (WebCore::Frame::setUserStyleSheetLocation): Moved here from
        (WebCore::Frame::setUserStyleSheet): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix <rdar://5555260> GMail never loads when a user stylesheet is specified
aroben@apple.com [Thu, 7 Feb 2008 23:19:31 +0000 (23:19 +0000)]
    Fix <rdar://5555260> GMail never loads when a user stylesheet is specified

        The fix in r29841 did not guarantee that the user stylesheet would not
        still be loading by the time GMail called document.write, and so was
        not a complete fix.

        This change reworks the user stylesheet loading mechanism on non-Mac
        platforms to load the stylesheet synchronously from disk, and then
        keeps it in memory. This obsoletes the issue of what our behavior
        should be before the user stylesheet has loaded and what should happen
        when it finishes loading, as the user stylesheet will always be
        available when the Document first asks for it. Note, however, that
        this removes the ability to specify a non-file: URL for the user
        stylesheet. This change was not made for the Mac platform because it's
        possible that WebKit clients are relying on non-file: URLs for user
        stylesheets. It would also be nice to move back to an asynchronous
        loading model someday, but that is not currently possible since we
        don't have an asynchronous loading mechanism that is not tied to a
        particular Frame.

        The responsibility of loading and storing the user stylesheet has
        moved from Frame to Page, since the user stylesheet URL is set on the
        Page-level Settings object.

        Reviewed by Darin.

        * dom/Document.cpp:
        (WebCore::Document::Document): Changed to call userStyleSheet().
        (WebCore::Document::setUserStyleSheet): Made Mac-only.
        (WebCore::Document::userStyleSheet): Changed to call up to Page on
        non-Mac platforms.
        (WebCore::Document::recalcStyleSelector): Changed to call
        * dom/Document.h:
            - Made setUserStyleSheet and the m_usersheet member Mac-only
            - Changed userStyleSheet to return a String instance instead of a
              String reference, since we now might return a new null String.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin): Made the call to
        Frame::setUserStyleSheetLocation Mac-only.
        * page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only.
        (WebCore::Frame::~Frame): Ditto.
        (WebCore::Frame::reapplyStyles): Made the call to
        setUserStyleSheet[Location] Mac-only. On non-Mac platforms the
        Document will pick up the new stylesheet in Document::reapplyStyles.
        (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader
        * page/Frame.h: Made setUserStyleSheet[Location] Mac-only.
        * page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only.
        * page/Page.cpp:
        (WebCore::Page::Page): Initialize new members.
        (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on
        Mac. On non-Mac, resets all members relating to the user stylesheet so
        we'll know to load it again the next time it's asked for.
        (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if
        the user stylesheet location has changed since the last time we loaded
        it, or if the file has been modified since we last loaded it, then
        returns the contents of the user stylesheet as a String.
        * page/Page.h: Added new methods/members.
        * page/Settings.cpp:
        (WebCore::Settings::setUserStyleSheetLocation): Changed to call
        * page/Settings.h: Changed userStyleSheetLocation to return the KURL
        by reference instead of making a copy.
        * platform/FileSystem.h: Added declaration for getFileModificationTime.
        * platform/KURL.h: Added declaration for fileSystemPath method.
        * platform/cf/KURLCFNet.cpp:
        (WebCore::KURL::fileSystemPath): Added.
        * platform/posix/FileSystemPOSIX.cpp:
        (WebCore::getFileModificationTime): Added.
        * platform/qt/KURLQt.cpp:
        (WebCore::KURL::fileSystemPath): Stubbed out.
        * platform/win/FileSystemWin.cpp:
        (WebCore::getFileModificationTime): Added.
        * platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime.
        * platform/gtk/FileSystemGtk.cpp: Ditto.
        * platform/wx/FileSystemWx.cpp: Ditto.
        * platform/qt/TemporaryLinkStubs.cpp: Stubbed out
        * platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with
        * platform/wx/TemporaryLinkStubs.cpp: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Clean up FileSystemWin.cpp
aroben@apple.com [Thu, 7 Feb 2008 23:18:45 +0000 (23:18 +0000)]
     Clean up FileSystemWin.cpp

         This cleanup also makes us call _wstat64 instead of _wstat32i64. The
         only difference between these two functions is that _wstat64 gives
         64-bit time values, while _wstat32i64 only gives 32-bit time values.

         Reviewed by Darin.

         All tests pass.

         * platform/win/FileSystemWin.cpp:
         (WebCore::statFile): New static helper that wraps _wstat64.
         (WebCore::fileSize): Changed to call statFile.
         (WebCore::fileExists): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Rename fileSize to getFileSize
aroben@apple.com [Thu, 7 Feb 2008 23:18:27 +0000 (23:18 +0000)]
    Rename fileSize to getFileSize

        Rubberstamped by Darin.

        * platform/FileSystem.h:
        * platform/gtk/FileSystemGtk.cpp:
        * platform/network/cf/FormDataStreamCFNet.cpp:
        * platform/network/curl/ResourceHandleManager.cpp:
        * platform/posix/FileSystemPOSIX.cpp:
        * platform/qt/FileSystemQt.cpp:
        * platform/win/FileSystemWin.cpp:
        * platform/wx/FileSystemWx.cpp:
        * storage/Database.cpp:
        * storage/DatabaseTracker.cpp:
        * storage/OriginUsageRecord.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Make KURL::isLocalFile treat the URL's protocol case-insensitively
aroben@apple.com [Thu, 7 Feb 2008 23:17:37 +0000 (23:17 +0000)]
     Make KURL::isLocalFile treat the URL's protocol case-insensitively

         Reviewed by Darin.

         * platform/KURL.cpp:
         (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Sam.
eric@webkit.org [Thu, 7 Feb 2008 22:10:10 +0000 (22:10 +0000)]
    Reviewed by Sam.

        * sunspider: add an error message when ./tests/LIST is not found

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Rubber stamped by Mark Rowe
dsmith@webkit.org [Thu, 7 Feb 2008 21:32:02 +0000 (21:32 +0000)]
    Rubber stamped by Mark Rowe
        Fix a duplicate selector in the test.

        * perf/slickspeed/selectors.list:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Adam Roben.
dsmith@webkit.org [Thu, 7 Feb 2008 21:19:42 +0000 (21:19 +0000)]
    Reviewed by Adam Roben.
        Added :nth-child and :last-child to the list of selectors to test.

        * perf/slickspeed/selectors.list:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agogit-svn-id: https://svn.webkit.org/repository/webkit/trunk@30070 268f45cc-cd09-0410...
hyatt@apple.com [Thu, 7 Feb 2008 20:14:58 +0000 (20:14 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix for bug 6248, implement the nth-* CSS3 selectors. Patch based on origina...
hyatt@apple.com [Thu, 7 Feb 2008 20:13:24 +0000 (20:13 +0000)]
    Fix for bug 6248, implement the nth-* CSS3 selectors.  Patch based on original KHTML work from Allan Jensen
        and improved upon by Nick Shanks.

        Reviewed by Eric

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        * css/CSSSelector.cpp:
        * css/CSSSelector.h:
        * css/CSSStyleSelector.cpp:
        * css/tokenizer.flex:
        * rendering/RenderStyle.cpp:
        * rendering/RenderStyle.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix error in bisect-builds when responding "broken" for the first build
aroben@apple.com [Thu, 7 Feb 2008 19:08:21 +0000 (19:08 +0000)]
     Fix error in bisect-builds when responding "broken" for the first build

         Reviewed by Dave Kilzer.

         * Scripts/bisect-builds: Only try to test the build if the nightly
         info for the current index has not been deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
mitz@apple.com [Thu, 7 Feb 2008 17:01:34 +0000 (17:01 +0000)]

        Reviewed by Dave Hyatt.

        - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice

        Test: fast/block/float/relative-painted-twice.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverhangingFloats): Added another case where
        the child should not take over painting the float: when they do not have
        the same enclosing layer. In that case, the float is already being
        painted by one of its closer ancestors.


        Reviewed by Dave Hyatt.

        - test for <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice

        * fast/block/float/relative-painted-twice.html: Added.
        * platform/mac-leopard/fast/block/float/relative-painted-twice-expected.checksum: Added.
        * platform/mac-leopard/fast/block/float/relative-painted-twice-expected.png: Added.
        * platform/mac/fast/block/float/relative-painted-twice-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
mitz@apple.com [Thu, 7 Feb 2008 16:59:08 +0000 (16:59 +0000)]

        Reviewed by Darin Adler.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17194
          Changing text to bold changes font family

        Test: platform/mac/fast/text/family-for-font-matched-by-name.html

        * platform/mac/WebFontCache.mm:
        (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use
        the family of the font whose name matches the desired family if there
        is no exact family match.


        Reviewed by Darin Adler.

        - test for http://bugs.webkit.org/show_bug.cgi?id=17194
          Changing text to bold changes font family

        * platform/mac/fast/text/family-for-font-matched-by-name-expected.checksum: Added.
        * platform/mac/fast/text/family-for-font-matched-by-name-expected.png: Added.
        * platform/mac/fast/text/family-for-font-matched-by-name-expected.txt: Added.
        * platform/mac/fast/text/family-for-font-matched-by-name.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
bdakin@apple.com [Thu, 7 Feb 2008 15:06:52 +0000 (15:06 +0000)]

        Reviewed by Geoff.

        Fix for <rdar://problem/5697882> Traffic or Street View button on
        Google Maps is sometimes not positioned correctly (17000)

        On the Mac, timers fire in the order that they are registered.
        Geoff and I discovered that this is not necessarily true on
        Windows, and that turned out to be the cause of this intermittent
        layout problem at Google Maps. This patch adds a new member
        variable to Timer to remember the timer's insertion point into the
        heap. Now when comparing timers, if two timers were registered at
        the same time, their insertion orders are compared to determine
        which should fire first. This code actually never runs on Debug
        builds on the Mac; the system clock on the Mac is accurate enough
        that it knows that the two timers were not registered at *exactly*
        the same time. This is not the case on Windows. In theory, if we
        sped up Javascript enough on the Mac, this code would run and would
        prevent misrenderings such as the one found on Google Maps.

        * platform/Timer.cpp:
        * platform/Timer.h:


        Test written by Geoff, reviewed by me.

        Test for <rdar://problem/5697882> Traffic or Street View button on
        Google Maps is sometimes not positioned correctly (17000)

        * fast/dom/simultaneouslyRegsiteredTimerFireOrder-expected.txt: Added.
        * fast/dom/simultaneouslyRegsiteredTimerFireOrder.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Alexey Proskuryakov.
ggaren@apple.com [Thu, 7 Feb 2008 13:59:23 +0000 (13:59 +0000)]
    Reviewed by Alexey Proskuryakov.

        Fixed two minor typos in the --root option, to get it working.

        * Scripts/run-sunspider:
            1. Actually assign the function argument to our local variable.
            2. Actually set the $root variable, so we don't try to build later.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRubber stamped by Eric.
zimmermann@webkit.org [Thu, 7 Feb 2008 10:08:52 +0000 (10:08 +0000)]
Rubber stamped by Eric.

Move existing SVG baseline from platform/mac/ to platform/mac-tiger/ (I generated all of them using Tiger).
Regenerated new SVG baseline in platform/mac-leopard. platform/mac/svg is doesn't contain any test results anymore.

In a later step it should be investigated, which layout test results can be shared between Leopard & Tiger.
Those results should be moved to platform/mac/svg then.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
justin.garcia@apple.com [Thu, 7 Feb 2008 07:17:23 +0000 (07:17 +0000)]

        Reviewed by Darin Adler.

        <rdar://problem/5195056> Huge plain text pastes are slow

        This was fixed in r27369 and then r29367 and r29667 caused performance to

        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply): Only updateLayout() for high level commands.
        (WebCore::EditCommand::unapply): Ditto.
        (WebCore::EditCommand::reapply): Ditto.
        * editing/Editor.cpp:
        (WebCore::Editor::appliedEditing): Added a note about shouldChangeSelection calls
        that shouldn't be made, a bug I filed as <rdar://problem/5729315>.
        (WebCore::Editor::unappliedEditing): Ditto.
        (WebCore::Editor::reappliedEditing): Ditto.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::nodeWillBeRemoved): Don't try to test the selection
        base and extent with the expensive isCandidate operation if the node that will
        be removed is in a fragment, since such a removal is guaranteed to have no effect
        on a selection.  This is to speed up the paste operation, which does many removes from
        a fragment.


        Reviewed by Darin Adler.

        <rdar://problem/5195056> Huge plain text pastes are slow

        The changes made for this fix exposed several more cases of:
        <rdar://problem/5729315> Some shouldChangeSelectedDOMRange contain Ranges for selections that are no longer valid

        * platform/mac/editing/deleting/collapse-whitespace-3587601-fix-expected.txt:
        * platform/mac/editing/deleting/delete-3608462-fix-expected.txt:
        * platform/mac/editing/deleting/delete-4083333-fix-expected.txt:
        * platform/mac/editing/execCommand/find-after-replace-expected.txt:
        * platform/mac/editing/selection/move-between-blocks-no-001-expected.txt:
        * platform/mac/editing/selection/replace-selection-1-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Landing updated (improved) results for this test. The results changed in...
ap@webkit.org [Thu, 7 Feb 2008 06:16:22 +0000 (06:16 +0000)]
    Landing updated (improved) results for this test. The results changed in r30013,
        but this wasn't immediately noticed because of the test being on Leopard skipped list.

        Interestingly, js-test-pre.js has a workaround for the issue fixed in this revision in
        its debug() function, but not in description(). Keeping the workaround for now to let tests
        keep running in shipping Safari/WebKit.

        * svg/css/glyph-orientation-rounding-test-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoSwitch from directly handling wx scroll wheel events to handling the PlatformWheelEve...
kevino@webkit.org [Thu, 7 Feb 2008 04:12:36 +0000 (04:12 +0000)]
Switch from directly handling wx scroll wheel events to handling the PlatformWheelEvent instead to give JS, etc. a chance to handle it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-06 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Thu, 7 Feb 2008 04:00:59 +0000 (04:00 +0000)]
2008-02-06  Mark Rowe  <mrowe@apple.com>

        Fix Windows builds.

        * WebCore.vcproj/WebCore.vcproj: Unbreak the XML of the project file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoMac build fix. Track rename that happened in r30056.
mrowe@apple.com [Thu, 7 Feb 2008 02:40:06 +0000 (02:40 +0000)]
Mac build fix.  Track rename that happened in r30056.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30058 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix expected output for layout tests to match tiger expected (and so work on the...
oliver@apple.com [Thu, 7 Feb 2008 02:00:29 +0000 (02:00 +0000)]
Fix expected output for layout tests to match tiger expected (and so work on the build bots)


git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-06 Brent Fulgham <bfulgham@gmail.com>
mrowe@apple.com [Thu, 7 Feb 2008 01:52:05 +0000 (01:52 +0000)]
2008-02-06  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Adam Roben.

        Conditionalize CoreGraphics vs Cairo support in Windows port.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30056 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin.
andersca@apple.com [Thu, 7 Feb 2008 01:36:44 +0000 (01:36 +0000)]
    Reviewed by Darin.

        Change httpBodyFromStream to take the request instead of the stream.

        * platform/network/cf/FormDataStreamCFNet.cpp:
        * platform/network/cf/FormDataStreamCFNet.h:
        * platform/network/cf/ResourceRequestCFNet.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin.
kmccullough@apple.com [Thu, 7 Feb 2008 01:24:23 +0000 (01:24 +0000)]
    Reviewed by Darin.

        - Added manual tests for <rdar://problem/5556374> REGRESSION: cross-domain error when
        one URL uses an explicit port number and another doesn't

        * manual-tests/Default-port-frame.html: Added.
        * manual-tests/resources/Default-port-frame-contents.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30054 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUpdate build flags to fix windows build
oliver@apple.com [Wed, 6 Feb 2008 22:23:25 +0000 (22:23 +0000)]
Update build flags to fix windows build

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30053 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
kmccullough@apple.com [Wed, 6 Feb 2008 22:03:08 +0000 (22:03 +0000)]

        Rubberstamped by Darin.

        <rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta
        - Reverted the change that caused the regression.

        * dom/Document.cpp:
        * dom/Document.idl:


        Rubberstamped by Darin.

        <rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta
        - Reverted the change that caused the regression.

        * dom/xhtml/level3/core/documentsetstricterrorchecking02-expected.txt:
        * fast/dom/Document/createAttributeNS-namespace-err-expected.txt: Removed.
        * fast/dom/Document/createAttributeNS-namespace-err.html: Removed.
        * fast/dom/Document/createElementNS-namespace-err-expected.txt: Removed.
        * fast/dom/Document/createElementNS-namespace-err.html: Removed.
        * fast/dom/Document/resources/TEMPLATE.html: Removed.
        * fast/dom/Document/resources/createAttributeNS-namespace-err.js: Removed.
        * fast/dom/Document/resources/createElementNS-namespace-err.js: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30052 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Oliver Hunt.
ggaren@apple.com [Wed, 6 Feb 2008 21:46:41 +0000 (21:46 +0000)]
    Reviewed by Oliver Hunt.

        Added an ASSERT to catch refCount underflow, since it caused a leak in
        my last check-in.

        * wtf/RefCounted.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30051 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Oliver Hunt.
ggaren@apple.com [Wed, 6 Feb 2008 21:24:19 +0000 (21:24 +0000)]
    Reviewed by Oliver Hunt.

        Fixed <rdar://problem/5728081> REGRESSION: Many leaks on buildbot

        The problem was refCount underflow in NamedAttrMap.

        Neither our regression tests nor the stress test have yet discovered
        another instance of this problem.

        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::addAttribute): Changed to use PassRefPtr,
        for fast and correct refCount management. Also, change a rediculously
        slow malloc to a slightly less rediculously slow realloc.

        * dom/NamedAttrMap.h:
        (WebCore::NamedAttrMap::insertAttribute): Changed to use PassRefPtr,
        for fast and correct refCount management.

        * html/HTMLTokenizer.cpp:
        (WebCore::Token::addAttribute): Use a RefPtr, to guarantee that the
        object starts with a refCount of 1.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30050 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoFix typo in comment added in r30047.
mrowe@apple.com [Wed, 6 Feb 2008 21:21:09 +0000 (21:21 +0000)]
Fix typo in comment added in r30047.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoDump of bugs.webkit.org's Bugzilla instance.
timothy@apple.com [Wed, 6 Feb 2008 20:19:16 +0000 (20:19 +0000)]
Dump of bugs.webkit.org's Bugzilla instance.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30048 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Tim Hatcher.
darin@apple.com [Wed, 6 Feb 2008 19:29:57 +0000 (19:29 +0000)]
    Reviewed by Tim Hatcher.

        - fix <rdar://problem/5723293> NULL-deref crash in PropertyMap::put opening web inspector
          with View Source window as target

        * page/InspectorController.cpp:
        (WebCore::canPassNodeToJavaScript): Added. Returns false if the node is in a document with
        JavaScript disabled.
        (WebCore::InspectorController::inspect): Check canPassNodeToJavaScript and do nothing if
        it returns false.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30047 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemove bad layout test.:
hyatt@apple.com [Wed, 6 Feb 2008 19:27:37 +0000 (19:27 +0000)]
Remove bad layout test.:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30046 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRemove bad layout test.:
hyatt@apple.com [Wed, 6 Feb 2008 19:26:57 +0000 (19:26 +0000)]
Remove bad layout test.:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30045 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Fix for bug 16799, object elements should return absolute URLs from .data.
hyatt@apple.com [Wed, 6 Feb 2008 19:26:14 +0000 (19:26 +0000)]
    Fix for bug 16799, object elements should return absolute URLs from .data.

        Reviewed by Mark Rowe

        * dom/Document.cpp:
        * html/HTMLAnchorElement.cpp:
        * html/HTMLObjectElement.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30044 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin.
antti@apple.com [Wed, 6 Feb 2008 18:17:12 +0000 (18:17 +0000)]
    Reviewed by Darin.

        <video autoplay controls> left in unplayable state if navigated away, then back to, before video finished loading

        When moving document in and out from the page cache:
        - Cancel incomplete load by deleting the media player. This guarantees everything is in consistent state.
        - Restart the load if it was aborted in the middle.

        * html/HTMLMediaElement.cpp:
        * html/HTMLMediaElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30043 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Reviewed by Darin Adler.
ggaren@apple.com [Wed, 6 Feb 2008 17:53:53 +0000 (17:53 +0000)]
    Reviewed by Darin Adler.

        PLT speedup related to <rdar://problem/5659272> REGRESSION: PLT .4%
        slower due to r28884 (global variable symbol table optimization)

        Tweaked RefCounted::deref() to be a little more efficient.

        1% - 1.5% speedup on my machine. .7% speedup on Stephanie's machine.

        * wtf/RefCounted.h:
        (WTF::RefCounted::deref): Don't modify m_refCount if we're just going
        to delete the object anyway. Also, use a simple == test, which might be
        faster than <= on some hardware.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
darin@apple.com [Wed, 6 Feb 2008 17:40:16 +0000 (17:40 +0000)]

        Reviewed by Sam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17094
          Array.prototype functions create length properties with DontEnum/DontDelete

        Test results match Gecko with very few obscure exceptions that seem to be
        bugs in Gecko.

        Test: fast/js/array-functions-non-arrays.html

        * kjs/array_object.cpp:
        (KJS::arrayProtoFuncConcat):  Removed DontEnum and DontDelete from the call
        to set length.
        (KJS::arrayProtoFuncPop): Ditto. Also added missing call to deleteProperty,
        which is not needed for real arrays, but is needed for non-arrays.
        (KJS::arrayProtoFuncPush): Ditto.
        (KJS::arrayProtoFuncShift): Ditto.
        (KJS::arrayProtoFuncSlice): Ditto.
        (KJS::arrayProtoFuncSort): Removed incorrect call to set length when
        the array has no elements.
        (KJS::arrayProtoFuncSplice): Removed DontEnum and DontDelete from the call
        to set length.
        (KJS::arrayProtoFuncUnShift): Ditto. Also added a check for 0 arguments to
        make behavior match the specification in that case.
        * kjs/nodes.cpp:
        (KJS::ArrayNode::evaluate): Removed DontEnum and DontDelete from the call
        to set length.


        Reviewed by Sam.

        - tests for http://bugs.webkit.org/show_bug.cgi?id=17094
          Array.prototype functions create length attributes with DontEnum/DontDelete

        * fast/js/array-functions-non-arrays-expected.txt: Added.
        * fast/js/array-functions-non-arrays.html: Added.
        * fast/js/resources/array-functions-non-arrays.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30041 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
darin@apple.com [Wed, 6 Feb 2008 17:33:07 +0000 (17:33 +0000)]

        Reviewed by Sam.

        - replace calls to put to set up properties with calls to putDirect, to
          prepare for a future change where put won't take attributes any more,
          and for a slight performance boost

        * API/JSObjectRef.cpp:
        (JSObjectMakeConstructor): Use putDirect instead of put.
        * kjs/CommonIdentifiers.h: Removed lastIndex.
        * kjs/JSGlobalObject.cpp:
        (KJS::JSGlobalObject::reset): Use putDirect instead of put.
        * kjs/array_object.cpp:
        (KJS::arrayProtoFuncConcat): Took out extra call to get length (unused).
        (KJS::ArrayObjectImp::ArrayObjectImp): Use putDirect instead of put.
        * kjs/error_object.cpp:
        (KJS::ErrorPrototype::ErrorPrototype): Use putDirect instead of put.
        * kjs/function.cpp:
        (KJS::Arguments::Arguments): Use putDirect instead of put.
        (KJS::PrototypeFunction::PrototypeFunction): Use putDirect instead of put.
        * kjs/function_object.cpp:
        (KJS::FunctionObjectImp::construct): Use putDirect instead of put.
        * kjs/nodes.cpp:
        (KJS::FuncDeclNode::makeFunction): Use putDirect instead of put.
        (KJS::FuncExprNode::evaluate): Use putDirect instead of put.
        * kjs/regexp_object.cpp:
        (KJS::regExpProtoFuncCompile): Use setLastIndex instead of put(lastIndex).
        (KJS::RegExpImp::match): Get and set lastIndex by using m_lastIndex instead of
        calling get and put.
        * kjs/regexp_object.h:
        (KJS::RegExpImp::setLastIndex): Added.
        * kjs/string_object.cpp:
        (KJS::stringProtoFuncMatch): Use setLastIndex instead of put(lastIndex).


        Reviewed by Sam.

        - replace calls to put to set up properties with calls to putDirect, to
          prepare for a future change where put won't take attributes any more,
          and for a slight performance boost

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put.
        * bindings/js/JSEventTargetBase.h:
        (WebCore::JSEventTargetPrototype::self): Ditto.
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30040 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
mitz@apple.com [Wed, 6 Feb 2008 16:01:09 +0000 (16:01 +0000)]

        Reviewed by Darin Adler.

        - fix http://bugs.webkit.org/show_bug.cgi?17093
        'border-color' does not animate to the value of 'color' when unspecified

        Test: fast/css/transition-color-unspecified.html

        * page/AnimationController.cpp:
        (WebCore::ImplicitAnimation::animate): Changed to use the value of the
        'color' property in the source or destination style as the source or
        destination value of properties whose inital value is defined to be the
        computed value of 'color'.


        Reviewed by Darin Adler.

        - test for http://bugs.webkit.org/show_bug.cgi?17093
        'border-color' does not animate to the value of 'color' when unspecified

        * fast/css/transition-color-unspecified.html: Added.
        * platform/mac/fast/css/transition-color-unspecified-expected.checksum: Added.
        * platform/mac/fast/css/transition-color-unspecified-expected.png: Added.
        * platform/mac/fast/css/transition-color-unspecified-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30039 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Build fix.
mitz@apple.com [Wed, 6 Feb 2008 15:46:15 +0000 (15:46 +0000)]
    Build fix.

        * svg/svgtags.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30038 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoBuild fix -- touch generate-bindings to trigger regeneration of bindings
oliver@apple.com [Wed, 6 Feb 2008 07:08:43 +0000 (07:08 +0000)]
Build fix -- touch generate-bindings to trigger regeneration of bindings

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30037 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoAdded the svn:mime-type property to PNGs that did not have it.
mitz@apple.com [Wed, 6 Feb 2008 06:18:39 +0000 (06:18 +0000)]
Added the svn:mime-type property to PNGs that did not have it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30036 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoRS=Eric.
oliver@apple.com [Wed, 6 Feb 2008 06:01:38 +0000 (06:01 +0000)]

Re-enable foreignObject by default as it is needed for a number of
non-fO related SVG tests and none of the old known crashes occur

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30035 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoJavaScriptCore:
weinig@apple.com [Wed, 6 Feb 2008 04:36:31 +0000 (04:36 +0000)]

        Reviewed by Anders Carlsson.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8080
        NodeList (and other DOM lists) items are not enumeratable using for..in

        * JavaScriptCore.exp:


        Reviewed by Anders Carlsson.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=8080
        NodeList (and other DOM lists) items are not enumeratable using for..in

        - Match Firefox when enumerating DOM interfaces with indexGetters (support for
          the array bracket, nodeList[0], notation) by including all the items in the
          list before the attributes and methods of the interface.

        Test: fast/dom/domListEnumeration.html

        * ForwardingHeaders/kjs/PropertyNameArray.h: Added.
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customGetPropertyNames): Use the new custom method model.
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::customGetPropertyNames): ditto.
        * bindings/scripts/CodeGeneratorJS.pm: Instead of just adding a declaration of
        getProperyNames and implementing the method in the Custom.cpp, move to a the
        model used by generated getOwnPropertySlot() and put() where the custom code
        is written in a separate customGetPropertyNames which returns a bool indicating
        whether to call up to the base class.  This enables adding the list indexes
        to the PropertyNameArray for interfaces with indexGetters automatically.


        Reviewed by Anders Carlsson.

        Test for http://bugs.webkit.org/show_bug.cgi?id=8080
        NodeList (and other DOM lists) items are not enumeratable using for..in

        * fast/dom/domListEnumeration-expected.txt: Added.
        * fast/dom/domListEnumeration.html: Added.
        * fast/dom/resources/domListEnumeration.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Oliver.
zimmermann@webkit.org [Wed, 6 Feb 2008 02:13:41 +0000 (02:13 +0000)]
Reviewed by Oliver.
Add new dynamic update tests, for SVGClipPathElement.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30033 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
weinig@apple.com [Wed, 6 Feb 2008 01:29:31 +0000 (01:29 +0000)]

        Reviewed by Darin Adler.

        Fix for <rdar://problem/5726604>
        dom-checker: deleting properties of the window object cross-domain should not be allowed

        Fix flaw found while testing with dom-checker testing tool (http://code.google.com/p/dom-checker/).

        Test: http/tests/security/cross-frame-access-delete.html

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::deleteProperty): Override deleteProperty to not delete cross-domain.
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::deleteProperty): ditto.
        * bindings/js/JSLocation.cpp:
        (WebCore::JSLocation::deleteProperty): ditto.
        * bindings/js/JSLocation.h:

        * bindings/scripts/CodeGeneratorJS.pm: Add deleteProperty declaration when CustomDeleteProperty is used.
        * page/DOMWindow.idl: Add CustomDeleteProperty extended attribute.
        * page/History.idl: ditto.


        Reviewed by Darin Adler.

        Test for <rdar://problem/5726604>
        dom-checker: deleting properties of the window object cross-domain should not be allowed

        * http/tests/security/cross-frame-access-delete-expected.txt: Added.
        * http/tests/security/cross-frame-access-delete.html: Added.
        * http/tests/security/resources/cross-frame-iframe-for-delete-test.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30032 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-05 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Wed, 6 Feb 2008 01:24:10 +0000 (01:24 +0000)]
2008-02-05  Mark Rowe  <mrowe@apple.com>

        Reviewed by Alp Toker.

        Fix warnings seen on the Gtk port by declaring variables and using constants of the correct types.

        * webkit/webkitwebbackforwardlist.cpp:
        * webkit/webkitwebhistoryitem.cpp:
        * webkit/webkitwebview.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30031 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago Build fix. Don't override intermediate directory.
sfalken@apple.com [Wed, 6 Feb 2008 01:16:57 +0000 (01:16 +0000)]
    Build fix.  Don't override intermediate directory.

        * Drosera/win/Drosera.vcproj/Drosera.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30030 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-05 Alp Toker <alp@atoker.com>
alp@webkit.org [Wed, 6 Feb 2008 00:57:46 +0000 (00:57 +0000)]
2008-02-05  Alp Toker  <alp@atoker.com>

        Rubber-stamped by Mark Rowe.

        Fix a "missing sentinel in function call" warning by using NULL
        instead of 0.

        * platform/gtk/RenderThemeGtk.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30029 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Oliver.
zimmermann@webkit.org [Tue, 5 Feb 2008 23:09:47 +0000 (23:09 +0000)]
Reviewed by Oliver.
Fix dynamic updates of <circle> element's properties.

Added tests: svg/dynamic-updates/SVGCircleElement*

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30028 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWx build fix. Add WebCore/plugins to the include path.
mrowe@apple.com [Tue, 5 Feb 2008 22:31:31 +0000 (22:31 +0000)]
Wx build fix.  Add WebCore/plugins to the include path.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30027 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoBuild fix for Windows. willCloseFrame is a pure virtual and we are
zecke@webkit.org [Tue, 5 Feb 2008 22:28:35 +0000 (22:28 +0000)]
Build fix for Windows. willCloseFrame is a pure virtual and we are
forced to have an implementation.

This partially reverts r30014.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30026 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-02-05 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Tue, 5 Feb 2008 22:23:29 +0000 (22:23 +0000)]
2008-02-05  Mark Rowe  <mrowe@apple.com>

        Mac build fix.  Update the Xcode project to follow a moved file,
        and track a rename in two files that were missed earlier.

        * WebCore.xcodeproj/project.pbxproj:
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge canProvideDocumentSource]):
        * platform/mac/PlugInInfoStoreMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoForgot to mention bug
zimmermann@webkit.org [Tue, 5 Feb 2008 21:57:27 +0000 (21:57 +0000)]
Forgot to mention bug

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30022 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoReviewed by Holger.
zimmermann@webkit.org [Tue, 5 Feb 2008 21:56:28 +0000 (21:56 +0000)]
Reviewed by Holger.

Fix dynamic SVG DOM updates of <a> element's href property.

This commit also introduces a new SVG Tests framework: LayoutTests/svg/dynamic-updates
Its purpose is to provide dynamic updating tests for each SVG class & property, aka.
one test per property per class. As a first pass it's sufficient to add testcases for all
SVG*Element classes, and their properties - and only common-used base-class properties.

For SVGAElement - for example - it makes most sense to test scripting its parent
SVGURIReference object ('href' property) and its own property 'target'.

Adding tests to see - for example - if SVGAElement reacts on changes on ie. its parent
SVGExternalResourcesRequired interface, should really be done in a second pass.

All tests within the new framework are supposed to be created using make-js-tests-wrappers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30021 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoUnreviewed build fix. Add missing #import.
mrowe@apple.com [Tue, 5 Feb 2008 21:54:27 +0000 (21:54 +0000)]
Unreviewed build fix.  Add missing #import.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30020 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
justin.garcia@apple.com [Tue, 5 Feb 2008 21:51:29 +0000 (21:51 +0000)]

        Reviewed by Alexey Proskuryakov.

        <rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317)

        * editing/CompositeEditCommand.cpp:
        (WebCore::createBlockPlaceholderElement): The khtml-block-placeholder class was needed
        when the editing code actively looked for <br>s of that type in order to handle them
        specially.  That is no longer the case.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Fixed a bug where an extra block
        would be inserted when hitting return inside an editable root held open by a placeholder
        <br> or '\n'.  Added test cases for the bug and for the special case code that was incorrectly
        triggered to cause the bug.


        Reviewed by Alexey Proskuryakov.

        <rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317)

        * editing/inserting/5685601-1-expected.txt: Added.
        * editing/inserting/5685601-1.html: Added.
        * editing/inserting/5685601-2-expected.txt: Added.
        * editing/inserting/5685601-2.html: Added.
        * editing/inserting/5685601-3-expected.txt: Added.
        * editing/inserting/5685601-3.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30016 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago 2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com>
mrowe@apple.com [Tue, 5 Feb 2008 21:46:46 +0000 (21:46 +0000)]
 2008-02-05  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Anders Carlsson.

        Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
        Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.

        Remove the Win suffix on several plugin-related classes that will
        soon be refactored to be more portable.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30015 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebKitTools/
zecke@webkit.org [Tue, 5 Feb 2008 20:47:31 +0000 (20:47 +0000)]
2008-02-05  Holger Freyther  <zecke@selfish.org>

        Reviewed by Darin.

        In http://bugs.webkit.org/show_bug.cgi?id=16853 it was identified that the
        the output of the willCloseFrame and didClearWindowObject FrameLoadDelegate
        depends on the order the tests are executed.

        Propose to remove willCloseFrame and didlCearWindowObject output from the
        FrameLoadDelegate and update the test results. The output of didClearWindowObject
        is not interesting for any of the current tests and we have other ways to find
        out if a frame was closed or not.

        * DumpRenderTree/mac/FrameLoadDelegate.mm:
        * DumpRenderTree/win/FrameLoadDelegate.cpp:
        * DumpRenderTree/win/FrameLoadDelegate.h:

2008-02-05  Holger Freyther  <zecke@selfish.org>

        Reviewed by Darin.

        In http://bugs.webkit.org/show_bug.cgi?id=16853 it was identified that the
        the output of the willCloseFrame and didClearWindowObject FrameLoadDelegate
        depends on the order the tests are executed.

        Propose to remove willCloseFrame and didlCearWindowObject output from the
        FrameLoadDelegate and update the test results. The output of didClearWindowObject
        is not interesting for any of the current tests and we have other ways to find
        out if a frame was closed or not.

        * http/tests/loading/bad-scheme-subframe-expected.txt:
        * http/tests/loading/bad-server-subframe-expected.txt:
        * http/tests/loading/basic-expected.txt:
        * http/tests/loading/empty-subframe-expected.txt:
        * http/tests/loading/gmail-assert-on-load-expected.txt:
        * http/tests/loading/onload-vs-immediate-refresh-expected.txt:
        * http/tests/loading/slow-parsing-subframe-expected.txt:
        * platform/mac/http/tests/loading/simple-subframe-expected.txt:
        * webarchive/loading/test-loading-archive-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30014 268f45cc-cd09-0410-ab3c-d52691b4dbfc