WebKit-https.git
12 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.

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

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: https://svn.webkit.org/repository/webkit/trunk@34096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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::Machine::privateExecute):
        * kjs/JSActivation.cpp:
        (KJS::JSActivation::createArgumentsObject):
        * kjs/list.cpp:
        (KJS::List::getSlice):
        * kjs/list.h:
        (KJS::List::List):
        (KJS::List::at):
        (KJS::List::append):
        (KJS::List::begin):
        (KJS::List::end):
        (KJS::List::buffer):

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34094 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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:
        (KJS::Profile::willExecute):
        (KJS::Profile::didExecute):
        * profiler/Profile.h:

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34091 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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:

        (KJS::Profiler::willExecute):
        (KJS::Profiler::didExecute):

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

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

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.)

LayoutTests:

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: https://svn.webkit.org/repository/webkit/trunk@34089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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::allocate):
        (KJS::Collector::allocateNumber):
        * kjs/collector.h:
        (KJS::Collector::allocate):
        (KJS::Collector::inlineAllocateNumber):
        * kjs/value.h:
        (KJS::NumberImp::operator new):

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

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

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

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

LayoutTests:

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

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

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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:

        (KJS::Profiler::willExecute):
        (KJS::Profiler::didExecute):

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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:
        (WebCore::GraphicsContext::getWindowsContext):
        (WebCore::GraphicsContext::releaseWindowsContext):

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

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

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).

LayoutTests:

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: https://svn.webkit.org/repository/webkit/trunk@34073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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.

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

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: https://svn.webkit.org/repository/webkit/trunk@34072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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:
        (KJS::ExecState::ExecState):

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

12 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
this._shouldPopulateProfiles.
* page/inspector/inspector.js:
(WebInspector.populateInterface): Added. Call populateInterface on all the
panels if they implement it.

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

12 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:
(KJS::Machine::execute):
* VM/RegisterFile.h: Remove the now-unused uncheckedGrow.

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

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

RS=Kevin McCullough

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34065 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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
accessibility.

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

12 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:
        (WebCore::AccessibilityRenderObject::addChildren):
        * page/AccessibilityRenderObject.h:

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

12 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
        (idle).

        * 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.
        (KJS::ProfileNode::insertNode):
        * profiler/ProfileNode.h: Expose access to the start time to allow the
        simpler time calculations above.
        (KJS::ProfileNode::startTime):
        (KJS::ProfileNode::setStartTime):

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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:
        (WebCore::Element::attributeChanged):
        * page/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleAriaRoleChanged):
        * 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:
        (WebCore::AccessibilityObject::isMenuRelated):
        (WebCore::AccessibilityObject::isMenu):
        (WebCore::AccessibilityObject::isMenuBar):
        (WebCore::AccessibilityObject::isMenuButton):
        (WebCore::AccessibilityObject::isMenuItem):
        * page/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore::AccessibilityRenderObject::isMenuRelated):
        (WebCore::AccessibilityRenderObject::isMenu):
        (WebCore::AccessibilityRenderObject::isMenuBar):
        (WebCore::AccessibilityRenderObject::isMenuButton):
        (WebCore::AccessibilityRenderObject::isMenuItem):
        (WebCore::siblingWithAriaRole):
        (WebCore::AccessibilityRenderObject::menuElementForMenuButton):
        (WebCore::AccessibilityRenderObject::menuForMenuButton):
        (WebCore::AccessibilityRenderObject::menuItemElementForMenu):
        (WebCore::AccessibilityRenderObject::menuButtonForMenu):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        (WebCore::RoleEntry::):
        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
        (WebCore::AccessibilityRenderObject::setAriaRole):
        (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
        (WebCore::AccessibilityRenderObject::addChildren):
        (WebCore::AccessibilityRenderObject::ariaMenuButtonChildren):
        * page/AccessibilityRenderObject.h:
        * page/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper roleDescription]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34056 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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

        <https://bugs.webkit.org/show_bug.cgi?id=19204>

        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: https://svn.webkit.org/repository/webkit/trunk@34055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34054 268f45cc-cd09-0410-ab3c-d52691b4dbfc

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

        https://bugs.webkit.org/show_bug.cgi?id=12053
        SVGPathSeg*(Abs|Rel) classses should be combined to reduce code size

        Reduce code size through shared base classes.

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

12 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:
        (WebCore::PluginDatabase::isPreferredPluginDirectory):
        * plugins/gtk/PluginDatabaseGtk.cpp:
        (WebCore::PluginDatabase::isPreferredPluginDirectory):

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

12 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: https://svn.webkit.org/repository/webkit/trunk@34051 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34050 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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
        getCurrentUTCTimeWithMicroseconds.
        (KJS::ProfileNode::startTimer): Ditto.

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

12 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

JavaScriptCore:

        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.

WebCore:

        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: https://svn.webkit.org/repository/webkit/trunk@34047 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34046 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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::getTitleCallback):
        (WebCore::getHeadCallback):
        (WebCore::focus): Now correctly compares against a ProfileNodeClass
        instead of ProfileClass.
        (WebCore::exclude): Expose 'exclude' function to the WebInspector.
        (WebCore::ProfileClass):
        (WebCore::toJS):
        * 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.
        (WebCore::ProfileNodeClass):
        * page/JavaScriptProfileNode.h:

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

12 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

        <rdar://5956403>

        Reviewed by Jon Honeycutt.

        * Interfaces/IWebInspector.idl:
        * WebInspector.cpp:
        (WebInspector::isDebuggingJavaScript):
        (WebInspector::toggleDebuggingJavaScript):
        (WebInspector::isProfilingJavaScript):
        (WebInspector::toggleProfilingJavaScript):
        * WebInspector.h:

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

12 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:
        (KJS::Profile::exclude):
        * 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: https://svn.webkit.org/repository/webkit/trunk@34043 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 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: https://svn.webkit.org/repository/webkit/trunk@34042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years agoWebCore:
weinig@apple.com [Fri, 23 May 2008 00:41:49 +0000 (00:41 +0000)]
WebCore:

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

        Reviewed by Anders Carlsson.

        <rdar://problem/5838772> Support cross-site XMLHttpRequest

        - Implement support for cross-site non-GET requests using the HTTP header
          Access-control mechanism.

        Tests: http/tests/xmlhttprequest/access-control-basic-allow-async.html
               http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html
               http/tests/xmlhttprequest/access-control-basic-not-get-allow.html

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::XMLHttpRequest):
        (WebCore::XMLHttpRequest::send):
        Don't continue send if inside the method check preflight (only happens for async).

        (WebCore::XMLHttpRequest::crossSiteAccessRequest):
        Add support for non-GET requests, starting off a method check preflight.

        (WebCore::XMLHttpRequest::handleAsynchronousMethodCheckResult):
        Handler for finishing up after an asynchronous method check has completed.

        (WebCore::XMLHttpRequest::didFinishLoading):
        (WebCore::XMLHttpRequest::didFinishLoadingMethodCheck):
        (WebCore::XMLHttpRequest::didReceiveResponse):
        (WebCore::XMLHttpRequest::didReceiveResponseMethodCheck):
        (WebCore::XMLHttpRequest::didReceiveData):
        Do a limited set of access control when in the method check preflight.
        * xml/XMLHttpRequest.h:

LayoutTests:

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

        Reviewed by Anders Carlsson.

        <rdar://problem/5838772> Support cross-site XMLHttpRequest

        - Add more tests for cross-domain XHR.

        * http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header.html:
        * http/tests/xmlhttprequest/access-control-basic-allow-async-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-allow-async.html: Added.
        * http/tests/xmlhttprequest/access-control-basic-denied.html:
        * http/tests/xmlhttprequest/access-control-basic-exclude.html:
        * http/tests/xmlhttprequest/access-control-basic-not-get-allow-async-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-not-get-allow-async.html: Added.
        * http/tests/xmlhttprequest/access-control-basic-not-get-allow-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-not-get-allow.html: Added.
        * http/tests/xmlhttprequest/resources/access-control-basic-non-get-allow.cgi: Added.

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

12 years agoMake sure we don't call findTreeElement with the same representedObject
timothy@apple.com [Thu, 22 May 2008 23:30:41 +0000 (23:30 +0000)]
Make sure we don't call findTreeElement with the same representedObject
again, to prevent infinite recursion. Added many comments to this
code so it can be understood later.

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

Reviewed by Adam Roben.

* page/inspector/treeoutline.js:

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

12 years agoRe-word the "Attach Debugger" overlay to never say "Attach". The new
timothy@apple.com [Thu, 22 May 2008 22:48:38 +0000 (22:48 +0000)]
Re-word the "Attach Debugger" overlay to never say "Attach". The new
wording is "Start Debugging". This makes the overlay consistent with
other wording used for starting the debugger. Also fixes the tooltips
for the Pause on Exceptions button.

Reviewed by Adam Roben and Dan Bernstein.

* English.lproj/localizedStrings.js: Adds new strings.
* page/inspector/ScriptsPanel.js: Changes the wording. Flips the
tooltips for the Pause on Exceptions buttons so the tooltip says
what will happen when the button is pressed.

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

12 years agoRemove some non-functional elements from the Scripts panel
timothy@apple.com [Thu, 22 May 2008 22:48:28 +0000 (22:48 +0000)]
Remove some non-functional elements from the Scripts panel
so they don't confuse users why they aren't working.

Reviewed by Adam Roben.

* page/inspector/ScriptsPanel.js: Removes the back/forward buttons
and the function menu.
* page/inspector/inspector.css: Make the files menu wider since there
is more room now.

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

12 years ago2008-05-22 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Thu, 22 May 2008 22:22:28 +0000 (22:22 +0000)]
2008-05-22  Kevin McCullough  <kmccullough@apple.com>

        Build fix.

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

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

12 years ago2008-05-22 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Thu, 22 May 2008 22:09:43 +0000 (22:09 +0000)]
2008-05-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Sam.

        <rdar://problem/5951561> Turn on JavaScript Profiler
        Get basic JS profiling working.
        Even with this patch the profiler will not be compiled in because we do
        not know the extend, if any, of the performance regression it would cause
        when it is not in use. However with these changes, if the profiler were
        on, it would not crash and show good profiling data.

        * VM/Machine.cpp: Instrument the calls sites that are needed for profiling.
        (KJS::callEval):
        (KJS::Machine::unwindCallFrame):
        (KJS::Machine::execute):
        (KJS::Machine::privateExecute):
        * kjs/function.cpp: Ditto.
        (KJS::globalFuncEval):
        * kjs/interpreter.cpp: Ditto.
        (KJS::Interpreter::evaluate):
        * profiler/Profile.cpp:
        (KJS::Profile::willExecute):
        (KJS::Profile::didExecute): Because we do not get a good context when
        startProfiling is called it is possible that m_currentNode will be at the
        top of the known stack when a didExecute() is called.  What we then do is
        create a new node that represents the function being exited and insert
        it between the head and the currently known children, since they should
        be children of this new node.
        * profiler/ProfileNode.cpp:
        (KJS::ProfileNode::ProfileNode):
        (KJS::ProfileNode::willExecute): Rename the add function for consistency.
        (KJS::ProfileNode::addChild): Appends the child to this node but also
        sets the parent pointer of the children to this node.
        (KJS::ProfileNode::insertNode): Insert a node between this node and its
        children.  Also set the time for the new node since it is now exiting
        and we don't really know when it started.
        (KJS::ProfileNode::stopProfiling):
        (KJS::ProfileNode::startTimer):
        * profiler/ProfileNode.h:
        (KJS::CallIdentifier::toString): Added for debugging.
        (KJS::ProfileNode::setParent):
        (KJS::ProfileNode::setSelfTime): Fixed an old bug where we set the
        visibleTotalTime not the visibleSelfTime.
        (KJS::ProfileNode::children):
        (KJS::ProfileNode::toString): Added for debugging.
        * profiler/Profiler.cpp: remove unecessary calls.
        (KJS::Profiler::startProfiling):

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

12 years agoRoll out 34034, it broke the build.
andersca@apple.com [Thu, 22 May 2008 22:05:10 +0000 (22:05 +0000)]
Roll out 34034, it broke the build.

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

12 years ago2008-05-21 Julien Chaffraix <jchaffraix@webkit.org>
jchaffraix@webkit.org [Thu, 22 May 2008 21:17:43 +0000 (21:17 +0000)]
2008-05-21  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric.

        Bug 9191: JS*ElementWrapperFactory should be autogenerated
        https://bugs.webkit.org/show_bug.cgi?id=9191

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

        - Added the new parameter to the different build systems.

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

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.pro:
        * 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: https://svn.webkit.org/repository/webkit/trunk@34034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-05-22 Steve Falkenburg <sfalken@apple.com>
sfalken@apple.com [Thu, 22 May 2008 20:39:47 +0000 (20:39 +0000)]
2008-05-22  Steve Falkenburg  <sfalken@apple.com>

        Build fix.

        * Interfaces/IWebInspector.idl:
        * Interfaces/WebKit.idl:
        * WebInspector.cpp:
        (WebInspector::unused1):
        * WebInspector.h:

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

12 years ago2008-05-22 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 22 May 2008 19:55:18 +0000 (19:55 +0000)]
2008-05-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Rename register arguments for op_call, op_call_eval, op_end, and op_construct
        to document what they are for.

        * VM/CodeGenerator.cpp:
        (KJS::CodeGenerator::emitCall):
        (KJS::CodeGenerator::emitCallEval):
        (KJS::CodeGenerator::emitEnd):
        (KJS::CodeGenerator::emitConstruct):
        * VM/CodeGenerator.h:
        * VM/Machine.cpp:
        (KJS::Machine::privateExecute):

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

12 years ago Reviewed by Darin Adler.
mitz@apple.com [Thu, 22 May 2008 19:51:17 +0000 (19:51 +0000)]
    Reviewed by Darin Adler.

        - fix broken documentation of
          webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:

        * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
        -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:

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

12 years agoBug 19116: SquirrelFish shouldn't regress on variable lookups
oliver@apple.com [Thu, 22 May 2008 19:36:52 +0000 (19:36 +0000)]
Bug 19116: SquirrelFish shouldn't regress on variable lookups
<https://bugs.webkit.org/show_bug.cgi?id=19116>

Reviewed by Darin.

Last of the multiscope look up optimisations.  This is a wash overall on SunSpider
but is a factor of 5-10 improvement in multiscope read/write/modify (eg. ++, --, +=,
... applied to any non-local var).

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

12 years ago Rubber-stamped by Darin.
ap@webkit.org [Thu, 22 May 2008 19:03:02 +0000 (19:03 +0000)]
    Rubber-stamped by Darin.

        Fix tests failing on Tiger.

        * fast/loader/data-url-encoding-html.html:
        * fast/loader/data-url-encoding-html-expected.txt:
        * fast/loader/data-url-encoding-svg.html:
        * fast/loader/data-url-encoding-svg-expected.txt:
        Changed these tests to always use an explicit charset - otherwise, they were failing on
        Leopard because of a CFNetwork bug, and on Tiger because of WebKit bug 19193. Also, changed
        them to test that decoding was performed correctly, not just that document.charset matched
        expectations.

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

12 years ago <rdar://problem/5954233> Add method to release free memory from FastMalloc
ddkilzer@apple.com [Thu, 22 May 2008 18:40:38 +0000 (18:40 +0000)]
    <rdar://problem/5954233> Add method to release free memory from FastMalloc

        Patch suggested by Mark Rowe.  Rubber-stamped by Maciej.

        * JavaScriptCore.exp: Export _releaseFastMallocFreeMemory.
        * wtf/FastMalloc.cpp:
        (WTF::TCMallocStats::): Added releaseFastMallocFreeMemory() for both
        system malloc and FastMalloc code paths.
        * wtf/FastMalloc.h: Define releaseFastMallocFreeMemory().

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

12 years ago<rdar://problem/5956403> Update the Develop menu to match the new Inspector items
timothy@apple.com [Thu, 22 May 2008 18:37:59 +0000 (18:37 +0000)]
<rdar://problem/5956403> Update the Develop menu to match the new Inspector items

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

12 years agoWebCore:
andersca@apple.com [Thu, 22 May 2008 18:27:35 +0000 (18:27 +0000)]
WebCore:

2008-05-22  Josh Aas  <joshmoz@gmail.com>

        Reviewed by Anders.

        <rdar://problem/5956429>
        https://bugs.webkit.org/show_bug.cgi?id=19192
        remove NPNVpluginEventModel, fix example plugin

        Remove NPNVpluginEventModel enum variable.

        * bridge/npapi.h:

WebKit/mac:

2008-05-22  Josh Aas  <joshmoz@gmail.com>

        Reviewed by Anders.

        <rdar://problem/5956429>
        https://bugs.webkit.org/show_bug.cgi?id=19192
        remove NPNVpluginEventModel, fix example plugin

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView getVariable:value:]):

WebKitExamplePlugins:

2008-05-22  Josh Aas  <joshmoz@gmail.com>

        Reviewed by Anders.

        Use correct enum.

        * NetscapeCocoaPlugin/main.m:
        (NPP_New):
        * NetscapeInputMethodPlugin/main.m:
        (NPP_New):

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

12 years ago..:
andersca@apple.com [Thu, 22 May 2008 18:26:10 +0000 (18:26 +0000)]
..:

2008-05-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by Maciej.

        Add WebIconFetcher files.

        * WebKit.xcodeproj/project.pbxproj:

../mac:

2008-05-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by Maciej.

        Add WebIconFetcher.

        * Misc/WebIconFetcher.h: Added.
        * Misc/WebIconFetcher.mm: Added.
        (WebIconFetcherClient::WebIconFetcherClient):
        (WebIconFetcherClient::finishedFetchingIcon):
        (WebIconFetcherClient::setFetcher):
        (-[WebIconFetcher init]):
        (-[WebIconFetcher dealloc]):
        (-[WebIconFetcher finalize]):
        (-[WebIconFetcher cancel]):
        (-[WebIconFetcher _initWithIconFetcher:client:]):
        (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
        * Misc/WebIconFetcherInternal.h: Added.
        * WebView/WebFrame.mm:
        (-[WebFrame fetchApplicationIcon:selector:]):
        * WebView/WebFramePrivate.h:

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

12 years agoRoll out r34020 as it causes recursion tests to fail.
oliver@apple.com [Thu, 22 May 2008 09:53:25 +0000 (09:53 +0000)]
Roll out r34020 as it causes recursion tests to fail.

RS=Maciej

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

12 years ago2008-05-22 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Thu, 22 May 2008 09:36:19 +0000 (09:36 +0000)]
2008-05-22  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Dan.

        Fix <rdar://problem/5952405>.  The unbeforeunload count cannot be cleared when it is dispatched because it is possible to be called again.  Clear it after the unload event is dispatched.

        Test: fast/events/onunload-clears-onbeforeunload.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::stopLoading):
        * page/Frame.cpp:
        (WebCore::Frame::shouldClose):

        implement the beforeUnload UI delegate so that DRT will dispatch beforeunload events.

        * DumpRenderTree/mac/UIDelegate.mm:
        (-[UIDelegate webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:]):
        * DumpRenderTree/win/UIDelegate.cpp:
        (SearchableWebViewHost::runBeforeUnloadConfirmPanelWithMessage):

        add test to test for beforeunload event handlers being removed after they have been fired.

        * fast/events/onunload-clears-onbeforeunload-expected.txt: Added.
        * fast/events/onunload-clears-onbeforeunload.html: Added.

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

12 years agoDon't leak the SymbolTable when compiling eval code.
oliver@apple.com [Thu, 22 May 2008 09:34:57 +0000 (09:34 +0000)]
Don't leak the SymbolTable when compiling eval code.

Reviewed by Mark

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

12 years ago2008-05-22 Simon Hausmann <hausmann@webkit.org>
hausmann@webkit.org [Thu, 22 May 2008 09:07:01 +0000 (09:07 +0000)]
2008-05-22  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Oliver.

        Qt build fixes.

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

12 years ago2008-05-22 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Thu, 22 May 2008 08:37:35 +0000 (08:37 +0000)]
2008-05-22  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Adam Roben.

        Removed the old recursion guard mechanism, since squirrelfish has its
        own mechanism. Also removed some old JS call tracing code, since we
        have other ways to do that, too.

        SunSpider reports no change.

        * kjs/object.cpp:
        (KJS::JSObject::call):

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

12 years ago Massively speed up date-format-tofte with the debugger attached
aroben@apple.com [Thu, 22 May 2008 08:19:21 +0000 (08:19 +0000)]
    Massively speed up date-format-tofte with the debugger attached

        On a debug Windows build (I know, hardly a good testcase) this patch
        makes this test run 57.25x as fast.

        Reviewed by Mark Rowe.

        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.reset): Clear the
        _scriptsForURLsInFilesSelect object.
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Instead
        of looping over all the options in the select to find the option we
        want, get the script object from _scriptsForURLsInFilesSelect and get
        the option element from the script object.
        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Use
        _scriptsForURLsInFilesSelect to cache the script objects. Store the
        option element for each script on the script object so we can quickly
        retrieve it later.

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

12 years ago Remove some dead code from ScriptsPanel.js
aroben@apple.com [Thu, 22 May 2008 08:18:49 +0000 (08:18 +0000)]
    Remove some dead code from ScriptsPanel.js

        Reviewed by Mark Rowe.

        * page/inspector/ScriptsPanel.js:

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

12 years agoJavaScriptCore:
mjs@apple.com [Thu, 22 May 2008 08:17:38 +0000 (08:17 +0000)]
JavaScriptCore:

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

        Reviewed by Oliver.

        - fixed <rdar://problem/5954979> crash on celtic kane JS benchmark

        * kjs/nodes.cpp:
        (KJS::WithNode::emitCode):
        (KJS::TryNode::emitCode):

LayoutTests:

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

        Reviewed by Oliver.

        - test case for <rdar://problem/5954979> crash on celtic kane JS benchmark

        * fast/js/try-catch-crash-expected.txt: Added.
        * fast/js/try-catch-crash.html: Added.

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

12 years ago2008-05-21 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Thu, 22 May 2008 06:21:59 +0000 (06:21 +0000)]
2008-05-21  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Maciej and Geoff.

        <rdar://problem/5951561> Turn on JavaScript Profiler
        -As part of the effort to turn on the profiler it would be helpful if it
        did not need ExecStates to represent the stack location of the currently
        executing statement.
        -We now create each node as necessary with a reference to the current
        node and each node knows its parent so that the tree can be made without
        the entire stack.

        * profiler/Profile.cpp:
        (KJS::Profile::Profile): The current node starts at the head.
        (KJS::Profile::stopProfiling): The current node is cleared when profiling
        stops.
        (KJS::Profile::willExecute): The current node either adds a new child or
        starts and returns a reference to an already existing child if the call
        ID that is requested already exists.
        (KJS::Profile::didExecute): The current node finishes and returns its
        parent.
        * profiler/Profile.h: Use a single callIdentifier instead of a vector
        since we no longer use the whole stack.
        * profiler/ProfileNode.cpp: Now profile nodes keep a reference to their
        parent.
        (KJS::ProfileNode::ProfileNode): Initialize the parent.
        (KJS::ProfileNode::didExecute): Record the time and return the parent.
        (KJS::ProfileNode::addOrStartChild): If the given callIdentifier is
        already a child, start it and return it, otherwise create a new one and
        return that.
        (KJS::ProfileNode::stopProfiling): Same logic, just use the new function.
        * profiler/ProfileNode.h: Utilize the parent.
        (KJS::ProfileNode::create):
        (KJS::ProfileNode::parent):
        * profiler/Profiler.cpp:
        (KJS::Profiler::startProfiling): Here is the only place where the
        ExecState is used to figure out where in the stack the profiler is
        currently profiling.
        (KJS::dispatchFunctionToProfiles): Only send one CallIdentifier instead
        of a vector of them.
        (KJS::Profiler::willExecute): Ditto.
        (KJS::Profiler::didExecute): Ditto.
        (KJS::createCallIdentifier): Create only one CallIdentifier.
        (KJS::createCallIdentifierFromFunctionImp): Ditto.
        * profiler/Profiler.h:

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

12 years ago Fix Bug 19178: Inspector should support sorting resources by latency
aroben@apple.com [Thu, 22 May 2008 05:59:36 +0000 (05:59 +0000)]
    Fix Bug 19178: Inspector should support sorting resources by latency

        <https://bugs.webkit.org/show_bug.cgi?id=19178>

        I replaced "Sort by Time" with the following sorting options:
          - Sort by Start Time
          - Sort by Response Time
          - Sort by End Time
          - Sort by Duration
          - Sort by Latency

        You can no longer sort by Size when looking at the Time graph, and you
        can't use any of the time-based sorting functions when looking at the
        Size graph.

        Reviewed by Tim Hatcher.

        * page/inspector/Resource.js:
        (WebInspector.Resource.prototype.get duration): Added.
        (WebInspector.Resource.prototype.get latency): Added.
        (WebInspector.Resource.CompareByStartTime): Added.
        (WebInspector.Resource.CompareByResponseReceivedTime): Added.
        (WebInspector.Resource.CompareByEndTime): Added.
        (WebInspector.Resource.CompareByDuration): Added.
        (WebInspector.Resource.CompareByLatency): Added.
        * page/inspector/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
          - Each graph sidebar item now holds a list of sorting options
          - Graph sidebar items no longer have a calculator property. This is
            stored on the sorting options instead, to allow each kind of
            sorting to have a different calculator.
          - The sortingSelectElement starts out empty, and is populated in
            _graphSelected
          - The sortingFunction starts out uninitialized and is set as a
            side-effect of _graphSelected.
        (WebInspector.ResourcesPanel.prototype.set calculator): Don't do
        anything if the calculator hasn't changed.
        (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Use the
        _lastSelectedGraphTreeElement property instead of getting the graph
        element from the calculator.
        (WebInspector.ResourcesPanel.prototype._graphSelected):
          - Store the tree element in the _lastSelectedGraphTreeElement
            property
          - Popuplate sortingSelectElement with the sortingOptions and select
            the option that was last selected
        (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set
        our calculator from the sorting option.
        (WebInspector.ResourceTimeCalculator): Renamed from
        ResourceTransferTimeCalculator. Now takes a parameter to specify
        whether the bars should all start at zero.
        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages):
        Take this.startAtZero into account.
        (WebInspector.ResourceTimeCalculator.prototype.updateBoundries):
        Abstracted the lower/upper bounds of a resource into methods.
        (WebInspector.ResourceTimeCalculator.prototype._lowerBound): Added.
        (WebInspector.ResourceTimeCalculator.prototype._upperBound): Added.
        (WebInspector.ResourceTransferTimeCalculator): Added. This is now a
        subclass of ResourceTimeCalculator
        (WebInspector.ResourceTransferDurationCalculator): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingStartTime): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingResponseReceivedTime): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByAscendingEndTime): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingDuration): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingLatency): Added.
        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingSize):
        Changed to call CompareBySize.

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

12 years ago Fix Bug 19173: Tool tips for Inspector debugger status bar buttons are wrong...
aroben@apple.com [Thu, 22 May 2008 05:59:24 +0000 (05:59 +0000)]
    Fix Bug 19173: Tool tips for Inspector debugger status bar buttons are wrong/missing

        <https://bugs.webkit.org/show_bug.cgi?id=19173>

        Reviewed by Tim Hatcher.

        * manual-tests/inspector/debugger-status-bar-buttons-state.html:
        Added.
        * page/inspector/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._toggleDebugging): Call
        _clearInterface (which updates the buttons' tool tips) after
        attaching/detaching the debugger so that the buttons will reflect the
        new state.
        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
        Set the title of the pauseOnExceptionsButton, not the debuggingButton.

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

12 years agoFix Bug 19153: Inspector should support console.debug
aroben@apple.com [Thu, 22 May 2008 05:58:51 +0000 (05:58 +0000)]
Fix Bug 19153: Inspector should support console.debug

WebCore:

        Fix Bug 19153: Inspector should support console.debug

        <https://bugs.webkit.org/show_bug.cgi?id=19153>
        <rdar://problem/5950856>

        Reviewed by Tim Hatcher.

        Test: manual-tests/inspector/console-log-formatting.html

        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::debug): Added.
        * manual-tests/inspector/console-log-formatting.html: Changed to test
        console.debug as well.
        * page/Console.cpp:
        (WebCore::Console::debug): Added. Just calls through to log().
        * page/Console.h:
        * page/Console.idl: Added debug() declaration.

LayoutTests:

        Update window-properties results for new console functions

        Reviewed by Tim Hatcher.

        * fast/dom/Window/window-properties-expected.txt:

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

12 years ago2008-05-21 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 22 May 2008 05:19:01 +0000 (05:19 +0000)]
2008-05-21  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - https://bugs.webkit.org/show_bug.cgi?id=19180
          speed up the < operator for the case when both values are integers

        Makes standalone SunSpider 1.022x faster.

        * VM/Machine.cpp:
        (KJS::jsLess): Add a special case for when both are numbers that fit in a JSImmediate.

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

12 years agoCheck in files I forgot to last time.
mjs@apple.com [Thu, 22 May 2008 05:18:36 +0000 (05:18 +0000)]
Check in files I forgot to last time.

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

12 years agoJavaScriptCore:
mjs@apple.com [Thu, 22 May 2008 05:02:47 +0000 (05:02 +0000)]
JavaScriptCore:

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

        Reviewed by Oliver and Sam.

        - fixed <rdar://problem/5815631> REGRESSION (r31239): Multiscope optimisation of function calls results in incorrect this value (breaks tvtv.de)

        Track global this value in the scope chain so we can retrieve it
        efficiently but it follows lexical scope properly.

        * kjs/ExecState.h:
        (KJS::ExecState::globalThisValue):
        * kjs/JSGlobalObject.h:
        (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
        * kjs/function_object.cpp:
        (KJS::FunctionObjectImp::construct):
        * kjs/scope_chain.h:
        (KJS::ScopeChainNode::ScopeChainNode):
        (KJS::ScopeChainNode::globalThisObject):
        (KJS::ScopeChainNode::push):
        (KJS::ScopeChain::ScopeChain):

LayoutTests:

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

        Reviewed by Oliver and Sam.

        - tests for <rdar://problem/5815631> REGRESSION (r31239): Multiscope optimisation of function calls results in incorrect this value (breaks tvtv.de)

        * fast/frames/cross-site-this-expected.txt: Added.
        * fast/frames/cross-site-this.html: Added.
        * fast/frames/resources/cross-site-this-helper.html: Added.

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

12 years agoWebKit/win:
adele@apple.com [Thu, 22 May 2008 04:57:47 +0000 (04:57 +0000)]
WebKit/win:

2008-05-21  Adele Peterson  <adele@apple.com>

        Reviewed by Adam.

        WebKit part of for <rdar://problem/5787733> fast/dom/HTMLDocument/hasFocus.html fails on Windows

        * WebCoreSupport/WebChromeClient.cpp:
        (WebChromeClient::focus): Call updateActiveState directly.
         Normally this would happen on a timer, but JS might need to know this earlier, so we'll update here.
        (WebChromeClient::unfocus): ditto.
        * WebView.cpp: (WebView::updateActiveStateSoon): Added comment about why we use a timer for this.

WebKitTools:

2008-05-21  Adele Peterson  <adele@apple.com>

        Reviewed by Adam.

        DumpRenderTree support for <rdar://problem/5787733> fast/dom/HTMLDocument/hasFocus.html fails on Windows

        * DumpRenderTree/win/UIDelegate.cpp:
        (UIDelegate::webViewFocus): Added.
        (UIDelegate::webViewUnfocus): Added.
        * DumpRenderTree/win/UIDelegate.h:

LayoutTests:

2008-05-21  Adele Peterson  <adele@apple.com>

        Reviewed by Adam.

        Enhanced and enabled test for <rdar://problem/5787733> fast/dom/HTMLDocument/hasFocus.html fails on Windows

        * fast/dom/HTMLDocument/hasFocus-expected.txt:
        * fast/dom/HTMLDocument/hasFocus.html:
        * platform/win/Skipped:

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

12 years ago2008-05-21 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Thu, 22 May 2008 04:56:22 +0000 (04:56 +0000)]
2008-05-21  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam.

        <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a
        profile node.
        - Expose the Profile's 'focus' ability to WebCore and the WebInspector.

        * page/JavaScriptProfile.cpp:
        (WebCore::focus):
        (WebCore::profileClass):

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

12 years ago2008-05-21 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Thu, 22 May 2008 04:52:43 +0000 (04:52 +0000)]
2008-05-21  Kevin McCullough  <kmccullough@apple.com>

        Sadness :(

        * kjs/config.h:

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

12 years ago2008-05-21 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Thu, 22 May 2008 04:51:03 +0000 (04:51 +0000)]
2008-05-21  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Maciej.

        <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a
        profile node.
        - This patch updatest the times of the visible nodes correctly, but to do
        so, some of the design of the ProfileNode changed.

        * JavaScriptCore.exp: export focus' symbol.
        * profiler/Profile.cpp: ProfileNodes now take a reference to the head of
        the profile tree to get up-to-date accurate total profile time.
        (KJS::Profile::Profile): Pass 0 for the head node.
        (KJS::Profile::stopProfiling): stopProfiling no longer needs the time
        passed into it, since it can get it from the head and it does not need to
        be told it is the head because it can figure it out on it's own.
        (KJS::Profile::willExecute): Set the head node for each created node.
        * profiler/Profile.h:
        (KJS::Profile::focus): Instead of taking a CallIdentifier that the caller
        would have to create, now focus() takes a ProfileNode that they should
        already have a reference to and focus() can extract the CallIdentifier
        from it.
        * profiler/ProfileNode.cpp: Create actual and visible versions fo the
        total and self times for focus and exclude.  Also add a head node
        reference so that nodes can get information from their head.
        (KJS::ProfileNode::ProfileNode):
        (KJS::ProfileNode::stopProfiling): Rename the total and self time
        variables and set the visual ones to the actual ones, so that without any
        changes to the visual versions of these variables, their times will match
        the actual times.
        (KJS::ProfileNode::focus): Now focus() has a bool to force it's children
        to be visible if this node is visible.  If this node does not match the
        CallIdentifier being focused then the visibleTotalTime is only updated if
        one or more of it's children is the CallIdentifier being focused.
        (KJS::ProfileNode::restoreAll): Restores all variables with respect to
        the visible data in the ProfileNode.
        (KJS::ProfileNode::endAndRecordCall): Name change.
        (KJS::ProfileNode::debugPrintData): Dump the new variables.
        (KJS::ProfileNode::debugPrintDataSampleStyle): Name change.
        * profiler/ProfileNode.h: Use the new variables and reference to the head
        node.
        (KJS::ProfileNode::create):
        (KJS::ProfileNode::totalTime):
        (KJS::ProfileNode::setTotalTime):
        (KJS::ProfileNode::selfTime):
        (KJS::ProfileNode::setSelfTime):
        (KJS::ProfileNode::totalPercent):
        (KJS::ProfileNode::selfPercent):
        (KJS::ProfileNode::setVisible):

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

12 years ago2008-05-21 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 22 May 2008 04:50:47 +0000 (04:50 +0000)]
2008-05-21  Sam Weinig  <sam@webkit.org>

        Review by Mark Rowe.

        Change test so that its result are not different all the time.

        * http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header-expected.txt: Copied from http/tests/xmlhttprequest/access-control-basic-allow-headers-expected.txt.
        * http/tests/xmlhttprequest/access-control-basic-allow-access-control-origin-header.html: Copied from http/tests/xmlhttprequest/access-control-basic-allow-headers.html.
        * http/tests/xmlhttprequest/access-control-basic-allow-headers-expected.txt: Removed.
        * http/tests/xmlhttprequest/access-control-basic-allow-headers.html: Removed.
        * http/tests/xmlhttprequest/resources/access-control-basic-allow-access-control-origin-header.cgi: Copied from http/tests/xmlhttprequest/resources/access-control-basic-allow-headers.cgi.
        * http/tests/xmlhttprequest/resources/access-control-basic-allow-headers.cgi: Removed.

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

12 years ago2008-05-21 Brady Eidson <beidson@apple.com>
beidson@apple.com [Thu, 22 May 2008 04:33:17 +0000 (04:33 +0000)]
2008-05-21  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Adam

        <rdar://problem/5787763> - Hang in Storage tests on windows

        Since the hang was originally noticed and investigated, no one has revisited it.
        Adam and I just spent some time trying to reproduce and were unable.

        Lets give the bots another go, shall we?

        * platform/win/Skipped:

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

12 years agoVersioning.
mrowe@apple.com [Thu, 22 May 2008 04:14:18 +0000 (04:14 +0000)]
Versioning.

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

12 years agoSet the pass_through flag on Getopt so that extra arguments can be passed through...
mrowe@apple.com [Thu, 22 May 2008 04:02:31 +0000 (04:02 +0000)]
Set the pass_through flag on Getopt so that extra arguments can be passed through to Safari,
rather than trigger an unknown argument message.  This allows run-webkit-tests to display results
once more.

Rubber-stamped by Stephanie Lewis.

* Scripts/run-safari:

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

12 years agoYet more windows builds fixes
oliver@apple.com [Thu, 22 May 2008 03:52:16 +0000 (03:52 +0000)]
Yet more windows builds fixes

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

12 years agoRemove the rest of the debug code inside DEBUG_DEBUGGER_CALLBACKS
timothy@apple.com [Thu, 22 May 2008 03:46:31 +0000 (03:46 +0000)]
Remove the rest of the debug code inside DEBUG_DEBUGGER_CALLBACKS
since the parts the remain aren't useful.

* page/JavaScriptDebugServer.cpp:
(WebCore::JavaScriptDebugServer::sourceParsed):

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

12 years ago2008-05-21 Alp Toker <alp@nuanti.com>
alp@webkit.org [Thu, 22 May 2008 03:44:21 +0000 (03:44 +0000)]
2008-05-21  Alp Toker  <alp@nuanti.com>

        GTK+/UNIX testkjs build fix. Include signal.h.

        * kjs/testkjs.cpp:

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

12 years ago2008-05-21 Beth Dakin <bdakin@apple.com>
bdakin@apple.com [Thu, 22 May 2008 03:41:03 +0000 (03:41 +0000)]
2008-05-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders.

        Fix for <rdar://problem/5848161> REGRESSION (r31438?): Crash
        beneath ResourceHandle::setDefersLoading while running fast/loader/
        simultaneous-reloads-assert.html (null CFURLConnection)

        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::setDefersLoading): Added simple null-
        check.

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

12 years agoYet more windows build fixes
oliver@apple.com [Thu, 22 May 2008 03:34:40 +0000 (03:34 +0000)]
Yet more windows build fixes

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