WebKit-https.git
12 years agoClass name changes for SVG Light Effect files.
oliver@apple.com [Tue, 1 Jul 2008 11:10:45 +0000 (11:10 +0000)]
Class name changes for SVG Light Effect files.

Reviewed by Nikolas Zimmermann.

The class names that changed :

SVGLightSource -> LightSource
SVGDistantLightSource -> DistantLightSource
SVGPointLightSource -> PointLightSource
SVGSpotLightSource -> SpotLightSource

Every other file that is changed is just propagating the class name changes to
dependent files.

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

12 years ago2008-07-01 Alp Toker <alp@nuanti.com>
alp@webkit.org [Tue, 1 Jul 2008 08:39:30 +0000 (08:39 +0000)]
2008-07-01  Alp Toker  <alp@nuanti.com>

        Rubber-stamped by Holger.

        autotools cleanup: move some GTK+-specific sources from libwebcore to
        libwebcoregtk.

        * GNUmakefile.am:

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

12 years ago Reviewed by Oliver Hunt.
mitz@apple.com [Tue, 1 Jul 2008 08:19:03 +0000 (08:19 +0000)]
    Reviewed by Oliver Hunt.

        - fix the non-SVG build

        * css/CSSValueKeywords.in: Added 'all'.
        * css/SVGCSSValueKeywords.in: Removed 'all'.

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

12 years ago2008-07-01 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Tue, 1 Jul 2008 07:09:23 +0000 (07:09 +0000)]
2008-07-01  Geoffrey Garen  <ggaren@apple.com>

        Build fix: forgot to check in this file.

        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::WebScriptDebugger):

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

12 years agoBuild fixes, include OwnPtr.h and DateInstance.h
hausmann@webkit.org [Tue, 1 Jul 2008 07:07:06 +0000 (07:07 +0000)]
Build fixes, include OwnPtr.h and DateInstance.h

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

12 years ago2008-06-30 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Tue, 1 Jul 2008 07:01:51 +0000 (07:01 +0000)]
2008-06-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Fixed a global object leak caused by the switch to one register file.

        Don't unconditionally mark the register file, since that logically
        makes all global variables GC roots, even when their global object is
        no longer reachable.

        Instead, make the global object associated with the register file
        responsible for marking the register file.

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

12 years ago2008-06-30 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Tue, 1 Jul 2008 05:45:21 +0000 (05:45 +0000)]
2008-06-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Removed the "registerBase" abstraction. Since the register file never
        reallocates, we can keep direct pointers into it, instead of
        <registerBase, offset> tuples.

        SunSpider says 0.8% faster.

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

12 years agoWebCore:
adele@apple.com [Tue, 1 Jul 2008 02:49:31 +0000 (02:49 +0000)]
WebCore:

2008-06-30  Adele Peterson  <adele@apple.com>

        Reviewed by Oliver.

        Fix for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing

        Test: fast/forms/search-hidden-cancel-button.html

        * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
          Don't start capturing mouse events if the cancel button isn't visible.  This was causing the button to start but never stop capturing mouse events.

LayoutTests:

2008-06-30  Adele Peterson  <adele@apple.com>

        Reviewed by Oliver.

        Test for <rdar://problem/5882050> clicking in hidden close box area of empty searchfield causes mousedown to stop firing

        * fast/forms/search-hidden-cancel-button-expected.txt: Added.
        * fast/forms/search-hidden-cancel-button.html: Added.

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

12 years agoFix build by adding all (hopefully) the missing includes.
oliver@apple.com [Tue, 1 Jul 2008 02:21:51 +0000 (02:21 +0000)]
Fix build by adding all (hopefully) the missing includes.

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

12 years ago2008-06-30 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Tue, 1 Jul 2008 01:56:16 +0000 (01:56 +0000)]
2008-06-30  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver.

        Bug 19830: REGRESSION (r34883): Google Reader doesn't show up feed list on sidebar
        <https://bugs.webkit.org/show_bug.cgi?id=19830>

        Ensure that we do not eliminate a write to a local register when doing
        peephole optimizations.

        JavaScriptCore:

        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::emitJumpIfTrue):
        (KJS::CodeGenerator::emitJumpIfFalse):

        LayoutTests:

        * fast/js/codegen-peephole-locals-expected.txt: Added.
        * fast/js/codegen-peephole-locals.html: Added.
        * fast/js/resources/codegen-peephole-locals.js: Added.

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

12 years agoFixing * placement
adele@apple.com [Tue, 1 Jul 2008 01:18:32 +0000 (01:18 +0000)]
Fixing * placement

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

12 years agoJavaScriptCore:
weinig@apple.com [Tue, 1 Jul 2008 01:11:22 +0000 (01:11 +0000)]
JavaScriptCore:

2008-06-30  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Alder.

        Split InternalFunction into its own header file.

        * API/JSCallbackFunction.h:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * kjs/ArrayConstructor.h:
        * kjs/BooleanConstructor.h:
        * kjs/DateConstructor.h:
        * kjs/ErrorConstructor.h:
        * kjs/FunctionConstructor.h:
        * kjs/FunctionPrototype.h:
        * kjs/InternalFunction.h: Copied from kjs/JSFunction.h.
        * kjs/JSFunction.h:
        * kjs/NativeErrorConstructor.h:
        * kjs/NumberConstructor.h:
        * kjs/ObjectConstructor.h:
        * kjs/RegExpConstructor.h:
        * kjs/StringConstructor.h:
        * profiler/Profiler.cpp:

WebCore:

2008-06-30  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Adler.

        Split InternalFunction into its own header file.

        * ForwardingHeaders/kjs/InternalFunction.h: Added.
        * bridge/runtime_method.h:

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

12 years agoWebCore:
adele@apple.com [Tue, 1 Jul 2008 00:47:01 +0000 (00:47 +0000)]
WebCore:

2008-06-30  Adele Peterson  <adele@apple.com>

        Reviewed by Anders.

        Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas

        Test: editing/selection/select-all-textarea.html

        * dom/Node.cpp:
        (WebCore::Node::shadowAncestorNode): Break out code to find the root of the shadow tree into a new helper function.
        (WebCore::Node::shadowTreeRootNode): Added helper function.
        * dom/Node.h:
        * dom/Range.cpp: (WebCore::Range::shadowTreeRootNode): Added helper function.
        * dom/Range.h:
        * editing/Selection.cpp: (WebCore::Selection::shadowTreeRootNode): ditto.
        * editing/Selection.h:
        * editing/SelectionController.h: (WebCore::SelectionController::shadowTreeRootNode): ditto.
        * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll):
        If the selection is in a shadow tree, only select the contents of that shadow tree, not the whole document.
        * page/Frame.cpp:
        (WebCore::Frame::findString): Use the new shadowTreeRootNode helper functions.
        (WebCore::Frame::markAllMatchesForText): ditto.

LayoutTests:

2008-06-30  Adele Peterson  <adele@apple.com>

        Reviewed by Anders.

        Test for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas

        * editing/selection/select-all-textarea-expected.txt: Added.
        * editing/selection/select-all-textarea.html: Added.

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

12 years ago<rdar://problem/4180780> Add attribute to get all the radio buttons in a set
cfleizach@apple.com [Mon, 30 Jun 2008 23:05:44 +0000 (23:05 +0000)]
<rdar://problem/4180780> Add attribute to get all the radio buttons in a set

Adds ability for radio buttons to return an array of the other radio buttons in its radio group.
Updates DumpRenderTree to support the linked ui elements attribute

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

12 years ago2008-06-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 30 Jun 2008 22:52:55 +0000 (22:52 +0000)]
2008-06-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Kevin McCullough.

        Remove empty files Instruction.cpp, LabelID.cpp, Register.cpp and RegisterID.cpp.

        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * VM/Instruction.cpp: Removed.
        * VM/LabelID.cpp: Removed.
        * VM/Register.cpp: Removed.
        * VM/RegisterID.cpp: Removed.

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

12 years ago2008-06-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 30 Jun 2008 22:43:07 +0000 (22:43 +0000)]
2008-06-30  Sam Weinig  <sam@webkit.org>

        Rubber-stamped (reluctantly) by Kevin McCullough.

        Rename date_object.h/cpp to DateInstance.h/cpp

        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * kjs/AllInOneFile.cpp:
        * kjs/DateConstructor.cpp:
        * kjs/DateInstance.cpp: Copied from kjs/date_object.cpp.
        * kjs/DateInstance.h: Copied from kjs/date_object.h.
        * kjs/DatePrototype.cpp:
        * kjs/DatePrototype.h:
        * kjs/date_object.cpp: Removed.
        * kjs/date_object.h: Removed.

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

12 years agoWebCore:
mitz@apple.com [Mon, 30 Jun 2008 22:10:08 +0000 (22:10 +0000)]
WebCore:

        Reviewed by Adele Peterson.

        - WebCore part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari

        * WebCore.base.exp: Removed Editor::setBaseWritingDirection() and added
        Frame::setSelectionBaseWritingDirection().
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
        call Frame::setSelectionBaseWritingDirection().
        * page/Frame.cpp:
        (WebCore::Frame::setSelectionBaseWritingDirection): Added. If the
        focused node is a text field or text area, changes its 'dir' attribute.
        This is what IE does when the user changes the writing direction in a
        text control. Otherwise, calls down to Editor::setBaseWritingDirection().
        * page/Frame.h:

WebKit/mac:

        Reviewed by Adele Peterson.

        - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
        WebCore::Frame::setSelectionBaseWritingDirection() instead of
        WebCore::Editor::setBaseWritingDirection().
        (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
        (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.

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

12 years ago Improve HTMLObjectElement data encapsulation
ddkilzer@apple.com [Mon, 30 Jun 2008 21:12:55 +0000 (21:12 +0000)]
    Improve HTMLObjectElement data encapsulation

        Reviewed by Dave Hyatt.

        HTMLObjectElement has some public member variables that should be
        private with accessor methods.

        No test cases added since there is no change in behavior.

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::HTMLObjectElement): Reorder
        initialization of member variables to match defined order in header.
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::classId): Added.
        (WebCore::HTMLObjectElement::url): Added.
        (WebCore::HTMLObjectElement::serviceType): Added.
        * rendering/RenderPartObject.cpp:
        (WebCore::RenderPartObject::updateWidget): Use new accessor methods
        in HTMLObjectElement now that its member variables are private.

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

12 years ago Reviewed by Anders Carlsson.
mitz@apple.com [Mon, 30 Jun 2008 21:09:14 +0000 (21:09 +0000)]
    Reviewed by Anders Carlsson.

        - remove unused member variable

        * page/Page.h: Removed Page::m_focusedNode.

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

12 years ago2008-06-30 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 30 Jun 2008 20:52:03 +0000 (20:52 +0000)]
2008-06-30  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Adler.

        Remove internal.cpp and move its contents to there own .cpp files.

        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * kjs/AllInOneFile.cpp:
        * kjs/GetterSetter.cpp: Copied from kjs/internal.cpp.
        * kjs/InternalFunction.cpp: Copied from kjs/internal.cpp.
        * kjs/JSNumberCell.cpp: Copied from kjs/internal.cpp.
        * kjs/JSString.cpp: Copied from kjs/internal.cpp.
        * kjs/JSString.h:
        * kjs/LabelStack.cpp: Copied from kjs/internal.cpp.
        * kjs/NumberConstructor.cpp:
        * kjs/NumberObject.cpp:
        (KJS::constructNumber):
        (KJS::constructNumberFromImmediateNumber):
        * kjs/internal.cpp: Removed.

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

12 years ago2008-06-30 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 30 Jun 2008 17:00:41 +0000 (17:00 +0000)]
2008-06-30  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        <rdar://problem/6014209>
        Crash when loading manifest from application cache fails

        There is no need to set any handles to 0 after calling cacheUpdateFailed(), since
        that is done inside the function. Furthermore, after calling cacheUpdateFailed() the cache
        group could be deleted causing us to access freed memory and then crashing.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didFail):
        (WebCore::ApplicationCacheGroup::didFailToLoadManifest):

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

12 years agoFix <rdar://5954749> Assertion failure due to HashTable's use of operator&
aroben@apple.com [Mon, 30 Jun 2008 15:58:27 +0000 (15:58 +0000)]
Fix <rdar://5954749> Assertion failure due to HashTable's use of operator&

JavaScriptCore:

        Fix <rdar://5954749> Assertion failure due to HashTable's use of
        operator&

        HashTable was passing &value to constructDeletedValue, which in
        classes like WebCore::COMPtr would cause an assertion. We now pass
        value by reference instead of by address so that the HashTraits
        implementations have more flexibility in constructing the deleted
        value.

        Reviewed by Ada Chan.

        * VM/CodeGenerator.h: Updated for changes to HashTraits.
        * wtf/HashTable.h:
        (WTF::::deleteBucket): Changed to pass bucket by reference instead of
        by address.
        (WTF::::checkKey): Ditto.
        * wtf/HashTraits.h:
        (WTF::): Updated HashTraits for HashTable change.

WebCore:

        Fix <rdar://5954749> Assertion failure due to HashTable's use of
        operator&

        Reviewed by Ada Chan.

        * bindings/js/JSSVGPODTypeWrapper.h:
        * dom/Document.h:
        * dom/StyledElement.cpp:
        * platform/graphics/FontCache.cpp:
        * platform/graphics/IntSizeHash.h:
        (WTF::):
        * platform/text/StringHash.h:
        * platform/win/COMPtr.h:
        * svg/SVGAnimatedTemplate.h:
        Updated all custom HashTraits for HashTable changes.

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

12 years agoVersioning.
mrowe@apple.com [Mon, 30 Jun 2008 15:10:17 +0000 (15:10 +0000)]
Versioning.

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

12 years ago2008-06-30 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 30 Jun 2008 11:37:43 +0000 (11:37 +0000)]
2008-06-30  Simon Hausmann  <hausmann@webkit.org>

        Rubber-stamped by Niko.

        Removed the obsolete and unmaintained WebKitPart. The integration of
        QtWebKit into KDE is now done in the webkitkde component inside KDE.

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

12 years agoReviewed by Antti.
zimmermann@webkit.org [Mon, 30 Jun 2008 11:28:54 +0000 (11:28 +0000)]
Reviewed by Antti.

Fix all existing tests in svg/dynamic-updates to actually reflect repainting changes, by
removing the timing dependency. Instead model them like frame-getSVGDocument.html by
not including the <script src="js-test-post.js"> element within the TEMPLATE.html but
by dynamically injecting it, if the test actually finished.

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

12 years ago Reviewed by Cameron Zwarich.
ap@webkit.org [Mon, 30 Jun 2008 11:21:43 +0000 (11:21 +0000)]
    Reviewed by Cameron Zwarich.

        Make RegisterFile really unmap memory on destruction.

        This fixes run-webkit-tests --threaded, which ran out of address space in a few seconds.

        * VM/RegisterFile.cpp: (KJS::RegisterFile::~RegisterFile): Unmap all the memory, not just
        1/4 of it.

        * kjs/JSGlobalObject.h: Don't include RegisterFile.h, so that changes to it don't make
        half of WebCore rebuild.

        * VM/Machine.h: Don't forward declare RegisterFile, as RegisterFile.h is included already.

        * VM/RegisterFile.h: (KJS::RegisterFile::RegisterFile): Assert that the allocation succeeded.

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

12 years ago2008-06-30 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Mon, 30 Jun 2008 09:38:46 +0000 (09:38 +0000)]
2008-06-30  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Rubber-stamped by Oliver.

        Correct the documentation for op_put_by_index.

        * VM/Machine.cpp:
        (KJS::Machine::privateExecute):

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

12 years ago2008-06-30 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Mon, 30 Jun 2008 08:09:28 +0000 (08:09 +0000)]
2008-06-30  Simon Hausmann  <hausmann@webkit.org>

        Fix the Qt build.

        Added missing includes and changed getItem array calls to use get()
        instead.

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

12 years ago2008-06-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Mon, 30 Jun 2008 06:17:01 +0000 (06:17 +0000)]
2008-06-29  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver.

        Bug 19821: Merge the instruction pair (less, jfalse)
        <https://bugs.webkit.org/show_bug.cgi?id=19821>

        This is a 2.4% win on SunSpider. I needed to add an ALWAYS_INLINE
        intrinisc to CodeGenerator::rewindBinaryOp() to avoid a massive
        regression in regexp-dna.

        * VM/CodeBlock.cpp:
        (KJS::CodeBlock::dump):
        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::rewindBinaryOp):
        (KJS::CodeGenerator::emitJumpIfFalse):
        * VM/Machine.cpp:
        (KJS::Machine::privateExecute):
        * VM/Opcode.cpp:
        (KJS::):
        * VM/Opcode.h:

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

12 years ago2008-06-29 David Smith <catfish.man@gmail.com>
dsmith@webkit.org [Mon, 30 Jun 2008 02:07:37 +0000 (02:07 +0000)]
2008-06-29  David Smith  <catfish.man@gmail.com>

        Rubberstamped by Sam Weinig.

        Change a redundant node->isElement() check to an ASSERT for a 1.3% speedup on getElementsByTagName.

        * dom/TagNodeList.cpp:
        (WebCore::TagNodeList::nodeMatches):

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

12 years ago Reviewed by Darin Adler.
mitz@apple.com [Mon, 30 Jun 2008 01:41:41 +0000 (01:41 +0000)]
    Reviewed by Darin Adler.

        - fix SVG layout test regressions

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Made this function work
        again with primitive values, because the @font-face rules SVG fonts
        create still use a single primitive value rather than a value list.

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

12 years ago2008-06-29 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Mon, 30 Jun 2008 00:58:11 +0000 (00:58 +0000)]
2008-06-29  Dan Bernstein  <mitz@apple.com>

        - add a missing file from the last check-in

        * fast/css/resources/font-face-descriptor-multiple-values-parsing.js: Added.

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

12 years agoWebCore:
mitz@apple.com [Mon, 30 Jun 2008 00:31:32 +0000 (00:31 +0000)]
WebCore:

        Reviewed by Sam Weinig.

        - fix <rdar://problem/5734440> Specifying a font-weight for @font-face not working

        Tests: fast/css/font-face-descriptor-multiple-values-parsing.html
               fast/css/font-face-descriptor-multiple-values.html

        * css/CSSFontSelector.cpp:
        (WebCore::CSSFontSelector::addFontFaceRule): Changed to work with value
        lists for the descriptor properties.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::CSSParser): Initialize m_hasFontFaceOnlyValues.
        (WebCore::CSSParser::parseValue): Added a call to
        deleteFontFaceOnlyValues() if necessary.
        (WebCore::CSSParser::parseDeclaration): Ditto.
        (WebCore::CSSParser::clearProperties): Added code to reset
        m_hasFontFaceOnlyValues to false.
        (WebCore::CSSParser::parseFontStyle): Added. If there is a single
        valid identifier other than 'all', creates a CSSPrimitiveValue and
        assigns it to the property. If 'all' is the only value, or if there are
        multiple valid identifiers that are not 'all', creates a CSSValueList
        and assigns it to the property, and sets m_hasFontFaceOnlyValues to
        true.
        (WebCore::CSSParser::parseFontVariant): Ditto.
        (WebCore::CSSParser::parseFontWeight): Ditto.
        (WebCore::CSSParser::createStyleRule): Added a call to
        deleteFontFaceOnlyValues().
        (WebCore::CSSParser::createFontFaceRule): Added code to change
        font descriptor properties that had only one value, and therefore were
        assigned a CSSPrimitiveValue, into CSSValueLists containing that value.
        (WebCore::CSSParser::deleteFontFaceOnlyValues): Added. Retroactively
        invalidates font descriptor properties that had values that are only
        allowed in @font-face. Those are identified by having CSSValueLists
        rather than CSSPrimitiveValues as their values.
        * css/CSSParser.h: Added m_hasFontFaceOnlyValues, a flag that says that
        font descriptor property values that are only valid in @font-face were
        encountered. This is used when the style declaration is created (and we
        finally know if it is @font-face or not) to delete invalid properties
        if needed.

LayoutTests:

        Reviewed by Sam Weinig.

        - tests for <rdar://problem/5734440> Specifying a font-weight for @font-face not working

        * fast/css/font-face-descriptor-multiple-values-parsing-expected.txt: Added.
        * fast/css/font-face-descriptor-multiple-values-parsing.html: Added.
        * fast/css/font-face-descriptor-multiple-values.html: Added.
        * platform/mac/fast/css/font-face-descriptor-multiple-values-expected.checksum: Added.
        * platform/mac/fast/css/font-face-descriptor-multiple-values-expected.png: Added.
        * platform/mac/fast/css/font-face-descriptor-multiple-values-expected.txt: Added.

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

12 years ago2008-06-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 29 Jun 2008 22:22:32 +0000 (22:22 +0000)]
2008-06-29  Sam Weinig  <sam@webkit.org>

        Fix non-AllInOne builds.

        * kjs/JSObject.cpp:
        * kjs/JSValue.cpp:

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

12 years ago2008-06-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 29 Jun 2008 22:18:38 +0000 (22:18 +0000)]
2008-06-29  Sam Weinig  <sam@webkit.org>

        Build fix for Qt.

        * kjs/DateMath.cpp:
        * kjs/DatePrototype.cpp:

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

12 years ago2008-06-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 29 Jun 2008 22:14:57 +0000 (22:14 +0000)]
2008-06-29  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Cameron Zwarich.

        Splits ErrorConstructor, ErrorPrototype,  NativeErrorConstructor and
        NativeErrorPrototype out of error_object.h/cpp and renames it ErrorInstance.

        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * kjs/AllInOneFile.cpp:
        * kjs/ArrayConstructor.cpp:
        * kjs/ArrayPrototype.cpp:
        * kjs/BooleanPrototype.cpp:
        * kjs/DatePrototype.cpp:
        * kjs/ErrorConstructor.cpp: Copied from kjs/error_object.cpp.
        * kjs/ErrorConstructor.h: Copied from kjs/error_object.h.
        * kjs/ErrorInstance.cpp: Copied from kjs/error_object.cpp.
        * kjs/ErrorInstance.h: Copied from kjs/error_object.h.
        * kjs/ErrorPrototype.cpp: Copied from kjs/error_object.cpp.
        * kjs/ErrorPrototype.h: Copied from kjs/error_object.h.
        * kjs/JSGlobalObject.cpp:
        * kjs/JSObject.cpp:
        * kjs/JSValue.cpp:
        * kjs/NativeErrorConstructor.cpp: Copied from kjs/error_object.cpp.
        * kjs/NativeErrorConstructor.h: Copied from kjs/error_object.h.
        * kjs/NativeErrorPrototype.cpp: Copied from kjs/error_object.cpp.
        * kjs/NativeErrorPrototype.h: Copied from kjs/error_object.h.
        * kjs/NumberPrototype.cpp:
        * kjs/RegExpConstructor.cpp:
        * kjs/RegExpObject.cpp:
        * kjs/RegExpPrototype.cpp:
        * kjs/StringPrototype.cpp:
        * kjs/error_object.cpp: Removed.
        * kjs/error_object.h: Removed.
        * kjs/internal.cpp:

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

12 years ago2008-06-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 29 Jun 2008 20:25:04 +0000 (20:25 +0000)]
2008-06-29  Sam Weinig  <sam@webkit.org>

        Fix Tiger build.

        * DumpRenderTree/mac/EventSendingController.mm:
        (eventTypeForMouseButtonAndAction):

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

12 years ago2008-06-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 29 Jun 2008 20:21:04 +0000 (20:21 +0000)]
2008-06-29  Sam Weinig  <sam@webkit.org>

        Fix non-AllInOne build.

        * kjs/DateConstructor.cpp:
        * kjs/DateMath.cpp:
        * kjs/JSObject.cpp:

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

12 years ago2008-06-29 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 29 Jun 2008 19:53:42 +0000 (19:53 +0000)]
2008-06-29  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Oliver Hunt.

        Splits DateConstructor and DatePrototype out of date_object.h/cpp
        Moves shared Date code into DateMath.

        * DerivedSources.make:
        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * kjs/AllInOneFile.cpp:
        * kjs/DateConstructor.cpp: Copied from kjs/date_object.cpp.
        * kjs/DateConstructor.h: Copied from kjs/date_object.h.
        * kjs/DateMath.cpp:
        (KJS::ymdhmsToSeconds):
        (KJS::):
        (KJS::skipSpacesAndComments):
        (KJS::findMonth):
        (KJS::parseDate):
        (KJS::timeClip):
        (KJS::formatDate):
        (KJS::formatDateUTCVariant):
        (KJS::formatTime):
        * kjs/DateMath.h:
        (KJS::gmtoffset):
        * kjs/DatePrototype.cpp: Copied from kjs/date_object.cpp.
        * kjs/DatePrototype.h: Copied from kjs/date_object.h.
        * kjs/JSGlobalObject.cpp:
        * kjs/JSObject.cpp:
        * kjs/date_object.cpp:
        * kjs/date_object.h:
        * kjs/internal.cpp:

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

12 years ago Reviewed by darin.
eric@webkit.org [Sun, 29 Jun 2008 19:24:59 +0000 (19:24 +0000)]
    Reviewed by darin.

        Add multi-button mouseevent support to DRT
        https://bugs.webkit.org/show_bug.cgi?id=15173

        It's now possible to specify the mouse button with:
        eventSender.mouseDown(1); eventSender.mouseUp(1); etc.

        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
        * DumpRenderTree/mac/EventSendingController.h:
        * DumpRenderTree/mac/EventSendingController.mm:
        (+[EventSendingController isSelectorExcludedFromWebScript:]):
        (+[EventSendingController webScriptNameForSelector:]):
        (eventTypeForMouseButtonAndAction):
        (-[EventSendingController updateClickCountForButton:]):
        (-[EventSendingController mouseDown:]):
        (-[EventSendingController mouseUp:]):
        (-[EventSendingController mouseMoveToX:Y:]):
        (-[EventSendingController contextClick]):

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

12 years ago2008-06-29 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Sun, 29 Jun 2008 08:19:00 +0000 (08:19 +0000)]
2008-06-29  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Rubber-stamped by Cameron Zwarich

        Fix Gtk non-AllInOne build

        * GNUmakefile.am: include JSVariableObject.cpp
        * kjs/RegExpConstructor.cpp: include RegExpObject.h
        * kjs/RegExpObject.h: forward declare RegExpPrototype

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

12 years ago2008-06-28 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 29 Jun 2008 05:56:53 +0000 (05:56 +0000)]
2008-06-28  Darin Adler  <darin@apple.com>

        - fix build

        * WebView/WebView.mm:
        (aeDescFromJSValue): Use get instead of getItem, which no longer exists.

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

12 years agoJavaScriptCore:
darin@apple.com [Sun, 29 Jun 2008 05:38:37 +0000 (05:38 +0000)]
JavaScriptCore:

2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Sam and Cameron.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19805
          Array.concat turns missing array elements into "undefined"

        Test: fast/js/array-holes.html

        * JavaScriptCore.exp: No longer export JSArray::getItem.

        * kjs/ArrayPrototype.cpp:
        (KJS::arrayProtoFuncConcat): Changed to use getProperty instead of
        JSArray::getItem -- need to handle properties from the prototype chain
        instead of ignoring them.

        * kjs/JSArray.cpp: Removed getItem.
        * kjs/JSArray.h: Ditto.

WebCore:

2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Sam and Cameron.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19805
          Array.concat turns missing array elements into "undefined"

        * bridge/jni/jni_utility.cpp:
        (KJS::Bindings::convertArrayInstanceToJavaArray):
        Use get instead of getItem, since we always want to consider values from the
        prototypes when looking at JavaScript arrays.

LayoutTests:

2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Sam and Cameron.

        - test for https://bugs.webkit.org/show_bug.cgi?id=19805
          Array.concat turns missing array elements into "undefined"

        * fast/js/array-holes-expected.txt: Added.
        * fast/js/array-holes.html: Added.
        * fast/js/resources/array-holes.js: Added.

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

12 years ago2008-06-28 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 29 Jun 2008 03:56:04 +0000 (03:56 +0000)]
2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Cameron.

        - https://bugs.webkit.org/show_bug.cgi?id=19804
          optimize access to arrays without "holes"

        SunSpider says 1.8% faster.

        * kjs/JSArray.cpp:
        (KJS::JSArray::JSArray): Initialize m_fastAccessCutoff when creating
        arrays. Also updated for new location of m_vectorLength.
        (KJS::JSArray::getItem): Updated for new location of m_vectorLength.
        (KJS::JSArray::getSlowCase): Added. Broke out the non-hot parts of
        getOwnPropertySlot to make the hot part faster.
        (KJS::JSArray::getOwnPropertySlot): Added a new faster case for
        indices lower than m_fastAccessCutoff. We can do theese with no
        additional checks or branches.
        (KJS::JSArray::put): Added a new faster case for indices lower than
        m_fastAccessCutoff. We can do theese with no additional checks or
        branches. Moved the maxArrayIndex handling out of this function.
        Added code to set m_fastAccessCutoff when the very last hole in
        an array is filled; this is how the cutoff gets set for most arrays.
        (KJS::JSArray::putSlowCase): Moved the rest of the put function logic
        in here, to make the hot part of the put function faster.
        (KJS::JSArray::deleteProperty): Added code to lower m_fastAccessCutoff
        when a delete makes a new hole in the array.
        (KJS::JSArray::getPropertyNames): Updated for new location of
        m_vectorLength.
        (KJS::JSArray::increaseVectorLength): Ditto.
        (KJS::JSArray::setLength): Added code to lower m_fastAccessCutoff
        when setLength makes the array smaller.
        (KJS::JSArray::mark): Updated for new location of m_vectorLength.
        (KJS::JSArray::sort): Ditto. Set m_fastAccessCutoff after moving
        all the holes to the end of the array.
        (KJS::JSArray::compactForSorting): Ditto.
        (KJS::JSArray::checkConsistency): Added consistency checks fro
        m_fastAccessCutoff and updated for the new location of m_vectorLength.

        * kjs/JSArray.h: Added declarations for slow case functions.
        Replaced m_vectorLength with m_fastAccessCutoff.

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

12 years ago2008-06-28 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Sun, 29 Jun 2008 02:33:36 +0000 (02:33 +0000)]
2008-06-28  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Sam.

        When executing a native call, check for an exception before writing the
        return value.

        JavaScriptCore:

        * VM/Machine.cpp:
        (KJS::Machine::privateExecute):

        LayoutTests:

        * fast/js/exception-sequencing-expected.txt:
        * fast/js/exception-sequencing.html:

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

12 years ago2008-06-28 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Sun, 29 Jun 2008 02:21:44 +0000 (02:21 +0000)]
2008-06-28  Mark Rowe  <mrowe@apple.com>

        Build fix.  Flag headers as private or public as is appropriate.
        These settings were accidentally removed during some project file cleanup.

        * JavaScriptCore.xcodeproj/project.pbxproj:

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

12 years ago Reviewed by Darin Adler.
mitz@apple.com [Sun, 29 Jun 2008 00:44:18 +0000 (00:44 +0000)]
    Reviewed by Darin Adler.

        - allow document markers to touch or overlap if they are not of the same type

        Cannot be tested in DumpRenderTree

        * dom/Document.cpp:
        (WebCore::Document::addMarker):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintDocumentMarkers):

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

12 years ago2008-06-28 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sun, 29 Jun 2008 00:09:26 +0000 (00:09 +0000)]
2008-06-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Adler.

        Splits RegExpConstructor and RegExpPrototype out of RegExpObject.h/cpp

        * DerivedSources.make:
        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * VM/Machine.cpp:
        * kjs/AllInOneFile.cpp:
        * kjs/JSGlobalObject.cpp:
        * kjs/RegExpConstructor.cpp: Copied from kjs/RegExpObject.cpp.
        * kjs/RegExpConstructor.h: Copied from kjs/RegExpObject.h.
        * kjs/RegExpObject.cpp:
        * kjs/RegExpObject.h:
        * kjs/RegExpPrototype.cpp: Copied from kjs/RegExpObject.cpp.
        * kjs/RegExpPrototype.h: Copied from kjs/RegExpObject.h.
        * kjs/StringPrototype.cpp:
        * kjs/internal.cpp:

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

12 years ago2008-06-28 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 28 Jun 2008 23:44:15 +0000 (23:44 +0000)]
2008-06-28  Sam Weinig  <sam@webkit.org>

        Fix non-AllInOne builds.

        * kjs/StringConstructor.cpp:

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

12 years agoJavaScriptCore:
weinig@apple.com [Sat, 28 Jun 2008 23:30:55 +0000 (23:30 +0000)]
JavaScriptCore:

2008-06-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Adler.

        Rename string_object.h/cpp to StringObject.h/cpp and split out StringObjectThatMasqueradesAsUndefined,
        StringConstructor and StringPrototype.

        * DerivedSources.make:
        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * kjs/AllInOneFile.cpp:
        * kjs/JSGlobalObject.cpp:
        * kjs/StringConstructor.cpp: Copied from JavaScriptCore/kjs/string_object.cpp.
        * kjs/StringConstructor.h: Copied from JavaScriptCore/kjs/string_object.h.
        * kjs/StringObject.cpp: Copied from JavaScriptCore/kjs/string_object.cpp.
        * kjs/StringObject.h: Copied from JavaScriptCore/kjs/string_object.h.
        * kjs/StringObjectThatMasqueradesAsUndefined.h: Copied from JavaScriptCore/kjs/string_object.h.
        * kjs/StringPrototype.cpp: Copied from JavaScriptCore/kjs/string_object.cpp.
        * kjs/StringPrototype.h: Copied from JavaScriptCore/kjs/string_object.h.
        * kjs/internal.cpp:
        * kjs/string_object.cpp: Removed.
        * kjs/string_object.h: Removed.

WebCore:

2008-06-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Adler.

        Update includes after remaming string_object.h to StringObject.h and
        splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
        and StringPrototype.

        * ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
        * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
        * ForwardingHeaders/kjs/StringPrototype.h: Added.
        * ForwardingHeaders/kjs/string_object.h: Removed.
        * bindings/js/JSCSSStyleDeclarationCustom.cpp:

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

12 years ago2008-06-28 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Sat, 28 Jun 2008 22:57:54 +0000 (22:57 +0000)]
2008-06-28  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk build fix: JSVariableObject is now part of AllInOne

        * GNUmakefile.am:

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

12 years ago2008-06-28 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 28 Jun 2008 22:21:20 +0000 (22:21 +0000)]
2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Oliver.

        - https://bugs.webkit.org/show_bug.cgi?id=19801
          add a feature so we can tell what regular expressions are taking time

        * pcre/pcre_compile.cpp:
        (jsRegExpCompile): Compile in the string if REGEXP_HISTOGRAM is on.

        * pcre/pcre_exec.cpp:
        (jsRegExpExecute): Add hook to time execution.
        (Histogram::~Histogram): Print a sorted list of what took time.
        (Histogram::add): Accumulate records of what took time.
        (HistogramTimeLogger::~HistogramTimeLogger): Hook that calls
        Histogram::add at the right moment and creates the global histogram
        object.

        * pcre/pcre_internal.h: Define REGEXP_HISTOGRAM.

        * pcre/pcre_tables.cpp: Added missing include of "config.h". Not needed
        any more, but an omissions an earlier version of this patch detected.
        * pcre/pcre_ucp_searchfuncs.cpp: Ditto.
        * pcre/pcre_xclass.cpp: Ditto.

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

12 years ago2008-06-28 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 28 Jun 2008 21:54:31 +0000 (21:54 +0000)]
2008-06-28  Sam Weinig  <sam@webkit.org>

        Try and fix the Windows build again.

        * kjs/RegExpObject.cpp:
        * kjs/date_object.cpp:
        * kjs/error_object.cpp:

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

12 years ago2008-06-28 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 28 Jun 2008 21:45:17 +0000 (21:45 +0000)]
2008-06-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Darin Adler.

        Remove unused StringConstructorFunction class.

        * kjs/string_object.h:

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

12 years ago2008-06-28 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 28 Jun 2008 21:40:47 +0000 (21:40 +0000)]
2008-06-28  Sam Weinig  <sam@webkit.org>

        Fix windows build.

        * kjs/ArrayPrototype.cpp:
        * kjs/BooleanPrototype.cpp:
        * kjs/BooleanPrototype.h:
        * kjs/FunctionPrototype.cpp:
        * kjs/JSImmediate.cpp:
        * kjs/JSObject.cpp:
        * kjs/MathObject.cpp:
        * kjs/NumberPrototype.cpp:
        * kjs/NumberPrototype.h:
        * kjs/ObjectConstructor.cpp:
        * kjs/RegExpObject.h:
        * kjs/error_object.h:
        * kjs/string_object.cpp:

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

12 years agoJavaScriptCore:
weinig@apple.com [Sat, 28 Jun 2008 21:22:01 +0000 (21:22 +0000)]
JavaScriptCore:

2008-06-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Oliver Hunt.

        Splits FunctionConstructor out of FunctionPrototype.h/cpp
        Splits NumberConstructor and NumberPrototype out of NumberObject.h/cpp
        Rename object_object.h/cpp to ObjectPrototype.h/cpp and split out ObjectConstructor.

        * API/JSCallbackConstructor.cpp:
        * API/JSClassRef.cpp:
        * API/JSObjectRef.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * VM/Machine.cpp:
        * kjs/AllInOneFile.cpp:
        * kjs/ArrayConstructor.cpp:
        * kjs/ArrayConstructor.h:
        * kjs/FunctionConstructor.cpp: Copied from JavaScriptCore/kjs/FunctionPrototype.cpp.
        * kjs/FunctionConstructor.h: Copied from JavaScriptCore/kjs/FunctionPrototype.h.
        * kjs/FunctionPrototype.cpp:
        * kjs/FunctionPrototype.h:
        * kjs/JSFunction.cpp:
        * kjs/JSGlobalObject.cpp:
        * kjs/JSImmediate.cpp:
        * kjs/MathObject.h:
        * kjs/NumberConstructor.cpp: Copied from JavaScriptCore/kjs/NumberObject.cpp.
        * kjs/NumberConstructor.h: Copied from JavaScriptCore/kjs/NumberObject.h.
        * kjs/NumberObject.cpp:
        * kjs/NumberObject.h:
        * kjs/NumberPrototype.cpp: Copied from JavaScriptCore/kjs/NumberObject.cpp.
        * kjs/NumberPrototype.h: Copied from JavaScriptCore/kjs/NumberObject.h.
        * kjs/ObjectConstructor.cpp: Copied from JavaScriptCore/kjs/object_object.cpp.
        * kjs/ObjectConstructor.h: Copied from JavaScriptCore/kjs/object_object.h.
        * kjs/ObjectPrototype.cpp: Copied from JavaScriptCore/kjs/object_object.cpp.
        * kjs/ObjectPrototype.h: Copied from JavaScriptCore/kjs/object_object.h.
        * kjs/RegExpObject.h:
        * kjs/Shell.cpp:
        * kjs/error_object.h:
        * kjs/internal.cpp:
        * kjs/nodes.cpp:
        * kjs/object_object.cpp: Removed.
        * kjs/object_object.h: Removed.
        * kjs/string_object.h:

WebCore:

2008-06-28  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Oliver Hunt.

        Update includes after remaming object_object.h to ObjectPrototype.h and
        splitting FunctionConstructor out of FunctionPrototype.h

        * ForwardingHeaders/kjs/FunctionConstructor.h: Added.
        * ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
        * ForwardingHeaders/kjs/object_object.h: Removed.
        * bindings/js/JSEventListener.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/qt/qt_instance.cpp:

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

12 years agoWebCore:
mitz@apple.com [Sat, 28 Jun 2008 17:49:23 +0000 (17:49 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an
        image if the 'src' attribute is the empty string and the document's base
        URI is a file: URL.

LayoutTests:

        Reviewed by Darin Adler.

        - updated test and results for <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded

        * fast/images/load-img-with-empty-src-expected.txt:
        * fast/images/load-img-with-empty-src.html:

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

12 years ago2008-06-28 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 28 Jun 2008 16:03:11 +0000 (16:03 +0000)]
2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Oliver.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19796
          optimize expressions with ignored results (especially post-increment)

        SunSpider says 0.9% faster.

        * VM/CodeGenerator.h:
        (KJS::CodeGenerator::tempDestination): Create a new temporary for
        ignoredResult() too, just as we would for 0.
        (KJS::CodeGenerator::finalDestination): Use the temporary if the
        register passed in is ignoredResult() too, just as we would for 0.
        (KJS::CodeGenerator::destinationForAssignResult): Return 0 if the
        passed in register is ignoredResult(), just as we would for 0.
        (KJS::CodeGenerator::moveToDestinationIfNeeded): Return 0 if the
        register passed in is ignoredResult(). What matters is that we
        don't want to emit a move. The return value won't be looked at.
        (KJS::CodeGenerator::emitNode): Allow ignoredResult() and pass it
        through to the node's emitCode function.

        * VM/RegisterID.h:
        (KJS::ignoredResult): Added. Special value to indicate the result of
        a node will be ignored and need not be put in any register.

        * kjs/nodes.cpp:
        (KJS::NullNode::emitCode): Do nothing if dst == ignoredResult().
        (KJS::BooleanNode::emitCode): Ditto.
        (KJS::NumberNode::emitCode): Ditto.
        (KJS::StringNode::emitCode): Ditto.
        (KJS::RegExpNode::emitCode): Ditto.
        (KJS::ThisNode::emitCode): Ditto.
        (KJS::ResolveNode::emitCode): Do nothing if dst == ignoredResult() and
        the identifier resolves to a local variable.
        (KJS::ObjectLiteralNode::emitCode): Do nothing if dst == ignoredResult()
        and the object is empty.
        (KJS::PostIncResolveNode::emitCode): If dst == ignoredResult(), then do
        nothing for the local constant case, and do a pre-increment in all the
        other cases.
        (KJS::PostDecResolveNode::emitCode): Ditto.
        (KJS::PostIncBracketNode::emitCode): Ditto.
        (KJS::PostDecBracketNode::emitCode): Ditto.
        (KJS::PostIncDotNode::emitCode): Ditto.
        (KJS::PostDecDotNode::emitCode): Ditto.
        (KJS::DeleteValueNode::emitCode): Pass ignoredResult() when evaluating
        the expression.
        (KJS::VoidNode::emitCode): Ditto.
        (KJS::TypeOfResolveNode::emitCode): If dst == ignoredResult(), do nothing
        if the identifier resolves to a local variable, and don't bother generating
        a typeof opcode in the other case.
        (KJS::TypeOfValueNode::emitCode): Ditto.
        (KJS::PreIncResolveNode::emitCode): Do nothing if dst == ignoredResult() and
        the identifier resolves to a local constant.
        (KJS::PreDecResolveNode::emitCode): Ditto.
        (KJS::AssignResolveNode::emitCode): Turn ignoredResult() into 0 in a couple
        places, because we need to put the result into a register so we can assign
        it. At other sites this is taken care of by functions like finalDestination.
        (KJS::CommaNode::emitCode): Pass ignoredResult() when evaluating the first
        expression.
        (KJS::ForNode::emitCode): Pass ignoredResult() when evaluating the first and
        third expressions.
        (KJS::ForInNode::emitCode): Pass ignoredResult() when evaluating the first
        expression.

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

12 years ago2008-06-28 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 28 Jun 2008 15:50:49 +0000 (15:50 +0000)]
2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Oliver.

        - https://bugs.webkit.org/show_bug.cgi?id=19787
          create most arrays from values in registers rather than with multiple put operations

        SunSpider says 0.8% faster.

        * VM/CodeBlock.cpp:
        (KJS::CodeBlock::dump): Added argv and argc parameters to new_array.
        * VM/Machine.cpp:
        (KJS::Machine::privateExecute): Ditto.

        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::emitNewArray): Added.
        * VM/CodeGenerator.h: Added ElementNode* argument to emitNewArray.

        * kjs/nodes.cpp:
        (KJS::ArrayNode::emitCode): Pass the ElementNode to emitNewArray so it can be
        initialized with as many elements as possible. If the array doesn't have any
        holes in it, that's all that's needed. If there are holes, then emit some separate
        put operations for the other values in the array and for the length as needed.

        * kjs/nodes.h: Added some accessors to ElementNode so the code generator can
        iterate through elements and generate code to evaluate them. Now ArrayNode does
        not need to be a friend. Also took out some unused PlacementNewAdoptType
        constructors.

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

12 years ago2008-06-28 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 28 Jun 2008 15:33:51 +0000 (15:33 +0000)]
2008-06-28  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        * kjs/nodes.h: Remove obsolete PlacementNewAdopt constructors.
        We no longer mutate the AST in place.

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

12 years ago2008-06-28 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Sat, 28 Jun 2008 10:48:36 +0000 (10:48 +0000)]
2008-06-28  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Oliver Hunt.

        Build fix

        * VM/Machine.cpp: include stdio.h

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

12 years agoReviewed by Oliver.
zimmermann@webkit.org [Sat, 28 Jun 2008 10:47:13 +0000 (10:47 +0000)]
Reviewed by Oliver.

Update all (except four) SVG pixel tests, after a long time.
Four tests are broken in trunk, filed bugs 19798 & 19799.

Add all missing png/checksum files, and move files around which were misplaced.

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

12 years agoReviewed by Oliver.
zimmermann@webkit.org [Sat, 28 Jun 2008 10:23:56 +0000 (10:23 +0000)]
Reviewed by Oliver.

Copy <test>-expected.png from the right location to /tmp/layout-test-results.
Use $expectedPixelDir instead of $expectedDir. Allows using SVG pixel tests again.

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

12 years ago Reviewed by Oliver Hunt.
mitz@apple.com [Sat, 28 Jun 2008 07:17:54 +0000 (07:17 +0000)]
    Reviewed by Oliver Hunt.

        - make a test valid

        * fast/images/load-img-with-empty-src.html: Renamed the "status"
        variable to "results", because "status" is a Window property.

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

12 years agoWebCore:
weinig@apple.com [Sat, 28 Jun 2008 06:09:23 +0000 (06:09 +0000)]
WebCore:

2008-06-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        <rdar://problem/6025499> Make Cross-site XHR match the final specification

        Update the implemented subset of Access-Control for XMLHttpRequest to the
        latest version. (Editor's Draft 25 May 2008)

        - Now differentiates between simple and non-simple cross-site requests, the later
          requiring a preflight.
        - Now sends request headers cross-site, limited by a blacklist.
        - Now allows access to cross-site response headers, limited by a whitelist.
        - Now sends request entity body for non-get cross-site requests after preflight.

        Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html
               http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
               http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::isOnAccessControllRequestHeaderBlackList):
        (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
        (WebCore::isOnAccessControlResponseHeaderWhitelist):
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::createRequest):
        (WebCore::XMLHttpRequest::makeSameOriginRequest):
        (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
        (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
        (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
        (WebCore::XMLHttpRequest::abort):
        (WebCore::XMLHttpRequest::clearRequest):
        (WebCore::XMLHttpRequest::setRequestHeader):
        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
        (WebCore::XMLHttpRequest::getAllResponseHeaders):
        (WebCore::XMLHttpRequest::getResponseHeader):
        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
        (WebCore::XMLHttpRequest::didReceiveData):
        * xml/XMLHttpRequest.h:

LayoutTests:

2008-06-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        <rdar://problem/6025499> Make Cross-site XHR match the final specification
        Add tests for the updated implemented subset of Access-Control for XMLHttpRequest.

        * http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html: Added.
        * http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html: Added.
        * http/tests/xmlhttprequest/access-control-basic-not-get-allow-async-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-not-get-allow-expected.txt:
        * http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html: Added.
        * http/tests/xmlhttprequest/resources/access-control-basic-allow-print-headers.cgi: Added.
        * http/tests/xmlhttprequest/resources/access-control-basic-get-fail-non-simple.cgi: Added.
        * http/tests/xmlhttprequest/resources/access-control-basic-whitelist-response-headers.cgi: Added.
        * http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:

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

12 years ago2008-06-27 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 28 Jun 2008 05:20:06 +0000 (05:20 +0000)]
2008-06-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Fix platforms that don't use AllInOne.cpp

        * kjs/BooleanConstructor.h:
        * kjs/BooleanPrototype.h:
        * kjs/FunctionPrototype.cpp:

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

12 years ago2008-06-27 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 28 Jun 2008 04:29:48 +0000 (04:29 +0000)]
2008-06-27  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Oliver Hunt.

        Splits ArrayConstructor out of ArrayPrototype.h/cpp
        Splits BooleanConstructor and BooleanPrototype out of BooleanObject.h/cpp

        * GNUmakefile.am:
        * JavaScriptCore.pri:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * JavaScriptCoreSources.bkl:
        * VM/Machine.cpp:
        * kjs/AllInOneFile.cpp:
        * kjs/ArrayConstructor.cpp: Copied from kjs/ArrayPrototype.cpp.
        * kjs/ArrayConstructor.h: Copied from kjs/ArrayPrototype.h.
        * kjs/ArrayPrototype.cpp:
        * kjs/ArrayPrototype.h:
        * kjs/BooleanConstructor.cpp: Copied from kjs/BooleanObject.cpp.
        * kjs/BooleanConstructor.h: Copied from kjs/BooleanObject.h.
        * kjs/BooleanObject.cpp:
        * kjs/BooleanObject.h:
        * kjs/BooleanPrototype.cpp: Copied from kjs/BooleanObject.cpp.
        * kjs/BooleanPrototype.h: Copied from kjs/BooleanObject.h.
        * kjs/CommonIdentifiers.h:
        * kjs/FunctionPrototype.cpp:
        * kjs/JSArray.cpp:
        * kjs/JSGlobalObject.cpp:
        * kjs/JSImmediate.cpp:
        * kjs/Shell.cpp:
        * kjs/internal.cpp:
        * kjs/nodes.cpp:
        * kjs/string_object.cpp:

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

12 years agoBug 18626: SQUIRRELFISH: support the "slow script" dialog <https://bugs.webkit.org...
oliver@apple.com [Sat, 28 Jun 2008 04:02:03 +0000 (04:02 +0000)]
Bug 18626: SQUIRRELFISH: support the "slow script" dialog <https://bugs.webkit.org/show_bug.cgi?id=18626>
<rdar://problem/5973931> Slow script dialog needs to be reimplemented for squirrelfish

Reviewed by Sam

Adds support for the slow script dialog in squirrelfish.  This requires the addition
of three new op codes, op_loop, op_loop_if_true, and op_loop_if_less which have the
same behaviour as their simple jump equivalents but have an additional time out check.

Additional assertions were added to other jump instructions to prevent accidentally
creating loops with jump types that do not support time out checks.

Sunspider does not report a regression, however this appears very sensitive to code
layout and hardware, so i would expect up to a 1% regression on other systems.

Part of this required moving the old timeout logic from JSGlobalObject and into Machine
which is the cause of a number of the larger diff blocks.

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

12 years ago2008-06-27 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 28 Jun 2008 02:54:24 +0000 (02:54 +0000)]
2008-06-27  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Mark Rowe.

        Clean up sorting in WebCore.xcodeproj.

        * WebCore.xcodeproj/project.pbxproj:

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

12 years ago2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Sat, 28 Jun 2008 00:24:09 +0000 (00:24 +0000)]
2008-06-27  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Gtk and Qt build fix: Remove RegisterFileStack from the build
        scripts.

        * GNUmakefile.am:
        * JavaScriptCore.pri:

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

12 years ago2008-06-27 Adele Peterson <adele@apple.com>
adele@apple.com [Fri, 27 Jun 2008 23:31:09 +0000 (23:31 +0000)]
2008-06-27  Adele Peterson  <adele@apple.com>

        Reviewed by Geoff.

        Build fixes.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        * VM/RegisterFile.h:
        (KJS::RegisterFile::RegisterFile):
        * kjs/JSGlobalObject.cpp:
        * kjs/collector.cpp:

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

12 years agoJavaScriptCore:
ggaren@apple.com [Fri, 27 Jun 2008 22:35:33 +0000 (22:35 +0000)]
JavaScriptCore:

2008-06-27  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        One RegisterFile to rule them all!

        SunSpider reports a 0.2% speedup.

        This patch removes the RegisterFileStack abstraction and replaces it with
        a single register file that

        (a) allocates a fixed storage area, including a fixed area for global
        vars, so that no operation may cause the register file to reallocate

        and

        (b) swaps between global storage areas when executing code in different
        global objects.

        This patch also changes the layout of the register file so that all call
        frames, including call frames for global code, get a header. This is
        required to support re-entrant global code. It also just makes things simpler.

        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::addGlobalVar): New function. Differs from addVar in
        that

        (a) global vars don't contribute to a CodeBlock's numLocals count, since
        global storage is fixed and allocated at startup

        and

        (b) references to global vars get shifted to elide intermediate stack
        between "r" and the global storage area.

        * VM/Machine.cpp:
        (KJS::Machine::dumpRegisters): Updated this function to match the new
        register file layout, and added the ability to dump exact identifiers
        for the different parts of a call frame.

        (KJS::Machine::unwindCallFrame): Updated this function to match the new
        register file layout.

        (KJS::Machine::execute): Updated this function to initialize a call frame
        header for global code, and to swap global storage areas when switching
        to execution in a new global object.

        (KJS::Machine::privateExecute): Got rid of "safeForReentry" and re-reading
        of registerBase because the register file is always safe for reentry now,
        and registerBase never changes.

        * VM/Machine.h: Moved the call frame header enum from Machine to RegisterFile,
        to resolve a header dependency problem (a good sign that the enum belonged
        in RegisterFile all along!)

        * VM/RegisterFile.cpp:
        * VM/RegisterFile.h: Changed RegisterFile to mmap a fixed size register
        area. This allows us to avoid re-allocting the register file later on.
        Instead, we rely on the OS to allocate physical pages to the register
        file as necessary.

        * VM/RegisterFileStack.cpp: Removed. Tada!
        * VM/RegisterFileStack.h: Removed. Tada!

        * kjs/DebuggerCallFrame.cpp: Updated this class to match the new
        register file layout, greatly simplifying it in the process.

        * kjs/JSActivation.h:
        * kjs/JSActivation.cpp: Moved some of this logic up to JSVariableObject,
        since the global object now needs to be able to tear off its registers
        just like the activation object.

        * kjs/JSFunction.cpp: No need to fiddle with the register file anymore.

        * kjs/JSGlobalObject.h:
        * kjs/JSGlobalObject.cpp: Updated JSGlobalObject to support moving its
        global storage area into and out of the register file.

        * kjs/PropertySlot.cpp: No need to fiddle with the register file anymore.

        * kjs/collector.cpp: Renamed markStackObjectConservatively to
        markConservatively, since we don't just mark stack objects this way.

        Also, added code to mark the machine's register file.

        * kjs/config.h: Moved some platforms #defines from here...
        * wtf/Platform.h: ...to here, to support mmap/VirtualAlloc detection
        in RegisterFile.h.

LayoutTests:

2008-06-26  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Added a test for what happens when a script exceeds the limit on declared
        global variables.

        * fast/js/global-var-limit-expected.txt: Added.
        * fast/js/global-var-limit.html: Added.

        * fast/js/global-recursion-on-full-stack-expected.txt: Updated for new
        (slightly more correct) behavior. Since the stack overflow happens in the
        middle of a try/catch block, it should be caught, instead of logged to
        the console.

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

12 years ago2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Fri, 27 Jun 2008 22:24:29 +0000 (22:24 +0000)]
2008-06-27  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Christian Dywan.

        [Gtk] Initialize webview settings before running DRT tests
        http://bugs.webkit.org/show_bug.cgi?id=19778

        * DumpRenderTree/gtk/DumpRenderTree.cpp:
        (setDefaultsToConsistentStateValuesForTesting):
        (main):

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

12 years ago2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Fri, 27 Jun 2008 22:24:11 +0000 (22:24 +0000)]
2008-06-27  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Darin Adler.

        Remove unnecessary options to make_names.pl command line
        http://bugs.webkit.org/show_bug.cgi?id=19777

        * DerivedSources.make:
        * GNUmakefile.am:

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

12 years agoPlanetWebKit:
mitz@apple.com [Fri, 27 Jun 2008 21:08:40 +0000 (21:08 +0000)]
PlanetWebKit:

        Reviewed by Timothy Hatcher.

        * wwwroot/planetwebkit.css: Reduced text shadow offsets.

WebKitSite:

        Reviewed by Timothy Hatcher.

        * css/main.css: Reduced text shadow offsets.

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

12 years ago Change WebKitGraphics truncation functions to return the length of the trunca...
aroben@apple.com [Fri, 27 Jun 2008 20:35:34 +0000 (20:35 +0000)]
    Change WebKitGraphics truncation functions to return the length of the truncated string

        Reviewed by Darin Adler.

        * WebKitGraphics.cpp:
        (CenterTruncateStringToWidth):
        (RightTruncateStringToWidth):
        Return the length.
        * WebKitGraphics.h:
        The truncation functions now return an unsigned int that is the length
        of the truncated string. The whole file has been marked extern "C" to
        keep the symbols for these functions from changing (which would break
        nightly builds).

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

12 years agoFix mime-types. Not sure how to do this with git.
abarth@webkit.org [Fri, 27 Jun 2008 18:11:39 +0000 (18:11 +0000)]
Fix mime-types.  Not sure how to do this with git.

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

12 years agoWebCore:
abarth@webkit.org [Fri, 27 Jun 2008 18:09:21 +0000 (18:09 +0000)]
WebCore:

2008-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=19784

        Properly handle untermianted <!-- comments in <textarea>s.

        Tests: fast/parser/open-comment-in-script-tricky.html
               fast/parser/open-comment-in-style.html
               fast/parser/open-comment-in-textarea.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::finish):

LayoutTests:

2008-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Test our handling of unterminated <!-- comments in various special
        parsing contexts.  This change does not test our handling of
        unterminated comments in <title> or <iframe> because I'm unsure whether
        our behaviour is correct.

        * fast/parser/open-comment-in-script-tricky-expected.txt: Added.
        * fast/parser/open-comment-in-script-tricky.html: Added.
        * fast/parser/open-comment-in-style.html: Added.
        * fast/parser/open-comment-in-textarea.html: Added.
        * platform/mac/fast/parser/open-comment-in-style-expected.checksum: Added.
        * platform/mac/fast/parser/open-comment-in-style-expected.png: Added.
        * platform/mac/fast/parser/open-comment-in-style-expected.txt: Added.
        * platform/mac/fast/parser/open-comment-in-textarea-expected.checksum: Added.
        * platform/mac/fast/parser/open-comment-in-textarea-expected.png: Added.
        * platform/mac/fast/parser/open-comment-in-textarea-expected.txt: Added.

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

12 years agoWebCore:
abarth@webkit.org [Fri, 27 Jun 2008 18:09:03 +0000 (18:09 +0000)]
WebCore:

2008-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Fix <https://bugs.webkit.org/show_bug.cgi?id=19784>:
          Text areas in Wikipedia edit pages are empty, following content is missing

        Don't treat entities as comment starters in parseSpecial.

        Tests: fast/parser/comment-in-iframe.html
               fast/parser/entity-comment-in-iframe.html
               fast/parser/entity-comment-in-script-tricky.html
               fast/parser/entity-comment-in-style.html
               fast/parser/entity-comment-in-textarea.html
               fast/parser/entity-comment-in-title.html

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseSpecial):

LayoutTests:

2008-06-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=19784

        Test that entities are not used to start comments.

        * fast/parser/comment-in-iframe-expected.txt: Added.
        * fast/parser/comment-in-iframe.html: Added.
        * fast/parser/entity-comment-in-iframe-expected.txt: Added.
        * fast/parser/entity-comment-in-iframe.html: Added.
        * fast/parser/entity-comment-in-script-tricky-expected.txt: Added.
        * fast/parser/entity-comment-in-script-tricky.html: Added.
        * fast/parser/entity-comment-in-style.html: Added.
        * fast/parser/entity-comment-in-textarea.html: Added.
        * fast/parser/entity-comment-in-title-expected.txt: Added.
        * fast/parser/entity-comment-in-title.html: Added.
        * platform/mac/fast/parser/entity-comment-in-style-expected.checksum: Added.
        * platform/mac/fast/parser/entity-comment-in-style-expected.png: Added.
        * platform/mac/fast/parser/entity-comment-in-style-expected.txt: Added.
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum: Added.
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.png: Added.
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt: Added.

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

12 years agoWebCore:
antti@apple.com [Fri, 27 Jun 2008 12:40:23 +0000 (12:40 +0000)]
WebCore:

2008-06-27  Antti Koivisto  <antti@apple.com>

        Reviewed by Oliver.

        <rdar://problem/6030720>
        REGRESSION: Discrete animation between incompatible paths does not work

        Fall back to discrete path animation if paths are not suitable for morphing.

        Test: svg/custom/animate-path-discrete.svg

        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):

LayoutTests:

2008-06-27  Antti Koivisto  <antti@apple.com>

        Reviewed by Oliver.

        <rdar://problem/6030720>
        REGRESSION: Discrete animation between incompatible paths does not work

        * svg/custom/animate-path-discrete.svg: Added.
        * platform/mac/svg/custom/animate-path-discrete-expected.txt: Added.

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

12 years ago2008-06-26 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Jun 2008 07:00:47 +0000 (07:00 +0000)]
2008-06-26  Darin Adler  <darin@apple.com>

        * Scripts/check-for-weak-vtables: Fixed comment.

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

12 years ago2008-06-26 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Jun 2008 04:54:39 +0000 (04:54 +0000)]
2008-06-26  Darin Adler  <darin@apple.com>

        * Scripts/check-for-weak-vtables: Added.

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

12 years agoSpeculative fix for the Windows build.
mrowe@apple.com [Fri, 27 Jun 2008 04:44:43 +0000 (04:44 +0000)]
Speculative fix for the Windows build.

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

12 years ago2008-06-26 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Fri, 27 Jun 2008 04:32:47 +0000 (04:32 +0000)]
2008-06-26  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler and Geoff Garen.

        Fix the malloc zone introspection functions so that malloc_zone_statistics does not give
        bogus output in an application that uses JavaScriptCore.

        * kjs/CollectorHeapIntrospector.cpp:
        (KJS::CollectorHeapIntrospector::statistics): Return statistics about memory allocated by the collector.
        * kjs/CollectorHeapIntrospector.h:
        * wtf/FastMalloc.cpp: Zero out the statistics.  FastMalloc doesn't track this information at present.
        Returning zero for all values is preferable to returning bogus data.

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

12 years agoWebCore:
dsmith@webkit.org [Fri, 27 Jun 2008 03:28:49 +0000 (03:28 +0000)]
WebCore:

2008-06-26  David Smith  <catfish.man@gmail.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=19002

        Optimize simple id selectors in querySelector/querySelectorAll.
        ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.

        * dom/Document.h:
        (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
        * dom/Node.cpp:
        (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
        * dom/SelectorNodeList.cpp:
        (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now

LayoutTests:

2008-06-26  David Smith  <catfish.man@gmail.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=19002

        Optimize simple id selectors in querySelector/querySelectorAll.
        ~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.

        * fast/dom/SelectorAPI/dumpNodeList-expected.txt:
        * fast/dom/SelectorAPI/dumpNodeList.html: Add tests for finding ids not in the document, and finding duplicate ids

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

12 years agoWebCore:
mitz@apple.com [Fri, 27 Jun 2008 03:24:51 +0000 (03:24 +0000)]
WebCore:

        Reviewed by Darin Adler.

        - fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
          http://bugs.webkit.org/show_bug.cgi?id=7023

        Test: editing/selection/find-in-text-control.html

        * WebCore.base.exp: Updated the TextIterator constructor signature.

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator): Added an enterTextControls
        boolean parameter that determines whether the iterator should visit text
        inside text areas and text fields. Added code to initialize the
        m_inShadowContent member variable based on whether the range is in
        shadow content.
        (WebCore::TextIterator::advance): Added code to step out of shadow
        content.
        (WebCore::TextIterator::handleReplacedElement): Added code to enter
        text controls if desired.
        (WebCore::CharacterIterator::CharacterIterator): Added an
        enterTextControls boolean parameter that determines whether the iterator
        should visit text inside text areas and text fields. This is passed to
        the TextIterator constructor.
        (WebCore::findPlainText): Changed to use a CharacterIterator that
        visits text controls.

        * editing/TextIterator.h: Added member variables to track whether the
        current node is in a shadow tree and whether the iterator should visit
        text controls.

        * page/Frame.cpp:
        (WebCore::Frame::findString): Changed to find inside text controls.
        (WebCore::Frame::markAllMatchesForText): Ditto.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::innerTextElement): Added.
        * rendering/RenderTextControl.h: Added innerTextElement(), a private
        accessor method that is accessible to TextIterator through class
        friendship.

LayoutTests:

        Reviewed by Darin Adler.

        - test for <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields)
          http://bugs.webkit.org/show_bug.cgi?id=7023

        * editing/selection/find-in-text-control-expected.txt: Added.
        * editing/selection/find-in-text-control.html: Added.

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

12 years ago2008-06-26 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Jun 2008 02:53:42 +0000 (02:53 +0000)]
2008-06-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - https://bugs.webkit.org/show_bug.cgi?id=19721
          speed up JavaScriptCore by not wrapping strings in objects just
          to call functions on them

        - optimize UString append and the replace function a bit

        SunSpider says 1.8% faster.

        * JavaScriptCore.exp: Updated.

        * VM/JSPropertyNameIterator.cpp: Added include of JSString.h, now needed
        because jsString returns a JSString*.

        * VM/Machine.cpp:
        (KJS::Machine::privateExecute): Removed the toObject call from native
        function calls. Also removed code to put the this value into a register.

        * kjs/BooleanObject.cpp:
        (KJS::booleanProtoFuncToString): Rewrite to handle false and true
        separately.

        * kjs/FunctionPrototype.cpp:
        (KJS::constructFunction): Use single-character append rather than building
        a string for each character.
        * kjs/JSFunction.cpp:
        (KJS::globalFuncUnescape): Ditto.

        * kjs/JSImmediate.cpp:
        (KJS::JSImmediate::prototype): Added. Gets the appropriate prototype for
        use with an immediate value. To be used instead of toObject when doing a
        get on an immediate value.
        * kjs/JSImmediate.h: Added prototype.

        * kjs/JSObject.cpp:
        (KJS::JSObject::toString): Tweaked formatting.

        * kjs/JSObject.h:
        (KJS::JSValue::get): Use prototype instead of toObject to avoid creating
        an object wrapper just to search for properties. This also saves an
        unnecessary hash table lookup since the object wrappers themselves don't
        have any properties.

        * kjs/JSString.h: Added toThisString and toThisJSString.

        * kjs/JSValue.cpp:
        (KJS::JSCell::toThisString): Added.
        (KJS::JSCell::toThisJSString): Added.
        (KJS::JSCell::getJSNumber): Added.
        (KJS::jsString): Changed return type to JSString*.
        (KJS::jsOwnedString): Ditto.

        * kjs/JSValue.h:
        (KJS::JSValue::toThisString): Added.
        (KJS::JSValue::toThisJSString): Added.
        (KJS::JSValue::getJSNumber): Added.

        * kjs/NumberObject.cpp:
        (KJS::NumberObject::getJSNumber): Added.
        (KJS::integer_part_noexp): Append C string directly rather than first
        turning it into a UString.
        (KJS::numberProtoFuncToString): Use getJSNumber to check if the value
        is a number rather than isObject(&NumberObject::info). This works for
        immediate numbers, number cells, and NumberObject instances.
        (KJS::numberProtoFuncToLocaleString): Ditto.
        (KJS::numberProtoFuncValueOf): Ditto.
        (KJS::numberProtoFuncToFixed): Ditto.
        (KJS::numberProtoFuncToExponential): Ditto.
        (KJS::numberProtoFuncToPrecision): Ditto.
        * kjs/NumberObject.h: Added getJSNumber.

        * kjs/PropertySlot.cpp: Tweaked comment.

        * kjs/internal.cpp:
        (KJS::JSString::toThisString): Added.
        (KJS::JSString::toThisJSString): Added.
        (KJS::JSString::getOwnPropertySlot): Changed code that searches the
        prototype chain to start with the string prototype and not create a
        string object.
        (KJS::JSNumberCell::toThisString): Added.
        (KJS::JSNumberCell::getJSNumber): Added.

        * kjs/lookup.cpp:
        (KJS::staticFunctionGetter): Moved here, because there's no point in
        having a function that's only used for a function pointer be inline.
        (KJS::setUpStaticFunctionSlot): New function for getStaticFunctionSlot.

        * kjs/lookup.h:
        (KJS::staticValueGetter): Don't mark this inline. It doesn't make sense
        to have a function that's only used for a function pointer be inline.
        (KJS::getStaticFunctionSlot): Changed to get properties from the parent
        first before doing any handling of functions. This is the fastest way
        to return the function once the initial setup is done.

        * kjs/string_object.cpp:
        (KJS::StringObject::getPropertyNames): Call value() instead of getString(),
        avoiding an unnecessary virtual function call (the call to the type()
        function in the implementation of the isString() function).
        (KJS::StringObject::toString): Added.
        (KJS::StringObject::toThisString): Added.
        (KJS::StringObject::toThisJSString): Added.
        (KJS::substituteBackreferences): Rewrote to use a appending algorithm
        instead of a the old one that tried to replace in place.
        (KJS::stringProtoFuncReplace): Merged this function and the replace function.
        Replaced the hand-rolled dynamic arrays for source ranges and replacements
        with Vector.
        (KJS::stringProtoFuncToString): Handle JSString as well as StringObject.
        Removed the separate valueOf implementation, since it can just share this.
        (KJS::stringProtoFuncCharAt): Use toThisString, which handles JSString as
        well as StringObject, and is slightly more efficient than the old code too.
        (KJS::stringProtoFuncCharCodeAt): Ditto.
        (KJS::stringProtoFuncConcat): Ditto.
        (KJS::stringProtoFuncIndexOf): Ditto.
        (KJS::stringProtoFuncLastIndexOf): Ditto.
        (KJS::stringProtoFuncMatch): Ditto.
        (KJS::stringProtoFuncSearch): Ditto.
        (KJS::stringProtoFuncSlice): Ditto.
        (KJS::stringProtoFuncSplit): Ditto.
        (KJS::stringProtoFuncSubstr): Ditto.
        (KJS::stringProtoFuncSubstring): Ditto.
        (KJS::stringProtoFuncToLowerCase): Use toThisJSString.
        (KJS::stringProtoFuncToUpperCase): Ditto.
        (KJS::stringProtoFuncToLocaleLowerCase): Ditto.
        (KJS::stringProtoFuncToLocaleUpperCase): Ditto.
        (KJS::stringProtoFuncLocaleCompare): Ditto.
        (KJS::stringProtoFuncBig): Use toThisString.
        (KJS::stringProtoFuncSmall): Ditto.
        (KJS::stringProtoFuncBlink): Ditto.
        (KJS::stringProtoFuncBold): Ditto.
        (KJS::stringProtoFuncFixed): Ditto.
        (KJS::stringProtoFuncItalics): Ditto.
        (KJS::stringProtoFuncStrike): Ditto.
        (KJS::stringProtoFuncSub): Ditto.
        (KJS::stringProtoFuncSup): Ditto.
        (KJS::stringProtoFuncFontcolor): Ditto.
        (KJS::stringProtoFuncFontsize): Ditto.
        (KJS::stringProtoFuncAnchor): Ditto.
        (KJS::stringProtoFuncLink): Ditto.

        * kjs/string_object.h: Added toString, toThisString, and toThisJSString.

        * kjs/ustring.cpp:
        (KJS::UString::append): Added a version that takes a character pointer and
        size, so we don't have to create a UString just to append to another UString.
        * kjs/ustring.h:

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

12 years ago2008-06-26 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Jun 2008 02:18:40 +0000 (02:18 +0000)]
2008-06-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        * bridge/runtime.h: Added include of JSString.h since jsString will soon
        change to return a JSString*.

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

12 years ago2008-06-26 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 27 Jun 2008 02:17:52 +0000 (02:17 +0000)]
2008-06-26  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        * JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString
        will soon be changed to return a JSString*.
        * UserObjectImp.cpp: Ditto.

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

12 years ago2008-06-26 Adele Peterson <adele@apple.com>
adele@apple.com [Fri, 27 Jun 2008 00:08:49 +0000 (00:08 +0000)]
2008-06-26  Adele Peterson  <adele@apple.com>

        Fix suggested by Eric Carlson, added by me, reviewed by Adam.

        Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
        Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]

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

12 years ago2008-06-26 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 27 Jun 2008 00:03:25 +0000 (00:03 +0000)]
2008-06-26  Sam Weinig  <sam@webkit.org>

        Reviewed by John Sullivan.

        <rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the
        DOMWindow when opening a CachedPage.

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

12 years agoWebKitTools:
bdakin@apple.com [Thu, 26 Jun 2008 22:54:55 +0000 (22:54 +0000)]
WebKitTools:

2008-06-26  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam.

        Do not include AXPosition in the dump of all of the accessibility
        attributes since it is screen-specific.

        * DumpRenderTree/mac/AccessibilityControllerMac.mm:
        (AccessibilityController::allAttributesOfFocusedElement):

LayoutTests:

2008-06-26  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam.

        Updated results that will pass on all platforms.

        * accessibility/document-attributes-expected.txt:

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

12 years ago Reviewed by Beth Dakin.
eric@webkit.org [Thu, 26 Jun 2008 22:45:47 +0000 (22:45 +0000)]
    Reviewed by Beth Dakin.

        CSS @import statements can cause DocLoader to use
        a dead Frame pointer.
        https://bugs.webkit.org/show_bug.cgi?id=19618

        The fix is to get rid of the Frame pointer on DocLoader.

        I also took this opportunity to clean up Document::detach
        a little to make it clear why we clear the m_frame pointer
        there, and to note that in the future we should stop
        using Node::detach to mean "tear down the whole rendering
        tree and detach from the frame".

        Test: I don't know how to make a good test for this, the test
        we have is network timing dependent and does not make a good
        layout test.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::detach):
        (WebCore::Document::clearFramePointer):
        * dom/Document.h:
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::frame):
        * loader/DocLoader.h:

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

12 years ago2008-06-26 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 26 Jun 2008 22:22:01 +0000 (22:22 +0000)]
2008-06-26  Sam Weinig  <sam@webkit.org>

        Update result after adding new progress events to XMLHttpRequest.

        * fast/dom/xmlhttprequest-get-expected.txt:

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

12 years ago2008-06-26 Beth Dakin <bdakin@apple.com>
bdakin@apple.com [Thu, 26 Jun 2008 21:32:48 +0000 (21:32 +0000)]
2008-06-26  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders.

        This is a speculative fix for the failing layout test on the build
        bot. It seems that the problem that the Build Bot is having is
        Tiger-specific. On Tiger, [NSValue description] was not very smart.
        So I replaced our call to description with a hand-rolled equivalent
        that will match on both platforms.

        * DumpRenderTree/mac/AccessibilityControllerMac.mm:
        (descriptionOfValue):

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

12 years agoWebKit:
andersca@apple.com [Thu, 26 Jun 2008 20:13:50 +0000 (20:13 +0000)]
WebKit:

2008-06-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Add MainThreadObjectDeallocator to sources.

        * WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-06-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
        if necessary. Use this for the WebView class.

        * WebView/MainThreadObjectDeallocator.h: Added.
        * WebView/MainThreadObjectDeallocator.mm: Added.
        (deallocCallback):
        (scheduleDeallocateOnMainThread):
        * WebView/WebView.mm:
        (-[WebViewPrivate dealloc]):
        (+[WebView initialize]):

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

12 years ago2008-06-26 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 26 Jun 2008 19:07:32 +0000 (19:07 +0000)]
2008-06-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Brady.

        Don't enumerate document.applets trying to determine if a page contains applets.
        Instead, set m_containsPlugIns to true when an applet has been created.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePage):
        (WebCore::FrameLoader::createJavaAppletWidget):

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

12 years ago Reviewed by Maciej.
ap@webkit.org [Thu, 26 Jun 2008 18:59:26 +0000 (18:59 +0000)]
    Reviewed by Maciej.

        Make JSGlobalData per-thread.

        No change on SunSpider total.

        * wtf/ThreadSpecific.h: Re-enabled the actual implementation.

        * kjs/JSGlobalObject.cpp:
        (KJS::JSGlobalObject::~JSGlobalObject): Re-added a JSLock-related assertion. We'll probably
        want to preserve these somehow to keep legacy behavior in working condition.
        (KJS::JSGlobalObject::init): Initialize globalData pointer earlier, so that it is ready
        when updating JSGlobalObject linked list.

        * kjs/JSGlobalObject.h: (KJS::JSGlobalObject::head): Changed head() to be non-static, and
        to use JSGlobalData associated with the current object.

        * kjs/InitializeThreading.cpp: (KJS::initializeThreadingOnce): Removed a no longer needed
        Heap::registerAsMainThread() call.

        * kjs/JSGlobalData.h: Removed a lying lie comment - parserObjectExtraRefCounts is not
        transient, and while newParserObjects may conceptually be such, there is still some node
        manipulation going on outside Parser::parse which touches it.

        * kjs/JSGlobalData.cpp:
        (KJS::JSGlobalData::~JSGlobalData): Delete recently added members.
        (KJS::JSGlobalData::sharedInstance): Actually use a separate instance.

        * kjs/collector.cpp:
        (KJS::Heap::Heap):
        (KJS::Heap::~Heap): Added a destructor, which unconditionally deletes everything.
        (KJS::Heap::sweep): Removed code related to "collect on main thread only" logic.
        (KJS::Heap::collect): Ditto.
        (KJS::Heap::globalObjectCount): Explicitly use per-thread instance of JSGlobalObject linked
        list now that JSGlobalObject::head() is not static. Curently, WebCoreStatistics methods only
        work with the main thread currently anyway.
        (KJS::Heap::protectedGlobalObjectCount): Ditto.

        * kjs/collector.h: Removed code related to "collect on main thread only" logic.

        * JavaScriptCore.exp: Removed Heap::collectOnMainThreadOnly.

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

12 years ago Reviewed by Darin.
ap@webkit.org [Thu, 26 Jun 2008 18:37:44 +0000 (18:37 +0000)]
    Reviewed by Darin.

        https://bugs.webkit.org/show_bug.cgi?id=19767
        REGRESSION: Crash in sort() when visiting http://www.onnyturf.com/subway/

        * kjs/JSArray.cpp: (KJS::AVLTreeAbstractorForArrayCompare::set_balance_factor):
        Made changing balance factor from -1 to +1 work correctly.

        * wtf/AVLTree.h: (KJS::AVLTreeDefaultBSet::operator[]): Added an assertion that catches
        this slightly earlier.

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

12 years ago2008-06-26 Holger Hans Peter Freyther <zecke@selfish.org>
hausmann@webkit.org [Thu, 26 Jun 2008 17:17:49 +0000 (17:17 +0000)]
2008-06-26  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Simon.

        [svg] Disable plugins for SVG images
        The Qt platform allows to have a plugin factory per Page. Now SVG Images
        are using a Page and dummy/empty clients for Chrome. The only way to get
        the kit from the WebCore::Page is to go through the ChromeClient but this
        is not possible when the ChromeClient is an empty client. This leads to a
        crash in PluginDataQt.cpp. One way to avoid this would have been the
        addition of a rtti like field to ChromeClient to see if it is an empty
        client. The other possibility is to not enable plugins for images.

        The SVGImage relies on the fact that the document is a SVGDocument and
        that the rootElement is a SVGSVGElement. If plugins are used we could
        end up with a PluginDocument and crash badly. Do not try to use plugins
        if plugins are disabled for the WebCore::Page.

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