13 years ago2008-09-24 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Thu, 25 Sep 2008 00:26:38 +0000 (00:26 +0000)]
2008-09-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver Hunt.

        - inline JIT fast case of op_neq
        - remove extra level of function call indirection from slow cases of eq and neq

        1% speedup on Richards

        * VM/CTI.cpp:
        * VM/Machine.cpp:
        * kjs/operations.cpp:
        * kjs/operations.h:

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

13 years agoJavaScriptCore:
weinig@apple.com [Thu, 25 Sep 2008 00:07:29 +0000 (00:07 +0000)]

2008-09-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=21080
        Crash below Function.apply when using a runtime array as the argument list

        Test: plugins/bindings-array-apply-crash.html

        * kjs/FunctionPrototype.cpp:
        (JSC::functionProtoFuncApply): Revert to the slow case if the object inherits from
        JSArray (via ClassInfo) but is not a JSArray.


2008-09-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=21080
        Crash below Function.apply when using a runtime array as the argument list

        Add method to ObjCController to return a runtime array.

        * DumpRenderTree/mac/ObjCController.m:
        (+[ObjCController isSelectorExcludedFromWebScript:]):
        (+[ObjCController webScriptNameForSelector:]):
        (-[ObjCController testArray]):


2008-09-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=21080
        Crash below Function.apply when using a runtime array as the argument list

        * platform/mac/plugins/bindings-array-apply-crash-expected.txt: Added.
        * platform/mac/plugins/bindings-array-apply-crash.html: Added.

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

13 years agoWebCore:
mitz@apple.com [Wed, 24 Sep 2008 23:40:29 +0000 (23:40 +0000)]

2008-09-24  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dan Bernstein.

        Test: editing/spelling/inline_spelling_markers.html

        - https://bugs.webkit.org/show_bug.cgi?id=20092
        Spelling markers positioned incorrectly in RTL text

        Measure spelling markers with selectionRectForText() to fix RTL.

        This patch also fixes hit-testing for spelling marker tool tips,
        which used to work only on the first line.

        * rendering/InlineTextBox.cpp:


2008-09-24  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dan Bernstein.

        - https://bugs.webkit.org/show_bug.cgi?id=20092
        Spelling markers positioned incorrectly in RTL text

        * editing/spelling/inline_spelling_markers.html: Added.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.checksum: Added.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.png: Added.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.txt: Added.

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

13 years agoRemoved a stray line from a recent ChangeLog entry.
darin@apple.com [Wed, 24 Sep 2008 22:26:27 +0000 (22:26 +0000)]
Removed a stray line from a recent ChangeLog entry.

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

13 years ago2008-09-24 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Wed, 24 Sep 2008 22:24:00 +0000 (22:24 +0000)]
2008-09-24  Kevin McCullough  <kmccullough@apple.com>

        Style change.

        * kjs/nodes.cpp:

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

13 years ago2008-09-24 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Wed, 24 Sep 2008 22:19:05 +0000 (22:19 +0000)]
2008-09-24  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoff.

        Bug 21031: Breakpoints in the condition of loops only breaks the first
        - Now when setting breakpoints in the condition of a loop (for, while,
        for in, and do while) will successfully break each time throught the
        - For 'for' loops we need a little more complicated behavior that cannot
        be accomplished without some more significant changes:

        * kjs/nodes.cpp:
        (JSC::statementListEmitCode): We don't want to blindly emit a debug hook
        at the first line of loops, instead let the loop emit the debug hooks.
        * kjs/nodes.h:

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

13 years ago2008-09-24 Beth Dakin <bdakin@apple.com>
bdakin@apple.com [Wed, 24 Sep 2008 21:48:14 +0000 (21:48 +0000)]
2008-09-24  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Speculative build fix.

        * DumpRenderTree/win/AccessibilityUIElementWin.cpp:

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

13 years ago2008-09-24 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 24 Sep 2008 21:45:19 +0000 (21:45 +0000)]
2008-09-24  David Hyatt  <hyatt@apple.com>


        Make sure the viewless scrollbar knows how to paint properly when transformed.

        Reviewed by Sam Weinig

        * platform/mac/ScrollbarThemeMac.mm:

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

13 years ago2008-09-24 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 24 Sep 2008 21:28:08 +0000 (21:28 +0000)]
2008-09-24  David Hyatt  <hyatt@apple.com>

        Make sure the viewless scrollbar knows how to paint properly when transformed.

        Reviewed by Sam Weinig

        * platform/mac/ScrollbarThemeMac.mm:

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

13 years ago Add new screenshots of the Web Inspector's Scope Variables pane.
timothy@apple.com [Wed, 24 Sep 2008 21:18:24 +0000 (21:18 +0000)]
    Add new screenshots of the Web Inspector's Scope Variables pane.

        Not reviewed.

        * blog-files/inspector-closure-scope.png: Added.
        * blog-files/inspector-event-scope.png: Added.
        * blog-files/inspector-with-scope.png: Added.

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

13 years agoNot reviewed. Try to fix win build.
zimmermann@webkit.org [Wed, 24 Sep 2008 21:17:14 +0000 (21:17 +0000)]
Not reviewed. Try to fix win build.
Add missing ChangeLog entry from last commit.

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

13 years agoRemove stray characters Maciej pointed out in log.
darin@apple.com [Wed, 24 Sep 2008 21:13:47 +0000 (21:13 +0000)]
Remove stray characters Maciej pointed out in log.

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

13 years ago2008-09-24 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 24 Sep 2008 21:08:23 +0000 (21:08 +0000)]
2008-09-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Wrap up dirtying the z-order list of the stacking context
        RenderLayer into a method.

        * rendering/RenderLayer.cpp:
        * rendering/RenderLayer.h:
        * rendering/RenderObject.cpp:

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

13 years ago2008-09-24 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 24 Sep 2008 20:38:55 +0000 (20:38 +0000)]
2008-09-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Fixed <rdar://problem/5605532> Need a SPI for telling JS the size of
        the objects it retains

        * API/JSBase.h: Filled in some missing function names.

        * API/tests/testapi.c: Test the new SPI a little.

        * API/JSSPI.cpp: Add the new SPI.
        * API/JSSPI.h: Add the new SPI.
        * JavaScriptCore.exp: Add the new SPI.
        * JavaScriptCore.xcodeproj/project.pbxproj: Add the new SPI.

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

13 years ago Add another screenshot of the Web Inspector.
timothy@apple.com [Wed, 24 Sep 2008 20:37:14 +0000 (20:37 +0000)]
    Add another screenshot of the Web Inspector.

        Not reviewed.

        * blog-files/inspector-disabling-properties.png: Added.

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

13 years ago2008-09-24 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Wed, 24 Sep 2008 20:22:23 +0000 (20:22 +0000)]
2008-09-24  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        Bug 21070: REGRESSION Repeated messages with arguments are not repeated
        or displayed multiple times
        - The Insepctor Controller was comparing JSValue pointers so thought the
        message was not a repeat, but the JS of the inspector compared the
        strings and so knew it was the same message and so overwrote the old

        * page/InspectorController.cpp:
        * page/InspectorController.h:

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

13 years ago2008-09-24 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 24 Sep 2008 20:19:26 +0000 (20:19 +0000)]
2008-09-24  David Hyatt  <hyatt@apple.com>

        Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
        arrow placement preference and the thumb jump preference).

        Reviewed by Adam Roben

        * platform/Scrollbar.cpp:
        * platform/ScrollbarTheme.h:
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
        (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
        (+[ScrollbarPrefsObserver registerAsObserver]):

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

13 years ago2008-09-24 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 24 Sep 2008 20:13:05 +0000 (20:13 +0000)]
2008-09-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        * API/JSBase.h: Filled in some missing function names.

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

13 years agoReviewed by Oliver.
zimmermann@webkit.org [Wed, 24 Sep 2008 20:06:58 +0000 (20:06 +0000)]
Reviewed by Oliver.

Add ContainerNodeAlgorithms.h, as central place to share algorithms
operating on TreeShared-derived classes with a Node-style interface.

This allows SVGElementInstance & ContainerNode to share code.

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

13 years ago Add new screenshots of the Web Inspector.
timothy@apple.com [Wed, 24 Sep 2008 19:50:43 +0000 (19:50 +0000)]
    Add new screenshots of the Web Inspector.

        Not reviewed.

        * blog-files/inspector-console-autocomplete.png: Added.
        * blog-files/inspector-databases-panel-query-view.png: Added.
        * blog-files/inspector-databases-panel.png: Added.
        * blog-files/inspector-elements-panel.png: Added.
        * blog-files/inspector-numeric-style-stepping.gif: Added.
        * blog-files/inspector-profiles-panel.png: Added.
        * blog-files/inspector-resources-panel.png: Added.
        * blog-files/inspector-scripts-panel.png: Added.
        * blog-files/inspector-status-bar-with-errors.png: Added.
        * blog-files/inspector-toolbar.png: Added.

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

13 years ago Reviewed by Darin.
rwlbuis@webkit.org [Wed, 24 Sep 2008 19:23:54 +0000 (19:23 +0000)]
    Reviewed by Darin.

        getScreenCTM() returns wrong values

        Use the absolute position of the svg root when
        determining the screen ctm.

        Test: svg/custom/getscreenctm-in-mixed-content2.xhtml

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

13 years ago2008-09-24 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 24 Sep 2008 18:26:51 +0000 (18:26 +0000)]
2008-09-24  David Hyatt  <hyatt@apple.com>

        Turn off support for CSS variables.

        * ChangeLog:
        * css/CSSParser.cpp:

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

13 years ago2008-09-24 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 24 Sep 2008 18:15:15 +0000 (18:15 +0000)]
2008-09-24  David Hyatt  <hyatt@apple.com>

        Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).

        * css/CSSGrammar.y:
        * css/CSSParserValues.cpp:
        * css/CSSPrimitiveValue.cpp:
        * css/CSSPrimitiveValue.h:

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

13 years ago2008-09-24 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 24 Sep 2008 17:54:10 +0000 (17:54 +0000)]
2008-09-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=21057
        Crash in RegisterID::deref() running fast/canvas/canvas-putImageData.html

        * VM/CodeGenerator.h: Changed declaration order to ensure the
        m_lastConstant, which is a RefPtr that points into m_calleeRegisters,
        has its destructor called before the destructor for m_calleeRegisters.

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

13 years ago * demos/drosera/demo.js: Add some console.profile() calls.
timothy@apple.com [Wed, 24 Sep 2008 17:40:16 +0000 (17:40 +0000)]
    * demos/drosera/demo.js: Add some console.profile() calls.

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

13 years ago2008-09-24 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 24 Sep 2008 17:02:14 +0000 (17:02 +0000)]
2008-09-24  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - https://bugs.webkit.org/show_bug.cgi?id=21047
          speed up ret_activation with inlining

        About 1% on v8-raytrace.

        * JavaScriptCore.exp: Removed JSVariableObject::setRegisters.

        * kjs/JSActivation.cpp: Moved copyRegisters to the header to make it inline.
        * kjs/JSActivation.h:
        (JSC::JSActivation::copyRegisters): Moved here. Also removed the registerArraySize
        argument to setRegisters, since the object doesn't need to store the number of

        * kjs/JSGlobalObject.cpp:
        (JSC::JSGlobalObject::reset): Removed unnecessary clearing left over from when we
        used this on objects that weren't brand new. These days, this function is really
        just part of the constructor.

        * kjs/JSGlobalObject.h: Added registerArraySize to JSGlobalObjectData, since
        JSVariableObjectData no longer needs it. Added a setRegisters override here
        that handles storing the size.

        * kjs/JSStaticScopeObject.h: Removed code to set registerArraySize, since it
        no longer exists.

        * kjs/JSVariableObject.cpp: Moved copyRegisterArray and setRegisters to the
        header to make them inline.
        * kjs/JSVariableObject.h: Removed registerArraySize from JSVariableObjectData,
        since it was only used for the global object.
        (JSC::JSVariableObject::copyRegisterArray): Moved here ot make it inline.
        (JSC::JSVariableObject::setRegisters): Moved here to make it inline. Also
        removed the code to set registerArraySize and changed an if statement into
        an assert to save an unnnecessary branch.

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

13 years agoAdded bug URLs for r36001
mitz@apple.com [Wed, 24 Sep 2008 16:39:55 +0000 (16:39 +0000)]
Added bug URLs for r36001

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

13 years ago Fixes a regression where the "incorrect MIME-type" warning would not
timothy@apple.com [Wed, 24 Sep 2008 16:23:17 +0000 (16:23 +0000)]
    Fixes a regression where the "incorrect MIME-type" warning would not
        show up correctly in the Console or the resources sidebar.

        Reviewed by Kevin McCullough.

        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype._addTip): Add the repeat count argument
        to the WebInspector.ConsoleMessage constructor call.
        (WebInspector.Resource.prototype._checkWarning): Ditto.

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

13 years ago2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
vestbo@webkit.org [Wed, 24 Sep 2008 13:47:06 +0000 (13:47 +0000)]
2008-09-23  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Remove deprecated JS Qt bindings object call/construct code and fix autotests

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

13 years ago2008-09-24 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Wed, 24 Sep 2008 08:11:35 +0000 (08:11 +0000)]
2008-09-24  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver Hunt.

        - inline PropertyMap::getOffset to speed up polymorphic lookups

        ~1.5% speedup on v8 benchmark
        no effect on SunSpider

        * JavaScriptCore.exp:
        * kjs/PropertyMap.cpp:
        * kjs/PropertyMap.h:

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

13 years ago2008-09-24 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Wed, 24 Sep 2008 07:43:03 +0000 (07:43 +0000)]
2008-09-24  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alp Toker.

        Build fails on GTK+ Mac OS

        * wtf/ThreadingGtk.cpp: Remove platform ifdef as suggested by
          Richard Hult.

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

13 years ago2008-09-23 Richard Hult <richard@imendio.com>
jmalonzo@webkit.org [Wed, 24 Sep 2008 07:42:51 +0000 (07:42 +0000)]
2008-09-23  Richard Hult  <richard@imendio.com>

        Reviewed by Alp Toker. Landed by Jan Alonzo.

        [Gtk] Link error on Mac OS X

        * GNUmakefile.am: Only use the -version-script flag for the gnu
        * configure.ac: Check for GNU OSes.

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

13 years ago2008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
jmalonzo@webkit.org [Wed, 24 Sep 2008 07:42:39 +0000 (07:42 +0000)]
2008-09-23  Julien Chaffraix  <jchaffraix@pleyo.com>

        Reviewed by Alp Toker. Landed by Jan Alonzo.

        Bug 20883: [CURL] Add deferred loading

        Implement deferred loading for the libcURL backend using curl_easy_pause.
        As the method was introduced in version 7.18.0, all the code checks for libcURL

        * platform/network/curl/ResourceHandleCurl.cpp:
        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::writeCallback): Add an assertion that deferred loading is not
        (WebCore::headerCallback): Ditto.
        (WebCore::readCallback): Ditto.
        (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
        defersLoading to be false in order to avoid triggering an assertion.
        (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
        activated, pause the easy handle.

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

13 years agoBug 19968: Slow Script at www.huffingtonpost.com
oliver@apple.com [Wed, 24 Sep 2008 07:32:23 +0000 (07:32 +0000)]
Bug 19968: Slow Script at www.huffingtonpost.com

Reviewed by Maciej Stachowiak

Finally found the cause of this accursed issue.  It is triggered
by synchronous creation of a new global object from JS.  The new
global object resets the timer state in this execution group's
Machine, taking timerCheckCount to 0.  Then when JS returns the
timerCheckCount is decremented making it non-zero.  The next time
we execute JS we will start the timeout counter, however the non-zero
timeoutCheckCount means we don't reset the timer information. This
means that the timeout check is now checking the cumulative time
since the creation of the global object rather than the time since
JS was last entered.  At this point the slow script dialog is guaranteed
to eventually be displayed incorrectly unless a page is loaded
asynchronously (which will reset everything into a sane state).

The fix for this is rather trivial -- the JSGlobalObject constructor
should not be resetting the machine timer state.

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

13 years agoJavaScriptCore:
ggaren@apple.com [Wed, 24 Sep 2008 06:44:11 +0000 (06:44 +0000)]

2008-09-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Fixed https://bugs.webkit.org/show_bug.cgi?id=21038 | <rdar://problem/6240812>
        Uncaught exceptions in regex replace callbacks crash webkit

        This was a combination of two problems:

        (1) the replace function would continue execution after an exception
        had been thrown.

        (2) In some cases, the Machine would return 0 in the case of an exception,
        despite the fact that a few clients dereference the Machine's return
        value without first checking for an exception.

        * VM/Machine.cpp:

        ^ Return jsNull() instead of 0 in the case of an exception, since some
        clients depend on using our return value.

        ^ ASSERT that execution does not continue after an exception has been
        thrown, to help catch problems like this in the future.

        * kjs/StringPrototype.cpp:

        ^ Stop execution if an exception has been thrown.


2008-09-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Test for https://bugs.webkit.org/show_bug.cgi?id=21038
        Uncaught exceptions in regex replace callbacks crash webkit

        * fast/js/string-replace-exception-crash-expected.txt: Added.
        * fast/js/string-replace-exception-crash.html: Added.

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

13 years ago2008-09-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 24 Sep 2008 05:49:25 +0000 (05:49 +0000)]
2008-09-23  Geoffrey Garen  <ggaren@apple.com>

        Try to fix the windows build.

        * VM/CTI.cpp:

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

13 years ago2008-09-23 Alp Toker <alp@nuanti.com>
alp@webkit.org [Wed, 24 Sep 2008 03:36:40 +0000 (03:36 +0000)]
2008-09-23  Alp Toker  <alp@nuanti.com>

        Build fix.

        * VM/CTI.h:

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

13 years ago2008-09-23 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Wed, 24 Sep 2008 03:24:43 +0000 (03:24 +0000)]
2008-09-23  Matt Lilek  <webkit@mattlilek.com>

        Reviewed by Tim Hatcher.

        Inspector search field style tweaks.

        * page/inspector/inspector.css:

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

13 years agoReviewed by Eric.
zimmermann@webkit.org [Wed, 24 Sep 2008 02:23:24 +0000 (02:23 +0000)]
Reviewed by Eric.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
Fix missing negation in EventTargetNode::insertedIntoDocument.
Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
Remove code, that wasn't supposed to go in in dispatchGenericEvent().

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

13 years ago Adds search support to the Profiles panel.
timothy@apple.com [Wed, 24 Sep 2008 02:08:44 +0000 (02:08 +0000)]
    Adds search support to the Profiles panel.

        The Profiles panel supports a few types of queries:
         * Standard string matching for function names and file URLs.
         * Greater than and less than search for numeric columns.
           So a query of ">24" will match all rows that have calls
           greater than 24. Or "<=42" will match all 42 or less.
         * Percent and time units. Adding a unit of "s", "ms" or "%"
           is supported and will match only the Self and Total columns.
           So a query of ">1.25s" will match all rows that took longer
           than 1.25 seconds.

        Reviewed by Oliver Hunt.

        * page/inspector/ProfileView.js:
        (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
        it will start at the first result.
        (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
        (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
        data grid nodes.
        (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
        (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
        (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
        (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
        (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
        (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
        (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
        (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
        Expand all the ancestors first so the profile node will have a DataGridNode.
        (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
        (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
        have search matches.
        * page/inspector/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
        (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
        (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
        (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
        (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView  to visibleView.
        (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
        (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
        (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
        (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
        * page/inspector/inspector.css: New style rules for the cell highlight color.

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

13 years ago Adds search support to the Resources and Scripts panels.
timothy@apple.com [Wed, 24 Sep 2008 02:08:39 +0000 (02:08 +0000)]
    Adds search support to the Resources and Scripts panels.


        Reviewed by Oliver Hunt.

        * page/inspector/Images/searchSmallBlue.png: Added.
        * page/inspector/Images/searchSmallBrightBlue.png: Added.
        * page/inspector/Images/searchSmallGray.png: Added.
        * page/inspector/Images/searchSmallWhite.png: Added.
        * page/inspector/ResourceView.js:
        (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
        or "script-resource-views" since one might not be created yet.
        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
        are not this panel's current visible view. This can happen when a ResourceView is
        visible in the Scripts panel then switched to the this panel.
        (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
        visibleView first.
        (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
        that uses the current graph search function. So cycling through results will be in the order
        things appear in the sidebar.
        (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
        resource's sidebar tree element.
        (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
        in the sidebar. Calls the Panel prototype's searchCanceled.
        (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
        in the sidebar. Calls the Panel prototype's performSearch.
        (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
        (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
        if there is a current search query.
        (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
        (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
        (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
        (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
        (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
        * page/inspector/ScriptView.js:
        (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
        (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
        it will start at the first result.
        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
        highlighting complete".
        (WebInspector.ScriptView.prototype): Share many methods with SourceView.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
        This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
        (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
        (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
        (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
        (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
        * page/inspector/SourceView.js:
        (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
        (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
        (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
        (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
        store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
        (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
        (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
        (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
        * page/inspector/inspector.css:

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

13 years ago Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
timothy@apple.com [Wed, 24 Sep 2008 02:08:32 +0000 (02:08 +0000)]
    Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
        so future code can be shared.


        Reviewed by Oliver Hunt.

        * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
        And visibleResourceView to visibleView.
        * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.

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

13 years ago Highlight all matched search results in the Elements panel DOM tree.
timothy@apple.com [Wed, 24 Sep 2008 02:08:27 +0000 (02:08 +0000)]
    Highlight all matched search results in the Elements panel DOM tree.


        Reviewed by Oliver Hunt.

        * page/inspector/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
        on all previous search results.
        (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
        on all new search results.
        * page/inspector/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
        (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
        the highlighted class on the listItemElement.
        (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
        if needed. Calls _updateTitle.
        (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
        class so it can be styled when the highlighted class is present.
        * page/inspector/inspector.css: New style rules for the hihglight.

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

13 years ago Add search support to the Elements panel.
timothy@apple.com [Wed, 24 Sep 2008 02:08:19 +0000 (02:08 +0000)]
    Add search support to the Elements panel.


        Reviewed by Oliver Hunt.

        * page/inspector/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
        with a 0 match count to rest. Reset the other search properties.
        (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
        query and a CSS selector on all the Documents in the page. Remembers the found nodes
        and avoids duplicates. Focuses the first result.
        (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
        (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.

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

13 years ago Add support to Panel that allows easy searching of sub-views.
timothy@apple.com [Wed, 24 Sep 2008 02:08:15 +0000 (02:08 +0000)]
    Add support to Panel that allows easy searching of sub-views.

        Reviewed by Oliver Hunt.

        * page/inspector/Panel.js:
        (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
        views in the search results and delete the currentQuery property. Call
        WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
        other search properties.
        (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
        reset everything we need before doing a new search. Get an array of searchableViews
        from the panel, implemented by sub-classes. Iterate over the views one-by-one
        with an interval to prevent blocking the UI for large lists of searchableViews.
        This keeps the interface really responsive. Pass a finishedCallback function to
        the performSearch on each view so it can notify the panel of results.
        (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
        searchResults of the visibleView, so we know where in the results we are.
        This is done every time incase the user manually navigates to a new view.
        If the view is showing the last result, jump to the next view and show it's
        first result. Otherwise jump to the next result in the current view.
        (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.

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

13 years ago Add support for asking the current panel to perform a search, find next/previ...
timothy@apple.com [Wed, 24 Sep 2008 02:08:11 +0000 (02:08 +0000)]
    Add support for asking the current panel to perform a search, find next/previous and clear.
        A search is performed on the new new current panel when switching between panels. The search
        label/placeholder in the toolbar now includes the panel name to make it clear that panel will
        be searched. The search field contents are selected when Command/Control-F or Enter/Return
        is pressed, so the user can easily type an entirely new query. The search match count shows
        up in the toolbar next to the search field.

        Also changed:
         * Rename lastQuery to currentQuery since it better matches the truth.
         * Set the search field "results" attribute to zero since results arn't saved for
           how we use the search field.
         * Make repeated presses of the Return key jump to the next search result instead
           of doing nothing.
         * Increased the search field width.


        Reviewed by Oliver Hunt.

        * English.lproj/localizedStrings.js: New strings.
        * page/inspector/inspector.css: New styles.
        * page/inspector/inspector.html: Add the search-results-matches element. Add the
        incremental attribute to the search field and set the results attribute to zero.
        * page/inspector/inspector.js:
        (WebInspector.set currentPanel): perform the search on the new panel.
        (WebInspector.loaded): Change the event listeners and remove code that changes
        the search label text.
        (WebInspector.documentKeyDown): Add support for Command/Control-G and
        Command/Control-Shift-G. To jump to the next and previous search results.
        (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
        This does different things depending on the attached state.
        (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
        This prevents a "search" event from firing for key down. We handle the Enter key
        on key up in searchKeyUp. This stops performSearch from being called twice in a row.
        (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
        (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
        on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
        Call updateSearchMatchesCount to reset the matches count in the toolbar.
        (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.

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

13 years ago Remove the previous Inspector search code to make room for the new stuff.
timothy@apple.com [Wed, 24 Sep 2008 02:08:01 +0000 (02:08 +0000)]
    Remove the previous Inspector search code to make room for the new stuff.


        Reviewed by Oliver Hunt.

        * page/inspector/inspector.css:
        * page/inspector/inspector.html:
        * page/inspector/inspector.js:
        (WebInspector.get/set showingSearchResults): Removed.
        (WebInspector.searchResultsKeyDown): Removed.
        (WebInspector.searchResultsResizerDragStart): Removed.
        (WebInspector.searchResultsResizerDragEnd): Removed.
        (WebInspector.searchResultsResizerDrag): Removed.
        (WebInspector.performSearch): Removed searching parts.

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

13 years ago Use the Array.remove helper function in more places.
timothy@apple.com [Wed, 24 Sep 2008 02:07:56 +0000 (02:07 +0000)]
    Use the Array.remove helper function in more places.


        Reviewed by Kevin McCullough.

        * page/inspector/ResourceCategory.js:
        (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
        * page/inspector/inspector.js:
        (WebInspector.removeResource): Ditto.

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

13 years ago Fixes a bug where inspecting a node after reloading the page
timothy@apple.com [Wed, 24 Sep 2008 02:07:50 +0000 (02:07 +0000)]
    Fixes a bug where inspecting a node after reloading the page
        would not reveal the node in the DOM tree. The TreeOutline
        was not being told to forget decendants of a removed child.
        So old TreeElements would be found that are not in the tree.


        Reviewed by Kevin McCullough.

        * page/inspector/treeoutline.js:
        (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
        in addition to _forgetTreeElement.
        (TreeOutline._removeChildren): Call _forgetChildrenRecursive
        in addition to _forgetTreeElement.
        (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
        search for known elements.
        (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
        (TreeOutline._forgetChildrenRecursive): Recursively traverse the
        descendants and call _forgetTreeElement.
        * page/inspector/utilities.js:
        (Array.prototype.remove): Speed up this function by using Array.indexOf
        when onlyFirst is true.

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

13 years ago Fixes a bug where inspecting some short text nodes does
timothy@apple.com [Wed, 24 Sep 2008 02:07:45 +0000 (02:07 +0000)]
    Fixes a bug where inspecting some short text nodes does
        not reveal them in the Elements panel DOM tree.


        Reviewed by Oliver Hunt.

        * page/inspector/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
        The revealAndSelectNode() method might find a different element
        if there is inlined text, and the select() call would change the
        focusedDOMNode and reenter this setter. So to avoid calling
        focusedNodeChanged() twice, first check if _focusedDOMNode is
        the same node as the one passed in.
        (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
        this.treeOutline, since this is the TreeOutline.
        (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
        Provides default functions for isAncestor, getParet and equal.
        Calls the base protoype's findTreeElement. If that returns null
        and the node is a text node, try finding it's parent.
        (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
        Renamed to revealAndSelectNode.
        Selects and reveals the node passed in. Use the simple findTreeElement.
        Remove use of this.treeOutline, since this is the TreeOutline.

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

13 years ago Fixes an exception that happened when removing a Resource
timothy@apple.com [Wed, 24 Sep 2008 02:07:39 +0000 (02:07 +0000)]
    Fixes an exception that happened when removing a Resource
        from the ResourcesPanel.


        Reviewed by Kevin McCullough.

        * page/inspector/ResourcesPanel.js:
        Remove the graphElement.

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

13 years ago2008-09-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 24 Sep 2008 01:52:08 +0000 (01:52 +0000)]
2008-09-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        * wtf/Platform.h: Removed duplicate #if.

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

13 years ago2008-09-23 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Wed, 24 Sep 2008 01:18:31 +0000 (01:18 +0000)]
2008-09-23  Kevin McCullough  <kmccullough@apple.com>

        Fixed "Time" to "Tim"

        * ChangeLog:

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

13 years agoReviewed by Oliver.
zimmermann@webkit.org [Wed, 24 Sep 2008 01:00:42 +0000 (01:00 +0000)]
Reviewed by Oliver.

Move mapInstanceToElement/removeInstanceMapping/instancesForElement
from SVGDocumentExtensions to SVGElement. It's more useful to store
the list of SVGElementInstances per SVGElement, instead of using
a document-wide hash for this purpose.

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

13 years agowx build fix.
kevino@webkit.org [Wed, 24 Sep 2008 00:53:56 +0000 (00:53 +0000)]
wx build fix.

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

13 years ago2008-09-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Wed, 24 Sep 2008 00:27:18 +0000 (00:27 +0000)]
2008-09-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Changed the layout of the call frame from

        { header, parameters, locals | constants, temporaries }


        { parameters, header | locals, constants, temporaries }

        This simplifies function entry+exit, and enables a number of future

        13.5% speedup on empty call benchmark for bytecode; 23.6% speedup on
        empty call benchmark for CTI.

        SunSpider says no change. SunSpider --v8 says 1% faster.

        * VM/CTI.cpp:

        Added a bit of abstraction for calculating whether a register is a
        constant, since this patch changes that calculation:

        Updated for changes to callframe header location:

        Renamed to spite Oliver:

        Added an abstraction for emitting a call through a register, so that
        calls through registers generate exception info, too:

        Updated to match the new callframe header layout, and to support calls
        through registers, which have no destination address:

        * VM/CTI.h:

        More of the above:

        * VM/CodeBlock.cpp:

        Updated for new register layout:

        * VM/CodeBlock.h:

        Updated CodeBlock to track slightly different information about the
        register frame, and tweaked the style of an ASSERT_NOT_REACHED.

        * VM/CodeGenerator.cpp:

        Added some abstraction around constant register allocation, since this
        patch changes it, changed codegen to account for the new callframe
        layout, and added abstraction around register fetching code
        that used to assume that all local registers lived at negative indices,
        since vars now live at positive indices:

        ASSERT that our caller referenced the registers it passed to us.
        Otherwise, we might overwrite them with parameters:

        * VM/CodeGenerator.h:

        Added some abstraction for getting a RegisterID for a given index,
        since the rules are a little weird:

        * VM/Machine.cpp:

        Utility function to transform a machine return PC to a virtual machine
        return VPC, for the sake of stack unwinding, since both PCs are stored
        in the same location now:

        Tweaked to account for new call frame:

        Tweaked to account for registerOffset supplied by caller:

        Tweaked to account for new register layout:

        Changed op_call and op_construct to implement the new calling convention:

        Tweaked to account for the new register layout:

        Changed CTI call helpers to implement the new calling convention:

        * VM/Machine.h:

        * VM/Opcode.h:

        Renamed op_initialise_locals to op_init, because this opcode
        doesn't initialize all locals, and it doesn't initialize only locals.
        Also, to spite Oliver.

        * VM/RegisterFile.h:

        New call frame enumeration values:

        Simplified the calculation of whether a RegisterID is a temporary,
        since we can no longer assume that all positive non-constant registers
        are temporaries:
        * VM/RegisterID.h:

        Renamed firstArgumentIndex to firstParameterIndex because the assumption
        that this variable pertained to the actual arguments supplied by the
        caller caused me to write some buggy code:
        * kjs/Arguments.cpp:

        Updated for new call frame layout:
        * kjs/DebuggerCallFrame.cpp:
        * kjs/DebuggerCallFrame.h:

        Changed the activation object to account for the fact that a call frame
        header now sits between parameters and local variables. This change
        requires all variable objects to do their own marking, since they
        now use their register storage differently:
        * kjs/JSActivation.cpp:
        * kjs/JSActivation.h:

        Updated global object to use the new interfaces required by the change
        to JSActivation above:
        * kjs/JSGlobalObject.cpp:
        * kjs/JSGlobalObject.h:

        Updated static scope object to use the new interfaces required by the
        change to JSActivation above:
        * kjs/JSStaticScopeObject.cpp:
        * kjs/JSStaticScopeObject.h:

        Updated variable object to use the new interfaces required by the
        change to JSActivation above:
        * kjs/JSVariableObject.cpp:
        * kjs/JSVariableObject.h:

        Changed the bit twiddling in symbol table not to assume that all indices
        are negative, since they can be positive now:
        * kjs/SymbolTable.h:

        Changed call and construct nodes to ref their functions and/or bases,
        so that emitCall/emitConstruct doesn't overwrite them with parameters.
        Also, updated for rename to registerFor:
        * kjs/nodes.cpp:

        Added abstraction for getting exception info out of a call through a
        * masm/X86Assembler.h:

        Removed duplicate #if:
        * wtf/Platform.h:

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

13 years agoRubber stamped by Sam.
zimmermann@webkit.org [Wed, 24 Sep 2008 00:23:28 +0000 (00:23 +0000)]
Rubber stamped by Sam.

Move code from EventTarget to EventTargetNode.

I refactored most parts to live in EventTarget, a year ago,
though the implementation of EventTargetSVGElementInstance is
done in another way, that obsoletes this.

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

13 years agoFix horizontal scrollbars on windows.
hyatt@apple.com [Wed, 24 Sep 2008 00:14:42 +0000 (00:14 +0000)]
Fix horizontal scrollbars on windows.

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

13 years agoWebCore:
bdakin@apple.com [Wed, 24 Sep 2008 00:09:33 +0000 (00:09 +0000)]

2008-09-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
        link at gmail does not support AXPress action
        and corresponding: <rdar://problem/6216178>

        I fixed this bug by making AccessibilityObject::anchorElement
        support ARIA links.

        * page/AccessibilityImageMapLink.cpp:
        * page/AccessibilityImageMapLink.h:
        * page/AccessibilityObject.cpp:
        * page/AccessibilityObject.h:
        * page/AccessibilityRenderObject.cpp:
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:


2008-09-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        This patch extends DumpRenderTree's AccessibilityController to ask
        if the focused element supports the press action.

        * DumpRenderTree/AccessibilityUIElement.cpp:
        * DumpRenderTree/AccessibilityUIElement.h:
        * DumpRenderTree/mac/AccessibilityUIElementMac.mm:


2008-09-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Test for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add
        Contact" link at gmail does not support AXPress action
        and corresponding: <rdar://problem/6216178>

        * accessibility/aria-link-supports-press-expected.txt: Added.
        * accessibility/aria-link-supports-press.html: Added.

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

13 years ago2008-09-23 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Wed, 24 Sep 2008 00:05:34 +0000 (00:05 +0000)]
2008-09-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Time and Oliver.

        Bug 20949: Catch repeated messages in Inspector Controller to limit
        memory usage
        - Store the repeat count in the Console Message object, in the
        Inspector Controller and JS ConsoleMessage object.

        * page/InspectorController.cpp:
        * page/InspectorController.h:
        * page/inspector/Console.js:
        * page/inspector/Resource.js:
        * page/inspector/ResourcesPanel.js:
        * page/inspector/SourceFrame.js:

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

13 years agoReviewed by Eric.
zimmermann@webkit.org [Tue, 23 Sep 2008 23:44:20 +0000 (23:44 +0000)]
Reviewed by Eric.

Working on proper EventTarget support for SVGElementInstance.

Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.

Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
implementation. Let it use TreeShared directly.

It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
The transition to EventTargetSVGElementInstance will be done in a few individual patches.

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

13 years ago Reviewed by Dave Hyatt.
mitz@apple.com [Tue, 23 Sep 2008 21:47:54 +0000 (21:47 +0000)]
    Reviewed by Dave Hyatt.

        - https://bugs.webkit.org/show_bug.cgi?id=21040
          Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()

        * platform/graphics/mac/SimpleFontDataMac.mm:

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

13 years agoWebCore:
hyatt@apple.com [Tue, 23 Sep 2008 21:43:37 +0000 (21:43 +0000)]

2008-09-23  David Hyatt  <hyatt@apple.com>


        Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.

        Reviewed by Sam Weinig

        * platform/ScrollView.h:
        * platform/Scrollbar.cpp:
        * platform/Scrollbar.h:
        * platform/Widget.cpp:
        * platform/Widget.h:
        * platform/mac/ScrollViewMac.mm:
        * platform/mac/WidgetMac.mm:


2008-09-23  David Hyatt  <hyatt@apple.com>


        Teach the viewless Mac scrollbar how to avoid the NSWindow resizer.

        Reviewed by Sam Weinig

        * WebCoreSupport/WebChromeClient.mm:

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

13 years ago2008-09-23 Dirk Schulze <vbs85@gmx.de>
jmalonzo@webkit.org [Tue, 23 Sep 2008 21:33:21 +0000 (21:33 +0000)]
2008-09-23  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Darin Adler. Landed by Jan Alonzo.

        Added support for getImageData() and putImageData()
        to Cairo.

        [CAIRO] needs getImageData and putImageData support

        * platform/graphics/cairo/ImageBufferCairo.cpp:

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

13 years ago2008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
jmalonzo@webkit.org [Tue, 23 Sep 2008 21:07:50 +0000 (21:07 +0000)]
2008-09-23  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Holger Freyther.

        [GTK] Implement SharedBuffer::createWithContentsOfFile and

        * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
        * platform/gtk/KURLGtk.cpp: Added.
        (WebCore::KURL::fileSystemPath): Implemented.
        * platform/gtk/SharedBufferGtk.cpp: Added.
        (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
        * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.

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

13 years ago Reviewed by Oliver Hunt, okayed by Darin Adler.
ap@webkit.org [Tue, 23 Sep 2008 20:39:22 +0000 (20:39 +0000)]
    Reviewed by Oliver Hunt, okayed by Darin Adler.

        <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.

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

13 years agoWebKit/mac:
mitz@apple.com [Tue, 23 Sep 2008 20:30:58 +0000 (20:30 +0000)]

        Reviewed by Beth Dakin.

        - fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]

        Test: fast/events/keydown-remove-frame.html

        * WebView/WebFrameView.mm:
        (-[WebFrameView keyDown:]): Added a null check.


        Reviewed by Beth Dakin.

        - test for <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]

        * fast/events/keydown-remove-frame-expected.txt: Added.
        * fast/events/keydown-remove-frame.html: Added.
        * fast/events/resources/keydown-remove-frame-iframe.html: Added.

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

13 years ago2008-09-23 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Tue, 23 Sep 2008 18:37:18 +0000 (18:37 +0000)]
2008-09-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        Bug 21030: The JS debugger breaks on the do of a do-while not the while
        (where the conditional statement is)
        Now the statementListEmitCode detects if a do-while node is being
        emited and emits the debug hook on the last line instead of the first.

        This change had no effect on sunspider.

        * kjs/nodes.cpp:
        * kjs/nodes.h:

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

13 years ago2008-09-23 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Tue, 23 Sep 2008 17:30:46 +0000 (17:30 +0000)]
2008-09-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Camron Zwarich.

        - inline the fast case of instanceof

        ~2% speedup on EarleyBoyer test.

        * VM/CTI.cpp:
        * VM/Machine.cpp:

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

13 years ago Reviewed by Darin Adler.
ap@webkit.org [Tue, 23 Sep 2008 16:34:41 +0000 (16:34 +0000)]
    Reviewed by Darin Adler.

        Don't use TEC for encodings supported by ICU

        * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
        x-mac-greek, and x-mac-turkish.

        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Register aliases for these encodings that are not registered automatically; updated comments.

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

13 years ago2008-09-23 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Tue, 23 Sep 2008 14:18:51 +0000 (14:18 +0000)]
2008-09-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Cameron Zwarich.

        - add forgotten slow case logic for !==

        * VM/CTI.cpp:

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

13 years ago2008-09-23 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Tue, 23 Sep 2008 13:20:23 +0000 (13:20 +0000)]
2008-09-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Cameron Zwarich.

        - inline the fast cases of !==, same as for ===

        2.9% speedup on EarleyBoyer benchmark

        * VM/CTI.cpp:
        (JSC::CTI::compileOpStrictEq): Factored stricteq codegen into this function,
        and parameterized so it can do the reverse version as well.
        (JSC::CTI::privateCompileMainPass): Use the above for stricteq and nstricteq.
        * VM/CTI.h:
        (JSC::CTI::): Declare above stuff.
        * VM/Machine.cpp:
        (JSC::Machine::cti_op_nstricteq): Removed fast cases, now handled inline.

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

13 years ago2008-09-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Tue, 23 Sep 2008 10:59:42 +0000 (10:59 +0000)]
2008-09-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver Hunt.

        Bug 20989: Aguments constructor should put 'callee' and 'length' properties in a more efficient way

        Make special cases for the 'callee' and 'length' properties in the
        Arguments object.

        This is somewhere between a 7.8% speedup and a 10% speedup on the V8
        Raytrace benchmark, depending on whether it is run alone or with the
        other V8 benchmarks.

        * kjs/Arguments.cpp:

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

13 years agoBuild fix (add file i forgot in r36801)
oliver@apple.com [Tue, 23 Sep 2008 10:03:51 +0000 (10:03 +0000)]
Build fix (add file i forgot in r36801)

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

13 years agoJavaScriptCore:
mjs@apple.com [Tue, 23 Sep 2008 07:46:55 +0000 (07:46 +0000)]

2008-09-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - speed up instanceof some more

        ~2% speedup on EarleyBoyer

        The idea here is to record in the StructureID whether the class
        needs a special hasInstance or if it can use the normal logic from

        Based on this I inlined the real work directly into
        cti_op_instanceof and put the fastest checks up front and the
        error handling at the end (so it should be fairly straightforward
        to split off the beginning to be inlined if desired).

        I only did this for CTI, not the bytecode interpreter.

        * API/JSCallbackObject.h:
        * ChangeLog:
        * VM/Machine.cpp:
        * kjs/JSImmediate.h:
        * kjs/TypeInfo.h:


2008-09-23  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - speed up instanceof some more

        ~2% speedup on EarleyBoyer

        (WebCore updates.)

        * bindings/js/JSQuarantinedObjectWrapper.h:

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

13 years ago2008-09-22 Darin Adler <darin@apple.com>
oliver@apple.com [Tue, 23 Sep 2008 07:40:49 +0000 (07:40 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

- fix https://bugs.webkit.org/show_bug.cgi?id=21008
  getting pixels by index from CanvasPixelArray is unnecessarily slow

Reviewed by Oliver Hunt

* GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
  indexSetter. These are now both inlined, so in the header.
* bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
  function is what's used for HasCustomIndexGetter. Also moved the
  indexSetter function here.

* bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
  to use a getByIndex member function rather than an indexGetter stat
  member function in a property slot. This lets us avoid the property
  slot mechanism's rule where it turns numeric property names into
  strings in the identifier table, which is good because that's slow.
  Also added a new property CustomHeader that allows IDL files to
  introduce headers to be included -- useful when we have functions
  that we want to inline into the binding.

* html/CanvasPixelArray.idl: Added CustomHeader attribute.

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

13 years ago No review, build fix only.
eric@webkit.org [Tue, 23 Sep 2008 07:23:14 +0000 (07:23 +0000)]
    No review, build fix only.

        Another blind stab in the dark.

        * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.

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

13 years ago No review, build fix only.
eric@webkit.org [Tue, 23 Sep 2008 07:04:11 +0000 (07:04 +0000)]
    No review, build fix only.

        Third time's the charm, eh?  My local build is sadly still not done...

        * platform/graphics/AffineTransform.cpp: remove extra &
        * platform/graphics/AffineTransform.h: remove extra &

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

13 years ago2008-09-22 Eric Seidel <eric@webkit.org>
eric@webkit.org [Tue, 23 Sep 2008 06:47:51 +0000 (06:47 +0000)]
2008-09-22  Eric Seidel  <eric@webkit.org>

        No review, build fix only.

        * platform/graphics/AffineTransform.cpp: remove extra ;

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

13 years ago No review, build fix only.
eric@webkit.org [Tue, 23 Sep 2008 06:38:10 +0000 (06:38 +0000)]
    No review, build fix only.

        Speculative fix for the build while I wait for my compile to finish.

        * platform/graphics/AffineTransform.cpp:

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

13 years agoWebKit/win:
alice.liu@apple.com [Tue, 23 Sep 2008 06:25:03 +0000 (06:25 +0000)]

2008-09-22  Alice Liu  <alice.liu@apple.com>

        Added record-memory-win.vcproj tool to the solution

        Reviewed by Steve Falkenburg.

        * WebKit.vcproj/WebKit.sln:


2008-09-22  Alice Liu  <alice.liu@apple.com>

        Adding a stand-alone Windows console application to record a process's memory usage

        Reviewed by Steve Falkenburg.

        * record-memory-win: Added.
        * record-memory-win/main.cpp: Added.
        * record-memory-win/record-memory-win.vcproj: Added.

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

13 years ago2008-09-22 Dirk Schulze <vbs85@gmx.de>
eric@webkit.org [Tue, 23 Sep 2008 06:05:59 +0000 (06:05 +0000)]
2008-09-22  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by eseidel.  Landed by eseidel.

        Moved makeMapBetweenRects from SVG/CG to AffineTransform
        Make SVGResourceClipper::applyClip more cross-platform

        * platform/graphics/AffineTransform.cpp:
        * platform/graphics/AffineTransform.h:
        * svg/graphics/cg/CgSupport.cpp:
        * svg/graphics/cg/CgSupport.h:
        * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
        * svg/graphics/cg/SVGResourceClipperCg.cpp:

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

13 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 23 Sep 2008 05:22:22 +0000 (05:22 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - https://bugs.webkit.org/show_bug.cgi?id=21019
          make FunctionBodyNode::ref/deref fast

        Speeds up v8-raytrace by 7.2%.

        * kjs/nodes.cpp:
        (JSC::FunctionBodyNode::FunctionBodyNode): Initialize m_refCount to 0.
        * kjs/nodes.h:
        (JSC::FunctionBodyNode::ref): Call base class ref once, and thereafter use
        (JSC::FunctionBodyNode::deref): Ditto, but the deref side.

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

13 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 23 Sep 2008 05:12:23 +0000 (05:12 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        Pointed out by Sam Weinig.

        * kjs/Arguments.cpp:
        (JSC::Arguments::fillArgList): Fix bad copy and paste. Oops!

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

13 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 23 Sep 2008 04:55:51 +0000 (04:55 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Cameron Zwarich.

        - https://bugs.webkit.org/show_bug.cgi?id=20983
          ArgumentsData should have some room to allocate some extra arguments inline

        Speeds up v8-raytrace by 5%.

        * kjs/Arguments.cpp:
        (JSC::ArgumentsData::ArgumentsData): Use a fixed buffer if there are 4 or fewer
        extra arguments.
        (JSC::Arguments::Arguments): Use a fixed buffer if there are 4 or fewer
        extra arguments.
        (JSC::Arguments::~Arguments): Delete the buffer if necessary.
        (JSC::Arguments::mark): Update since extraArguments are now Register.
        (JSC::Arguments::fillArgList): Added special case for the only case that's
        actually used in the practice, when there are no parameters. There are some
        other special cases in there too, but that's the only one that matters.
        (JSC::Arguments::getOwnPropertySlot): Updated to use setValueSlot since there's
        no operation to get you at the JSValue* inside a Register as a "slot".

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

13 years ago2008-09-22 Alp Toker <alp@nuanti.com>
alp@webkit.org [Tue, 23 Sep 2008 03:08:57 +0000 (03:08 +0000)]
2008-09-22  Alp Toker  <alp@nuanti.com>

        Reviewed by David Hyatt.

        [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed

        Obey GTK+ focusing conventions for controls and anchor elements.

        It could be interesting to push these decisions up to Settings or
        ChromeClient some day but this gets things working.

        Right and middle click events still need some work to match GTK+

        * html/HTMLAnchorElement.cpp:
        * html/HTMLFormControlElement.cpp:
        * page/EventHandler.cpp:

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

13 years agoFix typo in ChangeLog
weinig@apple.com [Tue, 23 Sep 2008 02:46:31 +0000 (02:46 +0000)]
Fix typo in ChangeLog

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

13 years ago2008-09-22 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 23 Sep 2008 02:44:09 +0000 (02:44 +0000)]
2008-09-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Maciej Stachowiak.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=21014
        Speed up for..in by using StructureID to avoid call hasProperty

        Speeds up fasta by 8%.

        * VM/JSPropertyNameIterator.cpp:
        * VM/JSPropertyNameIterator.h:
        * kjs/PropertyNameArray.h:
        * kjs/StructureID.cpp:
        * kjs/StructureID.h:

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

13 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Tue, 23 Sep 2008 01:24:31 +0000 (01:24 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        * page/mac/FrameMac.mm:
        (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.

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

13 years agoWebCore:
weinig@apple.com [Tue, 23 Sep 2008 01:19:56 +0000 (01:19 +0000)]

2008-09-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
        Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
        and setSelectionRange.  This also allows us to remove the legacy JSHTMLInputElementBase

        - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
          non-selectable input types, but return undefined when accessed.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSHTMLInputElementBase.cpp: Removed.
        * bindings/js/JSHTMLInputElementBase.h: Removed.
        * bindings/js/JSHTMLInputElementCustom.cpp: Added.
        * bindings/js/JSHTMLInputElementCustom.h: Added.
        * html/HTMLInputElement.idl:


2008-09-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=21013

        * fast/forms/selection-functions.html: Update test to match new
        behavior that we now share with Firefox.

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

13 years ago Reviewed by Sam Weinig.
mitz@apple.com [Tue, 23 Sep 2008 00:48:17 +0000 (00:48 +0000)]
    Reviewed by Sam Weinig.

        - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message

        Not testable in DumpRenderTree or in Safari

        * page/mac/FrameMac.mm:
        (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
        case that the selection start node is a block.

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

13 years ago2008-09-22 Alexander Orlov <alexander.orlov@loxal.net>
weinig@apple.com [Mon, 22 Sep 2008 23:18:56 +0000 (23:18 +0000)]
2008-09-22  Alexander Orlov  <alexander.orlov@loxal.net>

        Reviewed by Darin Adler.

        * projects/performance/index.html: Remove dead link to the 24fun test.

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

13 years ago2008-09-22 Kelvin Sherlock <ksherlock@gmail.com>
weinig@apple.com [Mon, 22 Sep 2008 23:01:43 +0000 (23:01 +0000)]
2008-09-22  Kelvin Sherlock  <ksherlock@gmail.com>

        Updated and tweaked by Sam Weinig.

        Reviewed by Geoffrey Garen.

        Bug 20020: Proposed enhancement to JavaScriptCore API

        Add JSObjectMakeArray, JSObjectMakeDate, JSObjectMakeError, and JSObjectMakeRegExp
        functions to create JavaScript Array, Date, Error, and RegExp objects, respectively.

        * API/JSObjectRef.cpp: The functions
        * API/JSObjectRef.h: Function prototype and documentation
        * JavaScriptCore.exp: Added functions to exported function list
        * API/tests/testapi.c: Added basic functionality tests.

        * kjs/DateConstructor.cpp:
        Replaced static JSObject* constructDate(ExecState* exec, JSObject*, const ArgList& args)
        with JSObject* constructDate(ExecState* exec, const ArgList& args).
        Added static JSObject* constructWithDateConstructor(ExecState* exec, JSObject*, const ArgList& args) function

        * kjs/DateConstructor.h:
        added prototype for JSObject* constructDate(ExecState* exec, const ArgList& args)

        * kjs/ErrorConstructor.cpp:
        removed static qualifier from ErrorInstance* constructError(ExecState* exec, const ArgList& args)

        * kjs/ErrorConstructor.h:
        added prototype for ErrorInstance* constructError(ExecState* exec, const ArgList& args)

        * kjs/RegExpConstructor.cpp:
        removed static qualifier from JSObject* constructRegExp(ExecState* exec, const ArgList& args)

        * kjs/RegExpConstructor.h:
        added prototype for JSObject* constructRegExp(ExecState* exec, const ArgList& args)

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

13 years agoWebCore:
hyatt@apple.com [Mon, 22 Sep 2008 22:17:40 +0000 (22:17 +0000)]

2008-09-22  David Hyatt  <hyatt@apple.com>


        Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.

        Reviewed by Sam Weinig

        * page/EventHandler.cpp:


2008-09-22  David Hyatt  <hyatt@apple.com>

        Layout test for double click scrollbar bug.

        Reviewed by Sam Weinig

        * fast/events/scrollbar-double-click-expected.txt: Added.
        * fast/events/scrollbar-double-click.html: Added.

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

13 years ago2008-09-22 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Mon, 22 Sep 2008 21:59:45 +0000 (21:59 +0000)]
2008-09-22  Matt Lilek  <webkit@mattlilek.com>

        Not reviewed, Windows build fix.

        * kjs/Arguments.cpp:
        * kjs/FunctionPrototype.cpp:

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

13 years ago No review, rollback only.
eric@webkit.org [Mon, 22 Sep 2008 21:44:28 +0000 (21:44 +0000)]
    No review, rollback only.

        Roll out Peter's change (per his request)
        This change has been the source of numerous regressions
        (several of which were latent bugs revealed by this change,
        others were bugs in this change)

        * platform/graphics/BitmapImage.cpp:
        * platform/graphics/BitmapImage.h:
        * platform/graphics/cairo/ImageCairo.cpp:
        * platform/graphics/cg/ImageCG.cpp:
        * platform/graphics/qt/ImageQt.cpp:
        * platform/graphics/wx/ImageWx.cpp:

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

13 years agoWebCore:
mitz@apple.com [Mon, 22 Sep 2008 21:32:14 +0000 (21:32 +0000)]

        Reviewed by Sam Weinig.

        - fix <rdar://problem/5158514> Switch the complex text code path to Core Text

        Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html

        * config.h: Use Core Text if not building for Leopard or Tiger.


        Reviewed by Sam Weinig.

        - tests and updated results for <rdar://problem/5158514> Switch the complex text code path to Core Text

        * platform/mac-snowleopard/fast: Added.
        * platform/mac-snowleopard/fast/text: Added.
        * platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.checksum: Added.
        * platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.png: Added.
        * platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.txt: Added.
        * platform/mac-snowleopard/fast/text/myanmar-shaping-expected.checksum: Added.
        * platform/mac-snowleopard/fast/text/myanmar-shaping-expected.png: Added.
        * platform/mac-snowleopard/fast/text/myanmar-shaping-expected.txt: Added.
        * platform/mac-snowleopard/fast/text/myanmar-shaping.html: Added.
        * platform/mac-snowleopard/fast/text/resources: Added.
        * platform/mac-snowleopard/fast/text/resources/Garuda.ttf: Added from http://www.w3.org/International/tests/test-webfonts/test-thai-tibetan-myanmar.html.
        * platform/mac-snowleopard/fast/text/resources/mm3.ttf: Added from http://www.w3.org/International/tests/test-webfonts/test-thai-tibetan-myanmar.html.
        * platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.checksum: Added.
        * platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.png: Added.
        * platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.txt: Added.
        * platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html: Added.

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

13 years agoJavaScriptCore:
weinig@apple.com [Mon, 22 Sep 2008 21:20:52 +0000 (21:20 +0000)]

2008-09-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=20982
        Speed up the apply method of functions by special-casing array and 'arguments' objects

        1% speedup on v8-raytrace.

        Test: fast/js/function-apply.html

        * kjs/Arguments.cpp:
        * kjs/Arguments.h:
        * kjs/FunctionPrototype.cpp:
        * kjs/JSArray.cpp:
        * kjs/JSArray.h:


2008-09-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=20982

        * fast/js/function-apply-expected.txt: Added.
        * fast/js/function-apply.html: Added.
        * fast/js/resources/function-apply.js: Added.

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

13 years ago2008-09-22 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 22 Sep 2008 21:04:45 +0000 (21:04 +0000)]
2008-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - https://bugs.webkit.org/show_bug.cgi?id=20993
          Array.push/pop need optimized cases for JSArray

        3% or so speedup on DeltaBlue benchmark.

        * kjs/ArrayPrototype.cpp:
        (JSC::arrayProtoFuncPop): Call JSArray::pop when appropriate.
        (JSC::arrayProtoFuncPush): Call JSArray::push when appropriate.

        * kjs/JSArray.cpp:
        (JSC::JSArray::putSlowCase): Set m_fastAccessCutoff when appropriate, getting
        us into the fast code path.
        (JSC::JSArray::pop): Added.
        (JSC::JSArray::push): Added.
        * kjs/JSArray.h: Added push and pop.

        * kjs/operations.cpp:
        (JSC::throwOutOfMemoryError): Don't inline this. Helps us avoid PIC branches.

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

13 years ago2008-09-22 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Mon, 22 Sep 2008 21:03:02 +0000 (21:03 +0000)]
2008-09-22  David Hyatt  <hyatt@apple.com>


        Add code that paints an NSView-less scroller using HIThemeDrawTrack.  This scrollbar is still not
        switched on.  There are still a few more refinements to make to the rendering and behavior.

        Reviewed by Darin Adler

        * platform/ScrollbarThemeComposite.cpp:
        * platform/ScrollbarThemeComposite.h:
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        * platform/mac/WidgetMac.mm:

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