14 years agoJavaScriptCore:
mjs@apple.com [Tue, 27 May 2008 02:10:23 +0000 (02:10 +0000)]

2008-05-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - make addStaticGlobals protected instead of private so subclasses can use it

        * JavaScriptCore.exp:
        * kjs/JSGlobalObject.h:


2008-05-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - bind the window's "document" and "window" properties to static slots
        1.7% speedup on Acid3 test 26

        Only the "document" part matters for Acid3, but since I was doing
        this anyway, "window" also seemed like a good one to optimize.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Allocate variable
        slots for document and window; but just put null in the document
        slot for now.
        (WebCore::JSDOMWindowBase::updateDocument): Fill in the document
        (WebCore::JSDOMWindowBase::~JSDOMWindowBase): Make our shell stop
        tracking us.
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell): Allocate HashSet
        for our still-not-dead inner windows.
        (WebCore::JSDOMWindowShell::updateDocument): Update all our
        inner windows ever (to make sure the update to the document
        property shows up everywhere).
        * bindings/js/JSDOMWindowShell.h:
        (WebCore::JSDOMWindowShell::setWindow): Update our hash.
        (WebCore::JSDOMWindowShell::clearFormerWindow): Ditto.
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::toJS): Don't set self as a property map property of
        the window, this is no longer necessary.
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::initScript): Update document for the
        newly created window.
        * bindings/js/kjs_proxy.h:
        * page/Frame.cpp:
        (WebCore::Frame::setDocument): If the document is not null,
        update our window.


2008-05-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

        - update test result for document/window being allocated to var slots

        * http/tests/security/cross-frame-access-put-expected.txt:

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

14 years ago2008-05-26 James Ren <jamesjren@gmail.com>
collinj@webkit.org [Mon, 26 May 2008 23:49:08 +0000 (23:49 +0000)]
2008-05-26  James Ren  <jamesjren@gmail.com>

        Reviewed by Sam Weinig, landed by Collin Jackson.


        Modified some http/security layout tests to allow them to run in Firefox.

        * http/tests/security/aboutBlank/xss-DENIED-set-opener.html:
        * http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html:
        * http/tests/security/resources/localhost-accesssor.html:
          Added a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=434912

        * http/tests/security/resources/cross-frame-access.js:
          Changed shouldBe to also gracefully handle exceptions

        * http/tests/security/resources/foreign-domain-iframe-for-selection-test.html:
          Added feature detection for setBaseAndExtent and selectAllChildren

        * http/tests/security/cross-frame-access-enumeration-expected.txt:
        * http/tests/security/cross-frame-access-enumeration.html:
          Fixed typo (missing '.html')

        * http/tests/security/cross-frame-access-call-expected.txt:
        * http/tests/security/cross-frame-access-call.html:
        * http/tests/security/cross-frame-access-first-time.html:
        * http/tests/security/cross-frame-access-put.html:
        * http/tests/security/cross-frame-access-selection.html:
          Caught exceptions that Firefox throws, to allow the test to run to completion.

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

14 years ago2008-05-26 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 26 May 2008 21:13:03 +0000 (21:13 +0000)]
2008-05-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        This patch does two things:

        * It adds a toJSNewlyCreated function for creating JS wrappers for nodes where we know
        that the node doesn't have a wrapper. This avoids a hash lookup.

        * It adds toJSNewlyCreated methods for JSElement and JSText.

        All in all this is a 4.3% speedup on Acid 3 test 26.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSElementCustom.cpp:
        * bindings/js/JSNodeCustom.cpp:
        * bindings/js/JSTextCustom.cpp: Added.
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.idl:

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

14 years agoFixed date of ChangeLog entry.
darin@apple.com [Mon, 26 May 2008 20:53:32 +0000 (20:53 +0000)]
Fixed date of ChangeLog entry.

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

14 years ago2008-05-26 Sam Weinig <sam@webkit.org>
weinig@apple.com [Mon, 26 May 2008 20:41:08 +0000 (20:41 +0000)]
2008-05-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Inline the getOwnPropertySlot for JSNode, JSEventTargetNode, JSElement,
        and JSDocument for a 1-2% speedup on Acide 3 test 26.

        * bindings/js/JSEventTargetNode.cpp:
        * bindings/js/JSEventTargetNode.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * dom/Document.idl:
        * dom/Element.idl:
        * dom/Node.idl:

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

14 years ago2008-05-25 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 26 May 2008 20:07:40 +0000 (20:07 +0000)]
2008-05-25  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

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

        Removed code that would only useful if if there was any way to create an Entity
        node or if we populated EntityReference nodes. It's likely that we'll remove
        these node types entirely in some future version of WebKit, depending in part
        on what happens with these in HTML 5.

        1.8% speedup of Acid3 test 26.

        The only read-only nodes we ever create are EntityReference nodes.
        These are only created by explicit calls to the Document.createEntityReference
        function. Since the created nodes are read-only, there can be no children of
        these nodes, so no other types of nodes can be read-only despite the rule that
        makes descendants of Entity and EntityReference nodes read-only.

        * bindings/objc/DOM.mm: Removed unneeded include.

        * dom/Attr.cpp:
        (WebCore::Attr::setValue): Removed unnecessary isReadOnlyNode check.
        (WebCore::Attr::setNodeValue): Ditto.
        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData): Removed unnecessary isReadOnlyNode check.
        (WebCore::CharacterData::substringData): Don't initialize the ec variable before
        calling checkCharDataOperation, since that function already does it.
        (WebCore::CharacterData::appendData): Removed unnecessary isReadOnlyNode check.
        (WebCore::CharacterData::insertData): Don't initialize ec.
        (WebCore::CharacterData::deleteData): Ditto.
        (WebCore::CharacterData::replaceData): Ditto.
        (WebCore::CharacterData::setNodeValue): Removed now-misleading comment.
        (WebCore::CharacterData::checkCharDataOperation): Removed unnecessary
        isReadOnlyNode check.
        * dom/CharacterData.h: Made checkCharDataOperation private and non-virtual
        since it's never used or defined in any other class.

        * dom/Element.cpp:
        (WebCore::Element::setAttribute): Removed unneeded isReadOnlyNode check.

        * dom/Entity.cpp: Removed the entire contents of this file.

        * dom/Entity.h: Replaced the class with a stub -- just enough to keep the
        public bindings (JavaScript and Objective-C compiling), but the class is
        abstract and can't be instantianted.

        * dom/EntityReference.cpp: Removed unused constructor.
        (WebCore::EntityReference::cloneNode): Removed unneeded code and comments
        to clone nonexistent child nodes.
        * dom/EntityReference.h: Removed unused constructor and unnecessary override
        of childTypeAllowed, since no children are allowed at all.

        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::setNamedItem): Removed unneeded isReadOnlyNode check.
        (WebCore::NamedAttrMap::removeNamedItem): Ditto.
        * dom/NamedAttrMap.h: Removed isReadOnlyNode function.

        * dom/Node.cpp: Removed the old isReadOnlyNode function. It made lots of
        virtual nodeType function calls.
        * dom/Node.h:
        (WebCore::Node::isReadOnlyNode): Replaced the old virtual isReadOnlyNode
        function with a new simple non-virtual one.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::setData): Removed unneeded isReadOnlyNode

        * dom/Text.cpp:
        (WebCore::Text::splitText): Removed unneeded isReadOnlyNode check.
        (WebCore::Text::replaceWholeText): Removed unnecessary isReadOnlyNode assertion.
        There is no reason for this function to go out of its way to mention the
        read-only node issue when none of the other DOM mutation functions do.

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

14 years ago2008-05-26 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Mon, 26 May 2008 19:38:14 +0000 (19:38 +0000)]
2008-05-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam.

        Cleanup SecurityOrigin::canAccess.  Removed comment referring to an
        old version of the code.  Removed some useless code.

        * platform/SecurityOrigin.cpp:

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

14 years agoChangeLog fixup: 'prevent subtle errors' is a little more reassuring than 'lead to...
ggaren@apple.com [Mon, 26 May 2008 18:57:17 +0000 (18:57 +0000)]
ChangeLog fixup: 'prevent subtle errors' is a little more reassuring than 'lead to subtle errors'

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

14 years ago2008-05-26 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Mon, 26 May 2008 18:50:55 +0000 (18:50 +0000)]
2008-05-26  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Fixed <rdar://problem/5960859> After an eval of a non-string or a syntax
        error, all profile stack frames are incorrect

        SunSpider reports a .3% speedup, possibly because eval of a string is a
        little more efficient now.

        * VM/Machine.cpp:
        (KJS::callEval): Make sure to call didExecute when returning early. I
        simplified this function to remove one early return, making the job
        of adding special code to early returns easier.

        (KJS::Machine::execute): Use the new function ExecState when notifying
        the profiler. (This doesn't change behavior now, but it  might lead to
        subtle errors in the future.)

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

14 years ago2008-05-26 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Mon, 26 May 2008 18:43:19 +0000 (18:43 +0000)]
2008-05-26  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam.

        Add a name to the source frame.

        * fast/frames/viewsource-empty-attribute-value-expected.txt:
        * fast/frames/viewsource-empty-attribute-value.html:

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

14 years ago2008-05-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
jmalonzo@webkit.org [Mon, 26 May 2008 12:45:15 +0000 (12:45 +0000)]
2008-05-26  Gwenole Beauchesne  <gbeauchesne@splitted-desktop.org>

        Reviewed by Alp Toker.

        * platform/gtk/LocalizedStringsGtk.cpp:
        (WebCore::contextMenuItemTagSelectAll): Fix GTK+ version check.

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

14 years agoJavaScriptCore:
hausmann@webkit.org [Mon, 26 May 2008 12:29:11 +0000 (12:29 +0000)]

2008-05-23  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Fixed toLower and toUpper implementations to allow being called
        with a null result pointer and resultLength, to determine the
        number of characters needed for the case conversion.


008-05-23  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon.

        Added a comment to the skipping of fast/css/case-transform.html that
        mentions the reason of failure being a Qt bug.

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

14 years ago2008-05-26 Tor Arne Vestbø <tavestbo@trolltech.com>
hausmann@webkit.org [Mon, 26 May 2008 11:39:42 +0000 (11:39 +0000)]
2008-05-26  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Simon

        Update QtWebkit layout-tests in accordance with bug 18976


        The test fast/xsl/xslt-text.xml is on our skipped list due to
        missing XSLT support in Qt.

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

14 years ago<rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseN...
mrowe@apple.com [Mon, 26 May 2008 02:29:58 +0000 (02:29 +0000)]
<rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined

Follow-up for r33052.  _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.

Reviewed by Darin Adler.

* WebView/WebFrame.mm:
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
* WebView/WebFrameInternal.h:
* WebView/WebFramePrivate.h:

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

14 years ago<rdar://problem/3582905> elements on separate pages need to be distinct
cfleizach@apple.com [Sun, 25 May 2008 23:55:41 +0000 (23:55 +0000)]
<rdar://problem/3582905> elements on separate pages need to be distinct

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

14 years ago2008-05-25 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Sun, 25 May 2008 23:23:25 +0000 (23:23 +0000)]
2008-05-25  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - don't repaint nodes that are removed before layout
        4.3% speedup on Acid3 test 26

        Mitz points out the new flag can also be used to optimize other
        cases of needless repaint such as

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeChildNode): If the child has never had a layout,
        don't bother to repaint it, since there's nothing to dirty.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::RenderObject): Initialize m_everHadLayout to false.
        (WebCore::RenderObject::setNeedsLayout): Set m_everHadLayout to true if we
        are being marked as not needing layout.
        * rendering/RenderObject.h:

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

14 years agoWebCore:
mitz@apple.com [Sun, 25 May 2008 20:13:52 +0000 (20:13 +0000)]

        Reviewed by Darin Adler.

        - fix https://bugs.webkit.org/show_bug.cgi?id=19086
          <rdar://problem/5962254> REGRESSION (r28519-r28535): Caret doesn't paint past the right edge of a block

        Test: fast/repaint/caret-outside-block.html

        * editing/SelectionController.cpp:
        (WebCore::repaintRectForCaret): Restored this function which was removed
        in r28523, but changed it to inflate only the width.
        (WebCore::SelectionController::caretRepaintRect): Changed back to use
        (WebCore::SelectionController::recomputeCaretRect): Ditto.


        Reviewed by Darin Adler.

        - pixel test for https://bugs.webkit.org/show_bug.cgi?id=19086
          <rdar://problem/5962254> REGRESSION (r28519-r28535): Caret doesn't paint past the right edge of a block

        * fast/repaint/caret-outside-block.html: Added.
        * platform/mac/fast/repaint/caret-outside-block-expected.checksum: Added.
        * platform/mac/fast/repaint/caret-outside-block-expected.png: Added.
        * platform/mac/fast/repaint/caret-outside-block-expected.txt: Added.

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

14 years ago2008-05-25 Marco Barisione <marco.barisione@collabora.co.uk>
alp@webkit.org [Sun, 25 May 2008 14:36:53 +0000 (14:36 +0000)]
2008-05-25  Marco Barisione  <marco.barisione@collabora.co.uk>

        Reviewed by Alp Toker.

        [CURL] Allow \n as line terminator for headers

        The line terminator for message-header fields should be CRLF. However,
        it is recommended to recognise as a line terminator also a single LF.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::headerCallback): Allow headers to be terminated by "\n" and
        not just by "\r\n".

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

14 years ago2008-05-25 Alp Toker <alp@nuanti.com>
alp@webkit.org [Sun, 25 May 2008 14:14:19 +0000 (14:14 +0000)]
2008-05-25  Alp Toker  <alp@nuanti.com>

        Reviewed by Niko.

        Drop WebView focus when the widget is focused out.

        * webkit/webkitwebview.cpp:

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

14 years ago Reviewed by Alexey.
rwlbuis@webkit.org [Sun, 25 May 2008 11:30:05 +0000 (11:30 +0000)]
    Reviewed by Alexey.

        Fix the test.

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

14 years ago2008-05-25 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Sun, 25 May 2008 11:15:15 +0000 (11:15 +0000)]
2008-05-25  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Alp Toker.

        [Gtk] Remove build options --svg-experimental and --cross-document-messaging

        * configure.ac
        * WebCore/GNUmakefile.am:

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

14 years ago RS=Oliver
rwlbuis@webkit.org [Sun, 25 May 2008 10:41:23 +0000 (10:41 +0000)]

        Fix SVG test results for tiger buildbot.

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

14 years ago2008-05-25 Sriram Neelakandan <sriram.neelakandan@gmail.com>
alp@webkit.org [Sun, 25 May 2008 09:55:28 +0000 (09:55 +0000)]
2008-05-25  Sriram Neelakandan  <sriram.neelakandan@gmail.com>

        Reviewed by Alp Toker.

        [Gtk] Plugin Load crashes with NP_FULL mode

        Fix crash due to uninitialized variable.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:

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

14 years agoFix leopard results following changes to SVG path dumping.
oliver@apple.com [Sun, 25 May 2008 07:46:25 +0000 (07:46 +0000)]
Fix leopard results following changes to SVG path dumping.


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

14 years ago Fixing a typo in the previous commit made as a last minute change.
ap@webkit.org [Sun, 25 May 2008 07:35:57 +0000 (07:35 +0000)]
    Fixing a typo in the previous commit made as a last minute change.

        * kjs/regexp_object.cpp:

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

14 years ago Reviewed by Darin.
ap@webkit.org [Sun, 25 May 2008 07:15:42 +0000 (07:15 +0000)]
    Reviewed by Darin.

        Changed regular expression matching result array to be lazily filled, because many callers
        only care about it being non-null.

        2% improvement on Acid3 test 26.

        * kjs/array_instance.cpp: Added a void* member to ArrayStorage for ArrayInstance subclasses
        to use.
        * kjs/array_instance.h:
        Added methods to access it from subclasses.

        * kjs/regexp_object.cpp:
        RegExpMatchesArray is a subclass of ArrayInstance that isn't filled until
        accessed for the first time.

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

14 years ago Reviewed by Eric.
rwlbuis@webkit.org [Sun, 25 May 2008 07:11:04 +0000 (07:11 +0000)]
    Reviewed by Eric.

        Unify path data debug output

        Implement unified path data output for Mac svg tests.

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

14 years ago2008-05-24 Andreia Gaita <shana@isninja.com>
alp@webkit.org [Sun, 25 May 2008 05:25:11 +0000 (05:25 +0000)]
2008-05-24  Andreia Gaita  <shana@isninja.com>

        Reviewed by Alp Toker.

        cygwin-downloader.py fixes.

        Remove two non-working mirrors. Add a check for missing dependency
        packages to avoid bailing out on an inconsistent Cygwin package list.

        * CygwinDownloader/cygwin-downloader.py:

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

14 years agoFixes a huge leak with the Inspector where it was protecting
timothy@apple.com [Sun, 25 May 2008 04:47:46 +0000 (04:47 +0000)]
Fixes a huge leak with the Inspector where it was protecting
a large object that was not being unprotected.

<rdar://problem/5961999> Inspector protects a large JavaScript
object and never unprotects it (large leak)

Reviewed by Darin Adler.

* page/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed): Call close()
and removed a call to stopDebugging() and moved it to close().
(WebCore::InspectorController::close): Add stopDebugging() and
stopUserInitiatedProfiling(). Removed an ASSERT and added an
if statement before calling JSValueUnprotect. We don't always have
a m_scriptContext and m_scriptObject.

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

14 years agoIgnore generated bytecode.html file.
darin@apple.com [Sun, 25 May 2008 04:24:00 +0000 (04:24 +0000)]
Ignore generated bytecode.html file.

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

14 years ago2008-05-24 Alp Toker <alp@nuanti.com>
alp@webkit.org [Sun, 25 May 2008 04:19:22 +0000 (04:19 +0000)]
2008-05-24  Alp Toker  <alp@nuanti.com>

        GTK+/Win32 build fixes. Link against Windows ICU without using
        icu-config since it's not available on that platform.

        Link against Ws2_32 when the curl http backend is chosen since we
        use select() directly.

        * configure.ac:

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

14 years ago2008-05-24 Alp Toker <alp@nuanti.com>
alp@webkit.org [Sun, 25 May 2008 03:45:50 +0000 (03:45 +0000)]
2008-05-24  Alp Toker  <alp@nuanti.com>

        Win32/gcc3 build fix in Pango font backend. UChar needs to be
        explicitly cast to gunichar2.

        * platform/graphics/gtk/FontGtk.cpp:

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

14 years ago2008-05-24 Alp Toker <alp@nuanti.com>
alp@webkit.org [Sun, 25 May 2008 01:58:00 +0000 (01:58 +0000)]
2008-05-24  Alp Toker  <alp@nuanti.com>

        Win32/gcc build fix. Remove MSVC assumption.

        * wtf/TCSpinLock.h:

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

14 years ago2008-05-24 Alp Toker <alp@nuanti.com>
alp@webkit.org [Sun, 25 May 2008 01:51:07 +0000 (01:51 +0000)]
2008-05-24  Alp Toker  <alp@nuanti.com>

        webkitgtk fails to build from source: "Database Tracker" has not been declared

        GTK+ fix for building without database support.
        exceededDatabaseQuota() still needs to be present, just a no-op.

        * WebCoreSupport/ChromeClientGtk.cpp:

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

14 years agoFixes a crash where a new Inspector would get an old
timothy@apple.com [Sun, 25 May 2008 01:01:35 +0000 (01:01 +0000)]
Fixes a crash where a new Inspector would get an old
JSInspectedObjectWrapper for a user agent CSSStyleDeclaration.
Since these style objects shared between pages, the wrapper cache
would have a wrapper for the object still. But the wrapper was
for a previous global object and with a disconnected frame. This
fixes the wrapper cache so wrappers are remembered per global object
and the object they are wrapping.

<rdar://problem/5958567> repro crash in WebCore::Frame::keepAlive()
opening inspector window after closing it

Reviewed by Darin Adler.

* bindings/js/JSInspectedObjectWrapper.cpp:
(WebCore::wrappers): Return a GlobalObjectWrapperMap reference.
(WebCore::JSInspectedObjectWrapper::wrap): Find the WrapperMap
by the dynamicGlobalObject then find the wrapper for unwrappedObject.
(WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Changes
how the wrapper is added to the wrapper cache.
(WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Changes
how the wrapper is removed from the wrapper cache.
* bindings/js/JSQuarantinedObjectWrapper.h:
(WebCore::JSQuarantinedObjectWrapper:unwrappedGlobalObject): Added.

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

14 years ago Reviewed by Maciej.
ap@webkit.org [Sat, 24 May 2008 21:12:12 +0000 (21:12 +0000)]
    Reviewed by Maciej.

        Optimize Node::textContent() to avoid O(n^2) string appending behavior.

        1.6% speedup at Acid3 test 26.

        * WebCore.xcodeproj/project.pbxproj:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCoreSources.bkl:
        * WebCore.vcproj/WebCore.vcproj:
        * platform/text/StringBuilder.cpp: Added.
        * platform/text/StringBuilder.h: Added.
        Added a simple class to efficiently build a string by appending. Potentially, it can be
        extended to be more like java.lang.StringBuilder, but we don't need that much flexibility now.

        * dom/Node.cpp:
        * dom/Node.h:
        Changed to use StringBuilder.

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

14 years ago2008-05-24 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Sat, 24 May 2008 13:26:11 +0000 (13:26 +0000)]
2008-05-24  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Bug 9191: JS*ElementWrapperFactory should be autogenerated

        This is a first pass for generation of JS*ElementWrapperFactory, in the long term we should move the make_names.pl
        intelligence to the *.in files.

        - Add a new parameter to make_names.pl --wrapperFactory which works like --wrapper but generates the
        JS*ElementWrapperFactory files.

        - Removed JS*ElementWrapperFactory files in WebCore/bindings/js, replaced by the generated ones.

        - Updated the build systems to account for the previous changes.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * bindings/js/JSHTMLElementWrapperFactory.cpp: Removed.
        * bindings/js/JSHTMLElementWrapperFactory.h: Removed.
        * bindings/js/JSSVGElementWrapperFactory.cpp: Removed.
        * bindings/js/JSSVGElementWrapperFactory.h: Removed.
        * dom/make_names.pl:

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

14 years agoFixed ChangeLog.
ap@webkit.org [Sat, 24 May 2008 12:48:37 +0000 (12:48 +0000)]
Fixed ChangeLog.

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

14 years ago Rubber-stamped, tweaked and landed by Alexey.
ap@webkit.org [Sat, 24 May 2008 12:43:02 +0000 (12:43 +0000)]
    Rubber-stamped, tweaked and landed by Alexey.

        Build fix for gcc 4.3. Added missing standard includes.

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

14 years agoFixes a bug where a timer would keep firing after the Inspector
timothy@apple.com [Sat, 24 May 2008 06:34:40 +0000 (06:34 +0000)]
Fixes a bug where a timer would keep firing after the Inspector
was closed. It turns out this timer wasn't needed anymore now
that we can add an event listener to the inspected page and have
it get called in the Inspector's context.


Reviewed by Mark Rowe.

* page/inspector/ElementsPanel.js:

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

14 years ago2008-05-23 Anthony Ricaud <rik24d@gmail.com>
pewtermoose@webkit.org [Sat, 24 May 2008 03:52:09 +0000 (03:52 +0000)]
2008-05-23  Anthony Ricaud  <rik24d@gmail.com>

        Changes the largerResourcesButton tooltip to toggle.


        Reviewed by Tim Hatcher.

        * WebCore/English.lproj/localizedStrings.js: New string and clean an
        double string "Dock to main window."
        * WebCore/page/inspector/ResourcesPanel.js: Toggle the tooltip and
        change the default tooltip

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

14 years agoVersioning.
mrowe@apple.com [Sat, 24 May 2008 02:47:26 +0000 (02:47 +0000)]

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

14 years ago2008-05-24 Jan Michael Alonzo <jmalonzo@webkit.org>
jmalonzo@webkit.org [Sat, 24 May 2008 01:33:26 +0000 (01:33 +0000)]
2008-05-24  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Darin Adler.

        Remove useQmake usage. QMake build doesn't support Gtk port

        Also fix 2 occurences of "Web Kit". Should be WebKit.

        * Scripts/build-webkit:
        * Scripts/run-javascriptcore-tests:
        * Scripts/run-launcher:
        * Scripts/run-webkit-tests:
        * Scripts/webkitdirs.pm:

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

14 years agoCheck Paste, instead of checking Copy twice.
justin.garcia@apple.com [Sat, 24 May 2008 00:56:46 +0000 (00:56 +0000)]
Check Paste, instead of checking Copy twice.

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

14 years agoWebCore:
justin.garcia@apple.com [Sat, 24 May 2008 00:29:00 +0000 (00:29 +0000)]

2008-05-23  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin.

        <rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget)

        Execute cut, copy and paste if they are invoked explicitly, via execCommand or -[WebView copy:], even
        if they are disabled.  This will fire oncopy, oncut and onpaste, but won't perform any other work, like
        writing to the pasteboard during cut/copy or deleting the selection during cut/paste.  This matches FF3,
        which actually goes further and fires oncopy on any Command-C.

        * editing/EditorCommand.cpp:


2008-05-23  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin.

        <rdar://problem/5939887> REGRESSION: With no selection, copy does not fire oncopy handler (affects CIFilterBrowser widget)

        * editing/execCommand/5939887-expected.txt: Added.
        * editing/execCommand/5939887.html: Added.

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

14 years agoAdds a percentage toggle button the profile view status bar that
timothy@apple.com [Fri, 23 May 2008 23:51:47 +0000 (23:51 +0000)]
Adds a percentage toggle button the profile view status bar that
changes the time columns between absolute and percents.


Reviewed by Kevin McCullough.

* English.lproj/localizedStrings.js: New strings.
* page/inspector/Images/percentButtons.png: Added.
* page/inspector/ProfileView.js: Make the button and add it to the
status bar. Make clicking toggle the showAsPercent* properties.
* page/inspector/inspector.css: New styles.

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

14 years ago2008-05-23 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 23 May 2008 23:44:40 +0000 (23:44 +0000)]
2008-05-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        <rdar://problem/5959886> REGRESSION: Assertion failure in JSImmediate::toString when loading GMail (19217)

        Change List to store a JSValue*** pointer + an offset instead of a JSValue** pointer to protect against the case where
        a register file changes while a list object points to its buffer.

        * VM/Machine.cpp:
        * kjs/JSActivation.cpp:
        * kjs/list.cpp:
        * kjs/list.h:

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

14 years ago2008-05-23 William Siegrist <wsiegrist@apple.com>
mrowe@apple.com [Fri, 23 May 2008 23:41:29 +0000 (23:41 +0000)]
2008-05-23  William Siegrist  <wsiegrist@apple.com>

        Reviewed by Mark Rowe

        Rename duplicated "notice" id to "terms".

        * css/main.css:
        * nav.inc:

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

14 years ago2008-05-23 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 23 May 2008 23:37:32 +0000 (23:37 +0000)]
2008-05-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        LayoutTests that send an OPTIONS request don't work on Tiger or Window due
        to a bug in Apache 1.3

        * platform/mac-tiger/Skipped:
        * platform/win/Skipped:

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

14 years ago2008-05-23 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 23 May 2008 23:07:19 +0000 (23:07 +0000)]
2008-05-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Sam.

        <rdar://problem/5960012> JSProfiler: Stack overflow if recursion is
        too deep.
        -Use a simple depth limit to restrict too deep of recursion.

        * profiler/Profile.cpp:
        * profiler/Profile.h:

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

14 years agoRemoved terrible lie from ChangeLog.
ggaren@apple.com [Fri, 23 May 2008 21:30:05 +0000 (21:30 +0000)]
Removed terrible lie from ChangeLog.

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

14 years ago2008-05-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 23 May 2008 21:28:31 +0000 (21:28 +0000)]
2008-05-23  Geoffrey Garen  <ggaren@apple.com>

        Rolling back in r34085, with performance resolved.

        Apparently, passing the eval function to callEval gave GCC a hernia.

        Reviewed by Darin Adler, Kevin McCullough, and Oliver Hunt.

        Fixed <rdar://problem/5959447> Crashes and incorrect reporting in the
        JavaScript profiler

        * VM/Machine.cpp:
        (KJS::callEval): Made this profiler hooks slightly faster by passing in
        the eval function.

        (KJS::Machine::unwindCallFrame): Fixed incorrect reporting / a crash
        when unwinding from inside eval and/or program code: detect the
        difference, and do the right thing. Also, be sure to notify the profiler
        *before* deref'ing the scope chain, since the profiler uses the scope chain.

        (KJS::Machine::execute): Fixed incorrect reporting / crash when calling
        a JS function re-entrently: Machine::execute(FunctionBodyNode*...)
        should not invoke the didExecute hook, because op_ret already does that.
        Also, use the new function's ExecState when calling out to the profiler.
        (Not important now, but could have become a subtle bug later.)

        (KJS::Machine::privateExecute): Fixed a hard to reproduce crash when
        profiling JS functions: notify the profiler *before* deref'ing the scope
        chain, since the profiler uses the scope chain.

        * kjs/object.cpp:
        (KJS::JSObject::call): Removed these hooks, because they are now unnecessary.

        * profiler/Profile.cpp: Added a comment to explain a subtlety that only
        Kevin and I understood previously. (Now, the whole world can understand!)

        * profiler/Profiler.cpp:
        (KJS::shouldExcludeFunction): Don't exclude .call and .apply. That was
        a hack to fix bugs that no longer exist.

        Finally, sped things up a little bit by changing the "Is the profiler
        running?" check into an ASSERT, since we only call into the profiler
        when it's running:


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

14 years agoJavaScriptCore:
ggaren@apple.com [Fri, 23 May 2008 20:49:39 +0000 (20:49 +0000)]

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

        Reviewed by Oliver Hunt.

        - fixed <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com

        SunSpider reports no change.

        This is a reworking of r34073, which I rolled out because it caused
        lots of crashes.

        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::CodeGenerator): Use removeDirect to nix old
        properties whose names collide with new functions. (Don't use putWithAttributes
        because that tries to write to the register file, which hasn't grown to
        fit this program yet.)


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

        Reviewed by Oliver.

        - test case <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com

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

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

14 years ago2008-05-23 Darin Adler <darin@apple.com>
mrowe@apple.com [Fri, 23 May 2008 19:42:26 +0000 (19:42 +0000)]
2008-05-23  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        As allocateNumber is used via jsNumberCell outside of JavaScriptCore,
        we need to provide a non-inlined version of it to avoid creating a
        weak external symbol.

        * JavaScriptCore.exp:
        * kjs/AllInOneFile.cpp:
        * kjs/collector.cpp:
        * kjs/collector.h:
        * kjs/value.h:
        (KJS::NumberImp::operator new):

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

14 years agoJavaScriptCore:
ggaren@apple.com [Fri, 23 May 2008 19:34:20 +0000 (19:34 +0000)]

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

        Rolled out r34073 because it caused lots of layout test crashes.


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

        Rolled out r34073 because it caused lots of layout test crashes.

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

14 years ago2008-05-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 23 May 2008 19:12:31 +0000 (19:12 +0000)]
2008-05-23  Geoffrey Garen  <ggaren@apple.com>

        Rolled out r34085 because it measured as a 7.6% performance regression.

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

14 years ago2008-05-23 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 23 May 2008 17:50:51 +0000 (17:50 +0000)]
2008-05-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler, Kevin McCullough, and Oliver Hunt.

        Fixed <rdar://problem/5959447> Crashes and incorrect reporting in the
        JavaScript profiler

        * VM/Machine.cpp:
        (KJS::callEval): Made this profiler hooks slightly faster by passing in
        the eval function.

        (KJS::Machine::unwindCallFrame): Fixed incorrect reporting / a crash
        when unwinding from inside eval and/or program code: detect the
        difference, and do the right thing. Also, be sure to notify the profiler
        *before* deref'ing the scope chain, since the profiler uses the scope chain.

        (KJS::Machine::execute): Fixed incorrect reporting / crash when calling
        a JS function re-entrently: Machine::execute(FunctionBodyNode*...)
        should not invoke the didExecute hook, because op_ret already does that.
        Also, use the new function's ExecState when calling out to the profiler.
        (Not important now, but could have become a subtle bug later.)

        (KJS::Machine::privateExecute): Fixed a hard to reproduce crash when
        profiling JS functions: notify the profiler *before* deref'ing the scope
        chain, since the profiler uses the scope chain.

        * kjs/object.cpp:
        (KJS::JSObject::call): Removed these hooks, because they are now unnecessary.

        * profiler/Profile.cpp: Added a comment to explain a subtlety that only
        Kevin and I understood previously. (Now, the whole world can understand!)

        * profiler/Profiler.cpp:
        (KJS::shouldExcludeFunction): Don't exclude .call and .apply. That was
        a hack to fix bugs that no longer exist.

        Finally, sped things up a little bit by changing the "Is the profiler
        running?" check into an ASSERT, since we only call into the profiler
        when it's running:


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

14 years ago2008-05-23 Alp Toker <alp@nuanti.com>
alp@webkit.org [Fri, 23 May 2008 17:48:41 +0000 (17:48 +0000)]
2008-05-23  Alp Toker  <alp@nuanti.com>

        GTK+ fixes for building without database support.

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

14 years agoFixes a bug where excluding nodes from the profile could
timothy@apple.com [Fri, 23 May 2008 17:41:40 +0000 (17:41 +0000)]
Fixes a bug where excluding nodes from the profile could
show an empty parent node.

<rdar://problem/5959573> Excluding nodes from the profile could show
an empty parent node

Reviewed by Kevin McCullough.

* page/inspector/ProfileView.js: Only say we have children if
all of our children nodes are visible.

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

14 years ago2008-05-23 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 23 May 2008 17:19:15 +0000 (17:19 +0000)]
2008-05-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add IconFetcher to project.

        * WebCore.vcproj/WebCore.vcproj:

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

14 years agoFixes a bug where the Web Insepctor would jump back to
timothy@apple.com [Fri, 23 May 2008 17:15:08 +0000 (17:15 +0000)]
Fixes a bug where the Web Insepctor would jump back to
Elements each time it is opened instead of staying at the
last selected panel.

<rdar://problem/5959475> Inspector jumps to the Elements panel
each time it is opened, instead of staying at the previous panel

Reviewed by Adam Roben.

* page/InspectorController.cpp:
(WebCore::InspectorController::setWindowVisible): Reset
m_showAfterVisible to CurrentPanel, so the next time setWindowVisible
is called it will use CurrentPanel unless showPanel was called again.

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

14 years ago Windows build fix
aroben@apple.com [Fri, 23 May 2008 17:03:57 +0000 (17:03 +0000)]
    Windows build fix

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add the
        profiler directory to the include path.

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

14 years ago<rdar://problem/5933759> REGRESSION: Frames don't appear as AX children of the top...
cfleizach@apple.com [Fri, 23 May 2008 16:54:53 +0000 (16:54 +0000)]
<rdar://problem/5933759> REGRESSION: Frames don't appear as AX children of the top level web area

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

14 years ago2008-05-22 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Fri, 23 May 2008 16:38:45 +0000 (16:38 +0000)]
2008-05-22  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        Add IWebIconFetcher interface and implementation.

        * Interfaces/IWebFramePrivate.idl:
        * Interfaces/IWebIconFetcher.idl: Added.
        * Interfaces/WebKit.idl:
        * WebFrame.cpp:
        * WebFrame.h:
        * WebIconFetcher.cpp: Added.
        * WebIconFetcher.h: Added.
        * WebKit.vcproj/WebKit.vcproj:

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

14 years ago2008-05-21 Siraj Razick <siraj.razick@collabora.co.uk>
hausmann@webkit.org [Fri, 23 May 2008 15:23:21 +0000 (15:23 +0000)]
2008-05-21  Siraj Razick  <siraj.razick@collabora.co.uk>

        Reviewed by Simon.

        Add <param name="classid"/> support for application/x-qt-object plugins

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

14 years ago2008-05-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
hausmann@webkit.org [Fri, 23 May 2008 14:24:38 +0000 (14:24 +0000)]
2008-05-23  Ariya Hidayat  <ariya.hidayat@trolltech.com>

        Reviewed by Simon.

        For Qt port, support painting to native Windows HDC.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:

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

14 years agoSQUIRRELFISH: JavaScript error messages are missing informative text
oliver@apple.com [Fri, 23 May 2008 14:23:23 +0000 (14:23 +0000)]
SQUIRRELFISH: JavaScript error messages are missing informative text

Reviewed by Anders

Partial fix.
Tidy up error messages, makes a couple of them provide slightly more info.
Inexplicably leads to a 1% SunSpider Progression.

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

14 years agoFix call stack reported by profiler when entering event handlers.
oliver@apple.com [Fri, 23 May 2008 11:37:32 +0000 (11:37 +0000)]
Fix call stack reported by profiler when entering event handlers.

Reviewed by Tim H

JSObject::call was arbitrarily notifying the profiler when it was
called, even if it was JS code, which notifies the profile on entry
in any case.

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

14 years agoJavaScriptCore:
mjs@apple.com [Fri, 23 May 2008 10:43:08 +0000 (10:43 +0000)]

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

        Reviewed by Oliver.

        - fixed <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com

        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::CodeGenerator): Delete any existing
        properties before creating the function (this should really be
        done at execution time not codegen time).


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

        Reviewed by Oliver.

        - test case <rdar://problem/5957662> REGRESSION(r33943-r33980): Can't send email , attach file or save as draft from hotmail.com

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

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

14 years agoFixes a bug where the Inspector could have 0ms timers firing
timothy@apple.com [Fri, 23 May 2008 10:12:33 +0000 (10:12 +0000)]
Fixes a bug where the Inspector could have 0ms timers firing
even after it is closed.


Reviewed by Oliver Hunt.

* page/inspector/DatabasesPanel.js: Removes setTimeouts that call
the same function with a 0ms delay. These we not doing any good anyway,
so they weren't needed and just caused problems.
* page/inspector/ElementsPanel.js: Ditto.
* page/inspector/ProfilesPanel.js: Ditto.
* page/inspector/ResourcesPanel.js: Ditto.

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

14 years ago+2008-05-16 Alp Toker <alp@nuanti.com>
alp@webkit.org [Fri, 23 May 2008 09:54:05 +0000 (09:54 +0000)]
+2008-05-16  Alp Toker  <alp@nuanti.com>

        Build fix for gcc 3. Default constructor required in ExecState,
        used by OldInterpreterExecState.

        * kjs/ExecState.h:

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

14 years agoMake the Inspector correctly populate the profiles when
timothy@apple.com [Fri, 23 May 2008 09:41:52 +0000 (09:41 +0000)]
Make the Inspector correctly populate the profiles when
closed and re-opened.

Reviewed by Adam Roben.

* page/InspectorController.cpp:
(WebCore::InspectorController::populateScriptObjects): Call populateInterface
in inspector.js.
* page/inspector/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.populateInterface): If visible,
call _populateProfiles. Else just set this._shouldPopulateProfiles to true.
(WebInspector.ProfilesPanel.prototype.reset): Don't call _populateProfiles.
Just set this._shouldPopulateProfiles to true.
(WebInspector.ProfilesPanel.prototype._populateProfiles): Delete
* page/inspector/inspector.js:
(WebInspector.populateInterface): Added. Call populateInterface on all the
panels if they implement it.

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

14 years agoFix <rdar://problem/5954997> global-recursion-on-full-stack.html crashes under guardm...
mrowe@apple.com [Fri, 23 May 2008 09:38:30 +0000 (09:38 +0000)]
Fix <rdar://problem/5954997> global-recursion-on-full-stack.html crashes under guardmalloc.

Growing the register file with uncheckedGrow from within Machine::execute is not safe as the
register file may be too close to its maximum size to grow successfully.  By using grow,
checking the result and throwing a stack overflow error we can avoid crashing.

Reviewed by Oliver Hunt.

* VM/Machine.cpp:
* VM/RegisterFile.h: Remove the now-unused uncheckedGrow.

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

14 years ago2008-05-23 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 23 May 2008 09:32:06 +0000 (09:32 +0000)]
2008-05-23  Kevin McCullough  <kmccullough@apple.com>

        RS = Adam.

        Editorial changes

        * manual-tests/inspector/profiler-test-apply.html:
        * manual-tests/inspector/profiler-test-document-dot-write.html:
        * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html:
        * manual-tests/inspector/profiler-test-one-execution-context.html:
        * manual-tests/inspector/profiler-test-two-execution-contexts.html:

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

14 years agoRemove JAVASCRIPT_PROFILER define
oliver@apple.com [Fri, 23 May 2008 09:07:06 +0000 (09:07 +0000)]

RS=Kevin McCullough

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

14 years agoFixes the bug where the profile was not added when finished.
timothy@apple.com [Fri, 23 May 2008 09:01:42 +0000 (09:01 +0000)]
Fixes the bug where the profile was not added when finished.

<rdar://problem/5958851> Stop Profiling from the Develop menu does
not add the Profile to the Inspector

Reviewed by Adam Roben.

* page/InspectorController.cpp:
(WebCore::InspectorController::stopUserInitiatedProfiling): Call
addProfile with the result of stopProfiling.

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

14 years ago<rdar://problem/5951561> Turn on JavaScript Profiler
oliver@apple.com [Fri, 23 May 2008 08:56:21 +0000 (08:56 +0000)]
<rdar://problem/5951561> Turn on JavaScript Profiler

Reviewed by Kevin McCullough

Flipped the switch on the profiler, rearranged how we
signal the the profiler is active so that calls aren't
needed in the general case.

Also fixed the entry point for Machine::execute(FunctionBodyNode..)
to correctly indicate function exit.

Results in a 0.7-1.0% regression in SunSpider :-(

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

14 years agoTweak the Web Insector toolbar look to be smaller when attached to
timothy@apple.com [Fri, 23 May 2008 08:35:29 +0000 (08:35 +0000)]
Tweak the Web Insector toolbar look to be smaller when attached to
the inspected page.

Reviewed by Adam Roben.

* page/inspector/inspector.css:

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

14 years agoFix attaching and detaching the Web Inspector. This change removes
timothy@apple.com [Fri, 23 May 2008 08:03:56 +0000 (08:03 +0000)]
Fix attaching and detaching the Web Inspector. This change removes
the clunky animation that never looked right and was causing issues
where the inspected WebView would get into a no useable state.

<rdar://problem/5958812> Attaching and Detaching the Web Inspector
can cause the inspected WebVIew to be unusable

Reviewed by Adam Roben.

* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController close]): Removes animation code.
Sets the frame directly and does a displayIfNeeded to prevent
showing the Inspector in the page and in the Inspector window.
(-[WebInspectorWindowController showWindow:]): Removes animation code.
Sets the frame directly.
(-[WebInspectorWindowController attach]): Simplified.
(-[WebInspectorWindowController detach]): Ditto.

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

14 years agoFix the Qt build by adding profiler/ to the include path and providing
hausmann@webkit.org [Fri, 23 May 2008 07:58:09 +0000 (07:58 +0000)]
Fix the Qt build by adding profiler/ to the include path and providing
an empty stub for AXObjectCache::handleAriaRoleChanged to build without

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

14 years ago2008-05-23 Alice Liu <alice.liu@apple.com>
alice.liu@apple.com [Fri, 23 May 2008 07:05:44 +0000 (07:05 +0000)]
2008-05-23  Alice Liu  <alice.liu@apple.com>

        Reviewed by Mark Rowe.

        Remove call to function whose body was commented out. Returning the
        children for a menu button by the normal calculation works just as well.

        * page/AccessibilityRenderObject.cpp:
        * page/AccessibilityRenderObject.h:

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

14 years ago2008-05-22 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 23 May 2008 06:57:44 +0000 (06:57 +0000)]
2008-05-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        Fix a bug in the profiler where time in the current function is given to

        * profiler/Profile.cpp:
        (KJS::Profile::didExecute): Set the start time and then call didExecute
        to calculate the time spent in this function.
        * profiler/ProfileNode.cpp: Remove confusing calculations that are no
        longer necessary.
        * profiler/ProfileNode.h: Expose access to the start time to allow the
        simpler time calculations above.

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

14 years agoFixes the bug where resource would show up multiple times in the
timothy@apple.com [Fri, 23 May 2008 06:57:32 +0000 (06:57 +0000)]
Fixes the bug where resource would show up multiple times in the
Inspector. This happened when a resource was used multiple times or
when the preloader was scanning ahead to fetch resources.

<rdar://problem/5689373> Cached resources re-appear in Web Inspector
for each access (18223)

Reviewed by Adam Roben.

* page/InspectorController.cpp:
(WebCore::InspectorController::addResource): Add the URL to m_knownResources.
(WebCore::InspectorController::removeResource): Remove the URL from m_knownResources
(WebCore::InspectorController::didLoadResourceFromMemoryCache): If the URL
is in m_knownResources, then early return.
* page/InspectorController.h: Added m_knownResources.

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

14 years ago2008-05-22 Alice Liu <alice.liu@apple.com>
alice.liu@apple.com [Fri, 23 May 2008 06:44:23 +0000 (06:44 +0000)]
2008-05-22  Alice Liu  <alice.liu@apple.com>

        Reviewed by Adele, Dan Bernstein.

        Fixed <rdar://problem/5943104> Need to implement ARIA role="menu" and related roles
        <rdar://problem/5943132> Need to implement ARIA role="menuitem"
        <rdar://problem/5943173> Need to implement ARIA role="menubar"

        These changes added a handler for determining the ARIA role when the
        attribute changes.  Before we were querying for the attribute over and
        over every time we queried for the role.
        * dom/Element.cpp:
        * page/AXObjectCache.cpp:
        * page/AXObjectCache.h:

        The rest of these changes implement menu, menuitem, and menubar. the last 2 of those
        have to, for now, be represented as a Group and MenuButton instead, because AppKit
        won't recognize menubar and menubaritems within apps.
        * page/AccessibilityObject.h:
        * page/AccessibilityRenderObject.cpp:
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper roleDescription]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):

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

14 years ago Make top-level resources show their full URLs again instead of just "/"
aroben@apple.com [Fri, 23 May 2008 06:43:23 +0000 (06:43 +0000)]
    Make top-level resources show their full URLs again instead of just "/"

        Reviewed by Tim Hatcher.

        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.displayName): If the title has gotten
        down to just "/", which will happen for, e.g., http://webkit.org/,
        just show the entire URL.

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

14 years agoShorten URLs shown in the Web Inspector to the file name. This makes
timothy@apple.com [Fri, 23 May 2008 06:12:57 +0000 (06:12 +0000)]
Shorten URLs shown in the Web Inspector to the file name. This makes
finding files in the Console or the Scripts panel easier.

Reviewed by Adam Roben.

* page/inspector/Console.js:
(WebInspector.ConsoleMessage.prototype.get shortURL): Removed dead code.
(WebInspector.ConsoleMessage.prototype.toMessageElement): Call WebInspector.displayNameForURL
for the URL before making the link element.
* page/inspector/ProfileView.js:
(WebInspector.ProfileDataGridNode.prototype.createCell): Use WebInspector.displayNameForURL.
* page/inspector/Resource.js:
(WebInspector.Resource.prototype.get displayName): Use trimURL to
trim the URL with the main resource's domain.
* page/inspector/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use WebInspector.displayNameForURL.
* page/inspector/StylesSidebarPane.js:
(WebInspector.StylePropertiesSection): Ditto.
* page/inspector/inspector.js:
(WebInspector.displayNameForURL): Added.
(WebInspector.resourceForURL): Check for a direct match in resourceURLMap first.

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

14 years ago Fix Bug 19204: Inspector should highlight source lines when following links...
aroben@apple.com [Fri, 23 May 2008 06:09:46 +0000 (06:09 +0000)]
    Fix Bug 19204: Inspector should highlight source lines when following links to them


        Reviewed by Tim Hatcher.

        Test: manual-tests/inspector/highlight-source-line.html

        * manual-tests/inspector/highlight-source-line.html: Added.
        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.showResource): Call
        highlightLine on the view if that function exists.
        * page/inspector/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.highlightLine): Added. Adds the
        webkit-highlighted-line class to the relevant line, then removes it
        after a short delay.
        (WebInspector.SourceFrame.prototype._loaded): Added styles for the
        highlighted line(s).
        * page/inspector/SourceView.js:
        (WebInspector.SourceView.prototype.highlightLine): Added. Calls
        through to the SourceFrame.

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

14 years ago Show "(Function object)" instead of "(JSInpectorCallbackWrapper object)"...
aroben@apple.com [Fri, 23 May 2008 06:09:33 +0000 (06:09 +0000)]
    Show "(Function object)" instead of "(JSInpectorCallbackWrapper object)" in profiles

        Reviewed by Kevin McCullough.

        * profiler/Profiler.cpp:
        (KJS::createCallIdentifier): Use JSObject::className instead of
        getting the class name from the ClassInfo directly. JSObject
        subclasses can override className to provide a custom class name, and
        it seems like we should honor that.

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

14 years ago Reviewed by Eric.
rwlbuis@webkit.org [Fri, 23 May 2008 06:08:09 +0000 (06:08 +0000)]
 Reviewed by Eric.

        SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size

        Reduce code size through shared base classes.

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

14 years ago2008-05-22 Alp Toker <alp@nuanti.com>
alp@webkit.org [Fri, 23 May 2008 05:49:30 +0000 (05:49 +0000)]
2008-05-22  Alp Toker  <alp@nuanti.com>

        GTK+/DirectFB build fix attempt.

        * plugins/PluginDatabase.cpp:
        * plugins/gtk/PluginDatabaseGtk.cpp:

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

14 years agoAdds Focus, Exclude and Restore buttons to the Profile view
timothy@apple.com [Fri, 23 May 2008 05:15:28 +0000 (05:15 +0000)]
Adds Focus, Exclude and Restore buttons to the Profile view
Status bar. Also adds a Record button to create new profiles.

<rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a profile node.
<rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a profile node.

Reviewed by Adam Roben.

* English.lproj/localizedStrings.js: Added new strings.
* page/JavaScriptProfile.cpp:
(WebCore::restoreAll): Call Profile::restoreAll.
(WebCore::ProfileClass): Added restoreAll to the static functions.
* page/inspector/Images/excludeButtons.png: Added.
* page/inspector/Images/focusButtons.png: Added.
* page/inspector/Images/recordButtons.png: Added.
* page/inspector/Images/reloadButtons.png: Added.
* page/inspector/ProfileView.js:
(WebInspector.ProfileView): Create the buttons elements.
(WebInspector.ProfileView.prototype.get statusBarItems): Return the three
status bar buttons.
(WebInspector.ProfileView.prototype.refresh): Only create ProfileDataGridNodes
for ProfileNodes that are visible.
(WebInspector.ProfileView.prototype.refreshShowAsPercents): Just call
refresh on the children, now that they have access to the ProfileView's properties.
(WebInspector.ProfileView.prototype._focusClicked): Call focus
on the profile, refresh the ProfileView and show the reset button.
(WebInspector.ProfileView.prototype._excludeClicked): Call exclude
on the profile, refresh the ProfileView and show the reset button.
(WebInspector.ProfileView.prototype._resetClicked): Call restoreAll
on the profile, refresh the ProfileView and hide the reset button.
(WebInspector.ProfileView.prototype._dataGridNodeSelected): Enable the
focus and exclude buttons.
(WebInspector.ProfileView.prototype._dataGridNodeDeselected): Disable the
focus and exclude buttons.
(WebInspector.ProfileDataGridNode): Take a ProfileView, and remove the
showPercentAs* arguments.
* page/inspector/ProfilesPanel.js: Add a record status bar button and
th ability to have per-view status bar buttons.
* page/inspector/inspector.css: New styles.

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

14 years ago<rdar://problem/5956612> ibtool crashes during build
mrowe@apple.com [Fri, 23 May 2008 05:10:10 +0000 (05:10 +0000)]
<rdar://problem/5956612> ibtool crashes during build

SCDynamicStoreCreate will return null if it cannot create a dynamic store object.  We need
to check for failure rather than continuing with a null store as this results in us
passing a null CFRunLoopSourceRef to CFRunLoopAddSource, which promptly crashes.

Reviewed by Tim Hatcher.

* platform/network/mac/NetworkStateNotifierMac.cpp:
(WebCore::NetworkStateNotifier::NetworkStateNotifier): Null check SCDynamicStoreCreate and
SCDynamicStoreCreateRunLoopSource as it is possible for them to fail.

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

14 years ago2008-05-22 Alp Toker <alp@nuanti.com>
alp@webkit.org [Fri, 23 May 2008 04:39:23 +0000 (04:39 +0000)]
2008-05-22  Alp Toker  <alp@nuanti.com>

        GTK+ build fix. Add JavaScriptCore/profiler to include path.

        * GNUmakefile.am:

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

14 years ago Implement sub-millisecond profiling on Windows
aroben@apple.com [Fri, 23 May 2008 04:32:47 +0000 (04:32 +0000)]
    Implement sub-millisecond profiling on Windows

        Reviewed by Kevin McCullough.

        * profiler/ProfileNode.cpp:
        (KJS::getCount): Added. On Windows, we use QueryPerformanceCounter. On
        other platforms, we use getCurrentUTCTimeWithMicroseconds.
        (KJS::ProfileNode::endAndRecordCall): Use getCount instead of
        (KJS::ProfileNode::startTimer): Ditto.

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

14 years agoFix a profiler assertion when calling a NodeList as a function
aroben@apple.com [Fri, 23 May 2008 04:32:33 +0000 (04:32 +0000)]
Fix a profiler assertion when calling a NodeList as a function


        Fix a profiler assertion when calling a NodeList as a function

        Reviewed by Kevin McCullough.

        * profiler/Profiler.cpp:
        (KJS::createCallIdentifier): Don't assert when a non-function object
        is called as a function. Instead, build up a CallIdentifier using the
        object's class name.


        Add a test for calling a NodeList as a function while profiling

        Reviewed by Kevin McCullough.

        * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Added.

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

14 years ago2008-05-22 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 23 May 2008 03:49:22 +0000 (03:49 +0000)]
2008-05-22  Kevin McCullough  <kmccullough@apple.com>

        Rubber stamped by Adam.

        -Added new profiler tests.

        * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Added.
        * manual-tests/inspector/profiler-test-constructor.html: Added.
        * manual-tests/inspector/profiler-test-document-dot-write.html: Added.
        * manual-tests/inspector/profiler-test-simple-no-level-change.html: Added.
        * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Added.
        * manual-tests/inspector/profiler-test-window-dot-eval.html: Added.

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

14 years ago2008-05-22 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 23 May 2008 03:46:18 +0000 (03:46 +0000)]
2008-05-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a
        profile node.
        -Expose the 'exclude' function to the WebInspector.
        -Also fix a bug with 'focus' and expose whether or not a node is visible

        * page/JavaScriptProfile.cpp: Renamed profileClass to have a capital P.
        (WebCore::focus): Now correctly compares against a ProfileNodeClass
        instead of ProfileClass.
        (WebCore::exclude): Expose 'exclude' function to the WebInspector.
        * page/JavaScriptProfileNode.cpp: Declare the ProfileNodeClass in the
        header so that ProfileClass can use it.
        (WebCore::getVisible): Expose a node's visiblity to the WebInspector.
        * page/JavaScriptProfileNode.h:

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

14 years ago Add functions to IWebInspector to start/stop profiling/debugging
aroben@apple.com [Fri, 23 May 2008 02:39:43 +0000 (02:39 +0000)]
    Add functions to IWebInspector to start/stop profiling/debugging


        Reviewed by Jon Honeycutt.

        * Interfaces/IWebInspector.idl:
        * WebInspector.cpp:
        * WebInspector.h:

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

14 years ago2008-05-22 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 23 May 2008 01:03:17 +0000 (01:03 +0000)]
2008-05-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        <rdar://problem/5951529> JSProfiler: Allow the profiler to "Exclude" a
        profile node.
        -Implement 'exclude'; where the excluded node attributes its time to its
        parent's self time.

        * JavaScriptCore.exp: Export the exclude function.
        * profiler/Profile.h:
        * profiler/ProfileNode.cpp:
        (KJS::ProfileNode::setTreeVisible): New function that allows a change in
        visiblitiy to be propogated to all the children of a node.
        (KJS::ProfileNode::exclude): If the node matches the callIdentifier then
        set the visiblity of this node and all of its children to false and
        attribute it's total time to it's caller's self time.
        * profiler/ProfileNode.h:

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

14 years agoFix access to static global variables in Windows release builds.
mrowe@apple.com [Fri, 23 May 2008 00:45:17 +0000 (00:45 +0000)]
Fix access to static global variables in Windows release builds.

Reviewed by Oliver Hunt.

* kjs/JSGlobalObject.h: Don't store a reference to an Identifier
in GlobalPropertyInfo as the Identifier is likely to be a temporary
and therefore may be destroyed before the GlobalPropertyInfo.

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