Timeline


and

05/17/08:

21:53 Changeset [33562] by cwzwarich@webkit.org

2008-05-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18991: SquirrelFish: Major codegen issue in a.b=expr, a[b]=expr
<https://bugs.webkit.org/show_bug.cgi?id=18991>

Fix the last remaining blocking cases of this bug.

JavaScriptCore:

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::ReadModifyResolveNode::emitCode):

LayoutTests:

  • fast/js/codegen-temporaries-expected.txt:
  • fast/js/resources/codegen-temporaries.js:
20:41 Changeset [33561] by weinig@apple.com

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

Reviewed by Mark Rowe.

Re-factor core setRequestHeader logic into setRequestHeaderInternal.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::sameOriginRequest): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::setRequestHeaderInternal):
  • xml/XMLHttpRequest.h:
20:00 Changeset [33560] by oliver@apple.com

Reverting r33553 as the patch is incomplete so breaks the build

18:21 Changeset [33559] by weinig@apple.com

WebCore:

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

Reviewed by Mark Rowe.

Differentiate between cancelation errors and generic network error in XHR.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::requestFromDelegate): (WebCore::FrameLoader::cancelledError):
  • platform/network/ResourceErrorBase.h: (WebCore::ResourceErrorBase::setIsCancelation): (WebCore::ResourceErrorBase::isCancelation): (WebCore::ResourceErrorBase::ResourceErrorBase): Add state that differentiates between errors created by cancelation and those made by all other generic network errors as this differentiation is needed by some specs.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::open): (WebCore::XMLHttpRequest::loadRequestSynchronously): (WebCore::XMLHttpRequest::clearResponseEntityBody): (WebCore::XMLHttpRequest::genericError): (WebCore::XMLHttpRequest::networkError): (WebCore::XMLHttpRequest::abortError): (WebCore::XMLHttpRequest::didFail):
  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequestException.h: (WebCore::XMLHttpRequestException::):
  • xml/XMLHttpRequestException.idl: Add ABORT_ERR. This error cannot be raised with the current WebKit architecture as it requires the ability to cancel a synchronous XHR, which we cannot currently do. It may be possible in the future though.

LayoutTests:

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

Reviewed by Mark Rowe.

Update expected results for new ABORT_ERR.

  • fast/dom/Window/window-properties-expected.txt:
17:47 Changeset [33558] by mrowe@apple.com

Versioning.

17:46 Changeset [33557] by mrowe@apple.com

Merge r33555.

17:12 Changeset [33556] by mrowe@apple.com

New tag.

17:08 Changeset [33555] by mrowe@apple.com

2008-05-17 Mark Rowe <mrowe@apple.com>

Reviewed by Sam Weinig.

Including wtf/Platform.h or using any of the macros it defines in headers that may be
included from outside of the WebKit project causes any project using those headers to
fail to build.

  • page/mac/WebDashboardRegion.h:
15:45 Changeset [33554] by weinig@apple.com

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

Reviewed by Brady Eidson.

Re-factor send() logic a little to make adding cross-site requests easier.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::sameOriginRequest): (WebCore::XMLHttpRequest::loadRequestSynchronously): (WebCore::XMLHttpRequest::loadRequestAsynchronously):
  • xml/XMLHttpRequest.h:
11:58 Changeset [33553] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Oliver Hunt.

Behold: debugging.


SunSpider reports no change.

  • JavaScriptCore.xcodeproj/project.pbxproj: Added DebuggerCallFrame.h/.cpp, and created a debugger folder.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::generate): If the debugger is attached, always generate full scope chains for its sake.
  • VM/Machine.cpp: (KJS::Machine::unwindCallFrame): Notify the debugger when unwinding due to an exception, so it doesn't keep stale call frames around.

(KJS::Machine::execute): Set Callee to 0 in eval frames, so the
debugger can distinguish them from function call frames.

(KJS::Machine::debug): Simplified this function, since the debugger
doesn't actually need all the information we used to provide.

(KJS::Machine::privateExecute): Treat debugging hooks like other function
calls, so the code we hook into (the debugger UI) can be optimized.

  • kjs/debugger.cpp: Nixed these default callback implementations and made the callbacks pure virtual instead, so the compiler could tell me if I made a mistake in one of the subclasses.
  • kjs/debugger.h: Removed a bunch of irrelevent data from the debugger callbacks. Changed from passing an ExecState* to passing a DebuggerCallFrame*, since an ExecState* doesn't contain sufficient information anymore.
  • kjs/function.cpp: (KJS::globalFuncEval): Easiest bug fix evar!

WebCore:

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

Reviewed by Oliver Hunt.

Updated for API changes in KJS::Debugger.

WebKit/mac:

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

Reviewed by Oliver Hunt.


Re-enabled previously disabled debugging functionality.


There are two major changes from how the WebKit debugger used to work:


(1) All the interesting bits are implemented down in JavaScriptCore. The
debugger just calls through to KJS::DebuggerCallFrame for everything.


(2) Instead of copyihng a pointer to an ExecState once, the debugger
copies the DebuggerCallFrame passed to it in each callback. This is
because the VM no longer maintains a fully transparent execution state
to which you can hold a pointer, and the DebuggerCallFrames it vends
are temporaries.


Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
from its function. This is safer than the old method, which was to
hold a stale ExecState* and hope for the best.

04:00 Changeset [33552] by cwzwarich@webkit.org

2008-05-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18991: SquirrelFish: Major codegen issue in a.b=expr, a[b]=expr
<https://bugs.webkit.org/show_bug.cgi?id=18991>

Ensure that the code generated for assignments uses temporaries whenever
necessary. This patch covers the vast majority of situations, but there
are still a few left.

This patch also adds some missing cases to CodeBlock::dump().

JavaScriptCore:

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::destinationForAssignResult): (KJS::CodeGenerator::leftHandSideNeedsCopy): (KJS::CodeGenerator::emitNodeForLeftHandSide):
  • kjs/NodeInfo.h:
  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::AssignDotNode::emitCode): (KJS::ReadModifyDotNode::emitCode): (KJS::AssignBracketNode::emitCode): (KJS::ReadModifyBracketNode::emitCode): (KJS::ForInNode::ForInNode):
  • kjs/nodes.h: (KJS::ReadModifyResolveNode::): (KJS::AssignResolveNode::): (KJS::ReadModifyBracketNode::): (KJS::AssignBracketNode::): (KJS::AssignDotNode::): (KJS::ReadModifyDotNode::):

LayoutTests:

  • fast/js/codegen-temporaries-expected.txt:
  • fast/js/resources/codegen-temporaries.js:
01:37 Changeset [33551] by oliver@apple.com

Forgot to check in the results to the activation gc tests

00:22 Changeset [33550] by oliver@apple.com

Bug 19106: SquirrelFish: Activation is not marked correctly
<https://bugs.webkit.org/show_bug.cgi?id=19106>

Reviewed by Maciej

We can't rely on the symbol table for a count of the number of globals
we need to mark as that misses duplicate parameters and 'this'. Now we
use the actual local register count from the codeBlock.

05/16/08:

23:43 Changeset [33549] by slewis@apple.com

2008-05-16 Stephanie Lewis <slewis@apple.com>

Reviewed by Steve.

Get pending unload event count from WebCore.

  • Interfaces/IWebFramePrivate.idl:
  • WebFrame.cpp: (WebFrame::pendingFrameUnloadEventCount):
  • WebFrame.h:

Print out pending unload event count. Also print out main framename to match Mac. +

  • DumpRenderTree/win/FrameLoadDelegate.cpp:

(descriptionSuitableForTestResult):
(FrameLoadDelegate::didFinishDocumentLoadForFrame):

22:34 Changeset [33548] by pewtermoose@webkit.org

2008-05-16 Matt Lilek <webkit@mattlilek.com>

Rubber stamped by Oliver.

Remove the Drosera sub-project.

  • WebKit.vcproj/WebKit.sln:
21:21 Changeset [33547] by timothy@apple.com

Remove the Drosera project, code and resources since it has been
replaced with the Web Inspector's debugger. Removes references to
Drosera in various scripts and makefiles.

Rubber-stamped by Mark Rowe.

  • BuildSlaveSupport/build-launcher-app:
  • Drosera/DebuggerDocument.cpp: Removed.
  • Drosera/DebuggerDocument.h: Removed.
  • Drosera/Drosera.icns: Removed.
  • Drosera/DroseraWin.make: Removed.
  • Drosera/English.lproj/Debugger.nib/classes.nib: Removed.
  • Drosera/English.lproj/Debugger.nib/info.nib: Removed.
  • Drosera/English.lproj/Debugger.nib/keyedobjects.nib: Removed.
  • Drosera/English.lproj/MainMenu.nib/classes.nib: Removed.
  • Drosera/English.lproj/MainMenu.nib/info.nib: Removed.
  • Drosera/English.lproj/MainMenu.nib/keyedobjects.nib: Removed.
  • Drosera/ForwardingHeaders/wtf/Assertions.h: Removed.
  • Drosera/ForwardingHeaders/wtf/HashTraits.h: Removed.
  • Drosera/ForwardingHeaders/wtf/Noncopyable.h: Removed.
  • Drosera/ForwardingHeaders/wtf/OwnPtr.h: Removed.
  • Drosera/ForwardingHeaders/wtf/Platform.h: Removed.
  • Drosera/ForwardingHeaders/wtf/RetainPtr.h: Removed.
  • Drosera/Images/Drosera.ico: Removed.
  • Drosera/Images/SourceArrow.png: Removed.
  • Drosera/Images/SourceArrowBlank.png: Removed.
  • Drosera/Images/SourceArrowOpen.png: Removed.
  • Drosera/Images/background_stripe.png: Removed.
  • Drosera/Images/breakPoint.tif: Removed.
  • Drosera/Images/breakPointDisabled.tif: Removed.
  • Drosera/Images/breakpointeditor.png: Removed.
  • Drosera/Images/close.tif: Removed.
  • Drosera/Images/close_active.tif: Removed.
  • Drosera/Images/close_hover.tif: Removed.
  • Drosera/Images/console.png: Removed.
  • Drosera/Images/continue.tif: Removed.
  • Drosera/Images/fileIcon.jpg: Removed.
  • Drosera/Images/finishFunction.tif: Removed.
  • Drosera/Images/glossyFooterFill.tif: Removed.
  • Drosera/Images/glossyHeader.png: Removed.
  • Drosera/Images/glossyHeaderPressed.png: Removed.
  • Drosera/Images/gradientBackground.png: Removed.
  • Drosera/Images/gutter.png: Removed.
  • Drosera/Images/navLeftDisabled.png: Removed.
  • Drosera/Images/navLeftNormal.png: Removed.
  • Drosera/Images/navLeftPressed.png: Removed.
  • Drosera/Images/navRightDisabled.png: Removed.
  • Drosera/Images/navRightNormal.png: Removed.
  • Drosera/Images/navRightPressed.png: Removed.
  • Drosera/Images/pause.tif: Removed.
  • Drosera/Images/popUpArrows.png: Removed.
  • Drosera/Images/programCounter.tif: Removed.
  • Drosera/Images/programCounterBreakPoint.tif: Removed.
  • Drosera/Images/programCounterBreakPointDisabled.tif: Removed.
  • Drosera/Images/run.tif: Removed.
  • Drosera/Images/siteCollapsed.tif: Removed.
  • Drosera/Images/siteExpanded.tif: Removed.
  • Drosera/Images/siteIcon.tif: Removed.
  • Drosera/Images/small.ico: Removed.
  • Drosera/Images/splitterBar.tif: Removed.
  • Drosera/Images/splitterDimple.tif: Removed.
  • Drosera/Images/step.tif: Removed.
  • Drosera/Images/stepOut.tif: Removed.
  • Drosera/Images/stepOver.tif: Removed.
  • Drosera/Images/stop.tif: Removed.
  • Drosera/Images/toolbarBackground.png: Removed.
  • Drosera/Images/verticalSplitterBar.tiff: Removed.
  • Drosera/Images/verticalSplitterDimple.tiff: Removed.
  • Drosera/Makefile: Removed.
  • Drosera/breakpointEditor.html: Removed.
  • Drosera/config.h: Removed.
  • Drosera/console.css: Removed.
  • Drosera/console.html: Removed.
  • Drosera/console.js: Removed.
  • Drosera/debugger.css: Removed.
  • Drosera/debugger.html: Removed.
  • Drosera/debugger.js: Removed.
  • Drosera/mac/DebuggerApplication.h: Removed.
  • Drosera/mac/DebuggerApplication.mm: Removed.
  • Drosera/mac/DebuggerClient.h: Removed.
  • Drosera/mac/DebuggerClient.mm: Removed.
  • Drosera/mac/DebuggerDocumentPlatform.mm: Removed.
  • Drosera/mac/Drosera.xcodeproj/project.pbxproj: Removed.
  • Drosera/mac/Info.plist: Removed.
  • Drosera/mac/LauncherInfo.plist: Removed.
  • Drosera/mac/Makefile: Removed.
  • Drosera/mac/ServerConnection.h: Removed.
  • Drosera/mac/ServerConnection.mm: Removed.
  • Drosera/mac/launcher.m: Removed.
  • Drosera/mac/main.m: Removed.
  • Drosera/viewer.css: Removed.
  • Drosera/viewer.html: Removed.
  • Drosera/win/BaseDelegate.h: Removed.
  • Drosera/win/DebuggerClient.cpp: Removed.
  • Drosera/win/DebuggerClient.h: Removed.
  • Drosera/win/DebuggerDocumentPlatform.cpp: Removed.
  • Drosera/win/Drosera.cpp: Removed.
  • Drosera/win/Drosera.h: Removed.
  • Drosera/win/Drosera.vcproj/Drosera.rc: Removed.
  • Drosera/win/Drosera.vcproj/Drosera.vcproj: Removed.
  • Drosera/win/DroseraPrefix.cpp: Removed.
  • Drosera/win/DroseraPrefix.h: Removed.
  • Drosera/win/Info.plist: Removed.
  • Drosera/win/ServerConnection.cpp: Removed.
  • Drosera/win/ServerConnection.h: Removed.
  • Drosera/win/resource.h: Removed.
  • Makefile:
  • Scripts/build-drosera: Removed.
  • Scripts/gdb-drosera: Removed.
  • Scripts/run-drosera: Removed.
  • Scripts/run-drosera-nightly.cmd: Removed.
  • Scripts/run-drosera.cmd: Removed.
  • Scripts/webkitdirs.pm:
18:46 SquirrelFish edited by ggaren@apple.com
(diff)
18:46 Changeset [33546] by beidson@apple.com

2008-05-16 Brady Eidson <beidson@apple.com>

Reviewed by Steve Falkenburg


<rdar://problem/5942624> - Get LocalStorage persistence working on Windows


  • WebPreferenceKeysPrivate.h: Add the LocalStorageDirectory defaults key


  • WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::localStorageDatabasePath): (WebPreferences::setLocalStorageDatabasePath):
  • WebPreferences.h:
  • Interfaces/IWebPreferencesPrivate.idl:
  • WebView.cpp: (WebView::initWithFrame): Set the path in the WebCore::Settings after new Page creation
18:16 Changeset [33545] by andersca@apple.com

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

Reviewed by Mitz.

Copy appcache headers.


  • WebCore.vcproj/WebCore.vcproj:
17:50 Changeset [33544] by antti@apple.com

WebCore:

2008-05-16 Antti Koivisto <antti@apple.com>

Reviewed by Anders.


Fix <rdar://problem/5934400>
Movie controller does not update on first load of http://www.apple.com/getamac/ads/


The issue is that we execute scripts while there are still pending stylesheet loads.
If the script depends on a stylesheet having been applied it may fail.


This will make external script execution block on external stylesheet loads. A full
fix (as discussed with Hyatt) will also need to block inline script execution.

Test: http/tests/local/stylesheet-and-script-load-order-http.html

  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::notifyFinished):

LayoutTests:

2008-05-16 Antti Koivisto <antti@apple.com>

Reviewed by Anders.


Test for <rdar://problem/5934400>
Movie controller does not update on first load of http://www.apple.com/getamac/ads/

  • http/tests/local/stylesheet-and-script-load-order-http-expected.txt: Added.
  • http/tests/local/stylesheet-and-script-load-order-http.html: Added.
17:36 Changeset [33543] by mrowe@apple.com

Merge r33497.

17:28 Changeset [33542] by cfleizach@apple.com

<rdar://problem/5582483> Mail compose area needs to allow AXValue to be settable

17:27 Changeset [33541] by oliver@apple.com

Bug 19076: SquirrelFish: RegisterFile can be corrupted if implictly reenter global scope with no declared vars
<https://bugs.webkit.org/show_bug.cgi?id=19076>

Reviewed by Geoff

Don't delay allocation of initial global RegisterFile, as we can't guarantee we will be able
to allocate the global 'this' register safely at any point after initialisation of the Global
Object.

Unfortunately this initial allocation caused a regression of 0.2-0.3%, however this patch adds
support for the static slot optimisation for the global Math object which brings it to a 0.3%
progression.

17:23 Changeset [33540] by mrowe@apple.com

Versioning.

17:21 Changeset [33539] by mrowe@apple.com

New tag.

17:18 Changeset [33538] by slewis@apple.com

2008-05-16 Stephanie Lewis <slewis@apple.com>

Reviewed by Maciej.

track onbeforeunlaod event counts. Pretty much identical to unload event tracking.
Also rename methods from onunload tracking to be more clear.

increment/decrement event counts when onunload and onbeforeunload events are added/removed

  • dom/Document.cpp: (WebCore::Document::removeHTMLWindowEventListener): (WebCore::Document::addWindowEventListener): (WebCore::Document::removeWindowEventListener): (WebCore::Document::addPendingFrameUnloadEventCount): (WebCore::Document::removePendingFrameUnloadEventCount): (WebCore::Document::addPendingFrameBeforeUnloadEventCount): (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
  • dom/Document.h:


clear onunload count after unload events are dispatched

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading):

track onunload and onbeforeunload event counts for each frame

  • page/EventHandler.cpp: (WebCore::EventHandler::EventHandler): (WebCore::EventHandler::addPendingFrameUnloadEventCount): (WebCore::EventHandler::removePendingFrameUnloadEventCount): (WebCore::EventHandler::clearPendingFrameUnloadEventCount): (WebCore::EventHandler::pendingFrameBeforeUnloadEventCount): (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount): (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount): (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount):
  • page/EventHandler.h:


clear unbeforeunload count after unbeforeunload events are detached

  • page/Frame.cpp: (WebCore::Frame::shouldClose):

track total event count at page level

  • page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::changePendingUnloadEventCount): (WebCore::Page::pendingBeforeUnloadEventCount): (WebCore::Page::changePendingBeforeUnloadEventCount):
  • page/Page.h:
17:07 Changeset [33537] by andersca@apple.com

WebCore:

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

Reviewed by Mitz.

<rdar://problem/5787788>
REGRESSION: fast/loader/xmlhttprequest-missing-file-exception.html fails on Windows.


Replicate the Mac behavior when a sync load fails.


  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):

LayoutTests:

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

Reviewed by Mitz.

<rdar://problem/5787788>
REGRESSION: fast/loader/xmlhttprequest-missing-file-exception.html fails on Windows.

Remove test from skipped list.


  • platform/win/Skipped:
17:02 SquirrelFish edited by ggaren@apple.com
(diff)
16:26 Changeset [33536] by andersca@apple.com

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

Reviewed by Brady.

Parse and set the headers on the response.

  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store): (WebCore::parseHeader): (WebCore::parseHeaders): (WebCore::ApplicationCacheStorage::loadCache):
15:53 Changeset [33535] by timothy@apple.com

Removes WebScriptDebugServer files and related calls. This removes
the hooks that Drosera uses for debugging. Now that the Web Inspector
has a better debugger, we don't need these anymore.

Reviewed by Sam Weinig.

  • DefaultDelegates/WebScriptDebugServer.h: Removed.
  • DefaultDelegates/WebScriptDebugServer.m: Removed.
  • DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebKit.exp:
  • WebView/WebScriptDebugDelegate.mm:
  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::sourceParsed):
(WebScriptDebugger::callEvent):
(WebScriptDebugger::atStatement):
(WebScriptDebugger::returnEvent):
(WebScriptDebugger::exception):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

  • WebView/WebViewPrivate.h:
15:30 Changeset [33534] by timothy@apple.com

Adds the "this" object to the Local scope section of the
Scope Variables pane.

<rdar://problem/5774773> Web Inspector doesn't show the "this"
object in its variables list (10438)

Reviewed by Oliver Hunt.

  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::thisObject): Returns the thisObject
of the JavaScriptCallFrame impl. Returns jsNull if the impl is invalid.

  • page/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::thisObject): Return the thisValue from
the ExecState. Return 0 if m_exec is null.

  • page/JavaScriptCallFrame.h:
  • page/JavaScriptCallFrame.idl: Add thisObject.
  • page/inspector/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection): Adds two new arguments.
The ignoreHasOwnProperty tells the section to show all properties,
including inherited ones. And extraProperties is an object of
additional properties to show.
(WebInspector.ObjectPropertiesSection.prototype): Honor the
extraProperties and ignoreHasOwnProperty properties.

  • page/inspector/ScopeChainSidebarPane.js:

(WebInspector.ScopeChainSidebarPane.prototype.update): Add a this
property to an extra object that is passed to the ObjectPropertiesSection.
Also pass true for ignoreHasOwnProperty since we want to show all properties.

15:26 Changeset [33533] by andersca@apple.com

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

Reviewed by Brady.

Add mimeType and textEncodingName to the resource table.


  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::openDatabase): (WebCore::ApplicationCacheStorage::store): (WebCore::ApplicationCacheStorage::loadCache):
15:23 Changeset [33532] by kmccullough@apple.com

JavaScriptCore:

2008-05-16 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5770054> JavaScript profiler (10928)
Implement sorting for the profiler.
I chose to sort the profileNodes in place since there is no reason they
need to retain their original order.

  • JavaScriptCore.exp: Export the symbols.
  • profiler/Profile.h: Add the different ways a profile can be sorted. (KJS::Profile::sortTotalTimeDescending): (KJS::Profile::sortTotalTimeAscending): (KJS::Profile::sortSelfTimeDescending): (KJS::Profile::sortSelfTimeAscending): (KJS::Profile::sortCallsDescending): (KJS::Profile::sortCallsAscending):
  • profiler/ProfileNode.cpp: Implement those ways. (KJS::totalTimeDescendingComparator): (KJS::ProfileNode::sortTotalTimeDescending): (KJS::totalTimeAscendingComparator): (KJS::ProfileNode::sortTotalTimeAscending): (KJS::selfTimeDescendingComparator): (KJS::ProfileNode::sortSelfTimeDescending): (KJS::selfTimeAscendingComparator): (KJS::ProfileNode::sortSelfTimeAscending): (KJS::callsDescendingComparator): (KJS::ProfileNode::sortCallsDescending): (KJS::callsAscendingComparator): (KJS::ProfileNode::sortCallsAscending):
  • profiler/ProfileNode.h: No longer use a Deque since it cannot be sorted by std::sort and there was no reason not to use a Vector. I previously had though I would do prepending but am not. (KJS::ProfileNode::selfTime): (KJS::ProfileNode::totalPercent): (KJS::ProfileNode::selfPercent): (KJS::ProfileNode::children):
  • profiler/Profiler.cpp: Removed these functions as they can be called directoy on the Profile object after getting the Vector of them. (KJS::getStackNames):
  • profiler/Profiler.h:

WebCore:

2008-05-16 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5770054> JavaScript profiler (10928)
Use a Vector instead of a Deque since we don't use the extra capabilities
of the Deque.

  • page/JavaScriptProfileNode.cpp: (WebCore::getChildren): (WebCore::toJS):
15:19 Changeset [33531] by beidson@apple.com

2008-05-16 Brady Eidson <beidson@apple.com>

Reviewed by Anders

<rdar://problem/5942616> - Need to standardize LocalStorage persistence path

Took the opportunity to touch up another pref that needs the same standardization.
That pref is currently not in use on Mac.

  • WebView/WebPreferences.m: (-[WebPreferences _setFTPDirectoryTemplatePath:]): (-[WebPreferences _localStorageDatabasePath]): (-[WebPreferences _setLocalStorageDatabasePath:]): (-[WebPreferences _ftpDirectoryTemplatePath]):
14:30 Changeset [33530] by timothy@apple.com

Fix the build.

14:24 Changeset [33529] by andersca@apple.com

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

Reviewed by Brady.

Add a version table to the database.

  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::verifySchemaVersion): (WebCore::ApplicationCacheStorage::openDatabase):
  • loader/appcache/ApplicationCacheStorage.h:
14:10 Changeset [33528] by timothy@apple.com

Restore some ChangeLog entries I nuked in the previous commits.

13:47 Changeset [33527] by timothy@apple.com

Adds the ability to evaluate expressions in the local scope
of the selected call frame.

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

Reviewed by Geoff Garen.

  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::evaluate): Pass the exception
from evaluate to the calling ExecState.

  • page/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::evaluate): Added an exception out
argument. Simplified the code by calling KJS:eval directly.

  • page/JavaScriptCallFrame.h: Change evalutate to take an exception

out argument.

  • page/inspector/Console.js: Check if the debugger is paused and

call evaluateInSelectedCallFrame on the Scripts panel.

  • page/inspector/ScriptsPanel.js: Added a paused getter and

evaluateInSelectedCallFrame which does the evaluation and updates
the scope variables pane afterwards.

13:47 Changeset [33526] by timothy@apple.com

Fixed the bug where the Inspector node highlight would not show
in the correct place for nodes in frames.

<rdar://problem/5712834> Elements in iframes are highlighted incorrectly (14408)

Reviewed by John Sullivan.

  • page/InspectorController.cpp:

(WebCore::convertFromFrameToMainFrame): Helper function to convert
IntRect coordinates from one frame to the main frame.
(WebCore::InspectorController::drawNodeHighlight): Call the
convertFromFrameToMainFrame helper for all the rects we get from
the node since they are in the owner frame's coordinate space.

13:46 Changeset [33525] by timothy@apple.com

Adds an error and warning count indicator at the bottom right in the
Inspector's status bar.

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

Initial implementation by Adam Roben.
Reviewed by Sam Weinig.

Test: manual-tests/inspector/error-warning-count.html

  • English.lproj/localizedStrings.js: Added new strings.
  • manual-tests/inspector/error-warning-count.html: Added.
  • page/inspector/Console.js:

(WebInspector.Console.prototype.show): Don't do anything if visible.
(WebInspector.Console.prototype.hide): Don't do anything if hidden.
Temporally set properties and classes to mimic the post-animation
values so panels like Elements in their updateStatusBarItems call will
size things to fit the final location.

  • page/inspector/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes):
Account for the #error-warning-count width when sizing breadcrumbs.

  • page/inspector/Resource.js:

(WebInspector.Resource.prototype.set errors): Update the global error count.
(WebInspector.Resource.prototype.set warnings): Update the global warning count.

  • page/inspector/inspector.css: Make .hidden's display property

!important to ensure things really hide, and added styling for the new

  • page/inspector/inspector.html: Added an #error-warning-count div

in the #anchored-status-bar-items div.

  • page/inspector/inspector.js:

(WebInspector.get errors): Added.
(WebInspector.set errors): Added. Calls _updateErrorAndWarningCounts.
(WebInspector.get warnings): Added.
(WebInspector.set warnings): Added. Calls _updateErrorAndWarningCounts.
(WebInspector._updateErrorAndWarningCounts): Added. Update the
(WebInspector.loaded): Add a click event listener to the
_updateErrorAndWarningCounts to display the initial error/warning counts.

13:38 Changeset [33524] by jchaffraix@webkit.org

WebCore:

2008-05-16 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated

Make video tags use a header guard so that make_names.pl for factory generation.

  • Add video tag guard in HTMLTagNames.in & give an extraDefines parameter to make_names.pl when generating HTMLNames.
  • Modify the different build systems to accomodate the new parameter.
  • Small make_names.pl clean up (mainly code generated coding style issue).
  • DerivedSources.make: Add HTML_FLAGS and pass it to make_names.pl if it is defined (similar to SVG)
  • GNUmakefile.am: Add HTML_FEATURES & HTML_FLAGS and pass it to make_names.pl if HTML_FLAGS is defined.
  • WebCore.pro: Pass $${DEFINES} to make_names.pl.
  • dom/make_names.pl:
  • html/HTMLElement.cpp: (WebCore::inlineTagList): Add ENABLE(VIDEO) guard.
  • html/HTMLTagNames.in: Ditto.

2008-05-16 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Preparatory work for bug 9191: JS*ElementWrapperFactory should be autogenerated

  • configure.ac: Add HTML_FLAGS and set it when video is enabled.
12:17 UsingGitWithWebKit edited by ddkilzer@apple.com
(diff)
11:47 Changeset [33523] by andersca@apple.com

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

Reviewed by Mitz.

Fire progress events.


  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::startLoadingEntry):
10:28 Changeset [33522] by andersca@apple.com

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

Reviewed by Jess.

Add manifest MIME type.


  • .htaccess:
10:27 Changeset [33521] by andersca@apple.com

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

Reviewed by John.

Handle the case where the main resource load is cancelled while the cache attempt is in progress.


  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::mainReceivedError): Tell the group that the main resource failed to load.


  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Call cacheUpdateFailed.


(WebCore::ApplicationCacheGroup::cacheUpdateFailed):
Stop loading if the update failed.


  • loader/appcache/ApplicationCacheGroup.h:
10:26 Changeset [33520] by cfleizach@apple.com

<rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)

Adds support to select text ranges when enhanced accessibility is turned on

10:25 Changeset [33519] by andersca@apple.com

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

Update test results now that navigator.onLine exists.


  • fast/dom/Window/window-properties-expected.txt:
07:25 Changeset [33518] by hausmann@webkit.org

2008-05-15 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Since WebKitGtk is fully using autotools now, clean-up the .pro/.pri files
from gtk-port.

05:06 Changeset [33517] by oliver@apple.com

Bug 19098: SquirrelFish: Ref'd temporaries can be clobbered
<https://bugs.webkit.org/show_bug.cgi?id=19098>

Patch from Cameron Zwarich
Reviewed by Oliver

When doing code generation for a statement list, increase the reference
count on a register that might eventually be returned, so that it doesn't
get clobbered by a request for a new temporary.

02:51 Changeset [33516] by mjs@apple.com

JavaScriptCore:

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

Reviewed by Oliver.


  • kjs/JSActivation.cpp: (KJS::JSActivation::copyRegisters): Use numLocals from the code block rather than the size of the symbol table for the number of registers to copy, to account for duplicate parameters and vars with the same name as parameters (we still have potentially suboptimal codegen in that we allocate a local register for the var in the latter case but it is never used).

LayoutTests:

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

Reviewed by Oliver.

  • fast/js/duplicate-param-crash-expected.txt: Added.
  • fast/js/duplicate-param-crash.html: Added.
  • fast/js/resources/duplicate-param-crash.js: Added.
  • fast/js/resources/var-shadows-arg-crash.js: Added.
  • fast/js/var-shadows-arg-crash-expected.txt: Added.
  • fast/js/var-shadows-arg-crash.html: Added.
00:22 Changeset [33515] by hausmann@webkit.org

Fix the Gtk build.

00:12 Changeset [33514] by hausmann@webkit.org

Fix the Qt build.

00:10 Changeset [33513] by rwlbuis@webkit.org

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=17433
getComputedStyle() -> clip returns empty string

Make getComputedStyle return a shape value for clip
if it is set.

Tests: fast/css/getPropertyValue-clip.html

05/15/08:

22:53 Changeset [33512] by kevino@webkit.org

wx build fix. Add rendering/style to includes dir.

22:10 Changeset [33511] by kmccullough@apple.com

2008-05-15 Kevin McCullough <kmccullough@apple.com>

  • Build fix.
20:27 Changeset [33510] by alice.liu@apple.com

2008-05-15 Alice Liu <alice.liu@apple.com>

Reviewed by Beth Dakin.

Fixed <rdar://problem/5882283> Implement ARIA aria-activedescendant
Also added support for aria roles listbox and option, and aria-selected,
and aria-multiselectable for listboxes

  • dom/Element.cpp: (WebCore::Element::attributeChanged):
  • dom/Element.h:
  • dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged):
  • html/HTMLAttributeNames.in:
  • page/AXObjectCache.cpp: (WebCore::AXObjectCache::handleActiveDescendantChanged):
  • page/AXObjectCache.h: (WebCore::AXObjectCache::accessibilityEnabled): (WebCore::AXObjectCache::handleActiveDescendantChanged):
  • page/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::selectedChildren): (WebCore::AccessibilityListBox::visibleChildren):
  • page/AccessibilityListBox.h:
  • page/AccessibilityListBoxOption.h: (WebCore::AccessibilityListBoxOption::selectedChildren): (WebCore::AccessibilityListBoxOption::visibleChildren):
  • page/AccessibilityObject.cpp:
  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::isListBox): (WebCore::AccessibilityObject::shouldFocusActiveDescendant): (WebCore::AccessibilityObject::activeDescendant): (WebCore::AccessibilityObject::handleActiveDescendantChanged):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::title): (WebCore::AccessibilityRenderObject::accessibilityShouldUseUniqueId): (WebCore::AccessibilityRenderObject::focusedUIElement): (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant): (WebCore::AccessibilityRenderObject::activeDescendant): (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): (WebCore::RoleEntry::): (WebCore::AccessibilityRenderObject::ariaRoleAttribute): (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): (WebCore::AccessibilityRenderObject::selectedChildren): (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren): (WebCore::AccessibilityRenderObject::visibleChildren):
  • page/AccessibilityRenderObject.h: (WebCore::AccessibilityRenderObject::isDetached):
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
20:20 Changeset [33509] by timothy@apple.com

Fixes a bug in the view source parsing of text within <script>,
<style>, <xmp>, <textarea> and other special tags. The text was
being parsed as HTML and would be syntax highlighted if a "<"
was encountered.

<rdar://problem/5790805> Inspector's source view missing some words,
doubles others in JS source in <script> tag (17752)

Reviewed by Dave Hyatt.

Added test: fast/frames/viewsource-plain-text-tags.html

  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::scriptHandler): Set scriptCodeSize and
scriptCodeResync to zero before an early return in view source mode.
This was causing text from a previous script tag to show up in
then next style tag.
(WebCore::HTMLTokenizer::parseTag): Enter an if block in view source
mode even if n is null. The n is property guarded in other places
and not used by view source mode. Removes a redundant null check on n.
Add a new null check of n before setting scriptSrcCharset. Other code
in HTMLTokenizer is already guarded for this code path.

20:20 Changeset [33508] by timothy@apple.com

Changes the Web Inspector node highlight to be less aggressive
and only highlight when hovering over the selected node in the DOM
tree or breadcrumbs. You can highlight on hover for any node if
you hold down the Alt/Option key while hovering.

Reviewed by Kevin McCullough.

  • page/inspector/ElementsPanel.js:
  • page/inspector/inspector.js:
19:51 Changeset [33507] by kmccullough@apple.com

2008-05-15 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5770054> JavaScript profiler (10928)

  • Cache some values to save on computing them repetitively. This will be a big savings when we sort since we won't have to walk the tree for every comparison!
  • We cache these values when we end profiling because otherwise we won't know which profile to get the totalTime for the whole profile from without retaining a reference to the head profile or looking up the profile from the list of all profiles.
  • Also it's safe to assume we won't be asked for these values while we are still profiling since the WebInspector only get's profileNodes from profiles that are in the allProfiles() list and a profile is only added to that list after it has finished and these values will no longer change.
  • JavaScriptCore.exp:
  • profiler/ProfileNode.cpp: (KJS::ProfileNode::ProfileNode): (KJS::ProfileNode::stopProfiling): (KJS::ProfileNode::printDataInspectorStyle): (KJS::ProfileNode::printDataSampleStyle): (KJS::ProfileNode::endAndRecordCall):
  • profiler/ProfileNode.h: (KJS::ProfileNode::totalTime): (KJS::ProfileNode::selfTime): (KJS::ProfileNode::totalPercent): (KJS::ProfileNode::selfPercent):
  • profiler/Profiler.cpp: (KJS::Profiler::stopProfiling):
19:37 Changeset [33506] by slewis@apple.com

2008-05-15 Stephanie Lewis <slewis@apple.com>

fix mac build

  • WebView/WebView.mm: (-[WebView closeWithFastTeardown]):
19:31 Changeset [33505] by slewis@apple.com

2008-05-15 Stephanie Lewis <slewis@apple.com>

Fix windows build

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading):
18:07 Changeset [33504] by slewis@apple.com

2008-05-15 Stephanie Lewis <slewis@apple.com>

Reviewed by Anders.

Turn on fast teardown. I added a preference for using full teardown because
the LEAKS output will be useless without a full teardown.

preference for fullteardown

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.m: (-[WebPreferences setFullDocumentTeardownEnabled:]): (-[WebPreferences fullDocumentTeardownEnabled]):
  • WebView/WebPreferencesPrivate.h:


on application quit dispatch unload events and destroy plugins then exit

  • WebView/WebView.mm: (-[WebView closeWithFastTeardown]): (-[WebView _close]):
  • WebView/WebViewPrivate.h:

export a symbol needed for fast teardown

  • WebCore.base.exp:
17:51 Changeset [33503] by slewis@apple.com

2008-05-15 Stephanie Lewis <slewis@apple.com>

Reviewed by Anders.

Keep track on pending unload event counts

No change in behavior so no new tests, but I am dumping the
unload event count to track the new variable.

  • WebCore.base.exp:

increment/decrement the count when an event is added/removed

  • dom/Document.cpp: (WebCore::Document::removeHTMLWindowEventListener): (WebCore::Document::addWindowEventListener): (WebCore::Document::removeWindowEventListener): (WebCore::Document::setPendingFrameUnloadEventCount):
  • dom/Document.h:

set the count to 0 for each frame after the unload event has been dispatched

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading):

keep track of the number of pending unload events for the eventHandler's frame

  • page/EventHandler.cpp: (WebCore::EventHandler::EventHandler):

(WebCore::EventHandler::pendingFrameUnloadEventCount):

(WebCore::EventHandler::setPendingFrameUnloadEventCount):

  • page/EventHandler.h:

keep track of the total number of pending unload events for all of the frames

  • page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::pendingUnloadEventCount): (WebCore::Page::setPendingUnloadEventCount):

age/Page.h:

get the pending frame unload count from WebCore

  • WebView/WebFrame.mm: (-[WebFrame _pendingFrameUnloadEventCount]):
  • WebView/WebFramePrivate.h:

Dump the unload count for a frame after parsing is finished.

  • DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):

Dump unload event counts for frames.

  • fast/dom/Window/get-set-properties-expected.txt:
  • fast/events/onunload-expected.txt:
  • fast/events/onunload-not-on-body-expected.txt:
  • fast/events/onunload-window-property-expected.txt:
  • fast/forms/button-state-restore-expected.txt:
  • fast/history/history_reload-expected.txt:
  • fast/loader/onunload-form-submit-crash-2-expected.txt:
  • fast/loader/onunload-form-submit-crash-expected.txt:
  • http/tests/xmlhttprequest/xhr-onunload-expected.txt:
  • platform/mac/fast/loader/start-load-in-unload-expected.txt:
16:40 Changeset [33502] by sfalken@apple.com

2008-05-15 Steve Falkenburg <sfalken@apple.com>

Fix build.

  • WebCore.vcproj/WebCore.vcproj:
16:39 Changeset [33501] by sullivan@apple.com

2008-05-15 John Sullivan <sullivan@apple.com>

Reviewed by Kevin Decker


  • fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of screen when new tab appears


The highlight should go away entirely, but this simple patch just makes it not jump away.
The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>

  • WebInspector/WebNodeHighlight.m: (-[WebNodeHighlight _repositionHighlightWindow]): Bail out if target view isn't in a window
16:37 Changeset [33500] by slewis@apple.com

2008-05-15 Stephanie Lewis <slewis@apple.com>

Reviewed by Anders.

Track views that contain plugin instances so that they can be destroyed at application
quit without walking the entire document tree.

Add/Remove Netscape plugin views from instance list. Start/stop are when netscape
plugins are created and destroyed

  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView start]): (-[WebBaseNetscapePluginView stop]):


Add/remove WebKit plugin views from instance list

  • Plugins/WebPluginController.mm: (-[WebPluginController addPlugin:]): (-[WebPluginController destroyPlugin:]): (-[WebPluginController destroyAllPlugins]):

Add a set of views with plugin instances to the WebPluginDatabase

  • Plugins/WebPluginDatabase.h:
  • Plugins/WebPluginDatabase.mm: (-[WebPluginDatabase init]): (-[WebPluginDatabase dealloc]): (-[WebPluginDatabase addPluginInstanceView:]): (-[WebPluginDatabase removePluginInstanceView:]): (-[WebPluginDatabase removePluginInstanceViewsFor:]): (-[WebPluginDatabase destroyAllPluginInstanceViews]):


Handle cases where plugin views are detached before the plugin is destroyed.

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::detachedFromParent2): (WebFrameLoaderClient::transitionToCommittedFromCachedPage): (WebFrameLoaderClient::transitionToCommittedForNewPage):

Add plugin instances to the set in the WebPluginDatabase by way of the WebView

  • WebView/WebHTMLView.mm:


  • WebView/WebHTMLViewInternal.h:
  • WebView/WebView.mm: (-[WebView addPluginInstanceView:]): (-[WebView removePluginInstanceView:]): (-[WebView removePluginInstanceViewsFor:]):
  • WebView/WebViewInternal.h:
16:10 Changeset [33499] by beidson@apple.com

WebKit/mac:

2008-05-15 Brady Eidson <beidson@apple.com>

Reviewed by Tim Hatcher

Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
before setting the page group of the new page.


  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path immediately after creating the page so it is in place for initializing the LocalStorageThread

WebKit/win:

2008-05-06 Brady Eidson <beidson@apple.com>

Reviewed by Tim Hatcher

Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
before setting the page group of the new page.

Since I still need to add the local storage path to WebPreferences on Windows, mark this with a FIXME for now.

  • WebView.cpp: (WebView::initWithFrame): Mark an important FIXME for setting the LocalStorage path as appropriate. Until this FIXME is handled, Windows will have no persistent LocalStorage
16:03 Changeset [33498] by sfalken@apple.com

2008-05-15 Steve Falkenburg <sfalken@apple.com>

Fix build.

  • WebCore.vcproj/WebCore.vcproj:
15:25 Changeset [33497] by sfalken@apple.com

2008-05-15 Steve Falkenburg <sfalken@apple.com>

Fix build.

  • WebCore.vcproj/WebCore.vcproj:
14:08 Changeset [33496] by ddkilzer@apple.com

WebCore:

Bug 19085: font-family: initial sets font-family differently than font: initial

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

Reviewed by David Hyatt.

Test: fast/css/font-family-initial.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Don't set family if first family of initial font description is empty.

LayoutTests:

Bug 19085: font-family: initial sets font-family differently than font: initial

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

Reviewed by David Hyatt.

  • fast/css/font-family-initial-expected.txt: Added.
  • fast/css/font-family-initial.html: Added.
14:00 Changeset [33495] by hyatt@apple.com

2008-05-15 David Hyatt <hyatt@apple.com>

Move RenderStyle into a new subdirectory, rendering/style/, in preparation for breaking it up into
a bunch of smaller files.

Reviewed by Dan Bernstein

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • rendering/RenderStyle.cpp: Removed.
  • rendering/RenderStyle.h: Removed.
  • rendering/style: Added.
  • rendering/style/RenderStyle.cpp: Copied from rendering/RenderStyle.cpp.
  • rendering/style/RenderStyle.h: Copied from rendering/RenderStyle.h.
13:42 Changeset [33494] by ddkilzer@apple.com

Fix leaks when stopping a page from loading

Patch suggested by Antti. Reviewed by Antti.

  • loader/DocLoader.cpp: (WebCore::DocLoader::clearPreloads): If a resource is in m_preloads but never made it to the cache, delete it to prevent it from leaking.
12:58 Changeset [33493] by timothy@apple.com

Fixes the bug where the Web Inspector would flash white while resizing.
This was cause by deferring the window creation.

<rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)

Reviewed by Darin Adler.

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController window]): Don't defer the window creation.

12:49 Changeset [33492] by jchaffraix@webkit.org

WebCore:

2008-05-15 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=13942
ASSERTION FAILED: !attrName.contains('/') in HTMLTokenizer.cpp:132 when loading http://bamanzi.blogeden.cn/

In HTML, when an attribute was null (for example when we parse '="somevalue"'
(attribute forgotten or there is a space between the attribute and the '=')),
the fallback was to assign the value to the attribute. However if the value was
a url or did contain a '/', we would trigger the assertion.

To avoid that, we check the value before assigning it now and do not assign it
if it means adding a '/'.

Test: fast/parser/assertion-empty-attribute.html

  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Add check for '/' in value before assigning it to an attribute when the attribute is null.

LayoutTests:

2008-05-15 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Test case for https://bugs.webkit.org/show_bug.cgi?id=13942
ASSERTION FAILED: !attrName.contains('/') in HTMLTokenizer.cpp:132 when loading http://bamanzi.blogeden.cn/

  • fast/parser/assertion-empty-attribute-expected.txt: Added.
  • fast/parser/assertion-empty-attribute.html: Added.
10:22 Changeset [33491] by ap@webkit.org

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=10707
DumpRenderTree should not be able to access non-local resources

  • DumpRenderTree/mac/ResourceLoadDelegate.mm: (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): Block them, and complain.
10:02 Changeset [33490] by ap@webkit.org

Tiger build fix.

  • Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
09:18 Changeset [33489] by kevino@webkit.org

wx build fix. Update the version of libpng to download and instsall.

08:52 Changeset [33488] by kevino@webkit.org

wx build fix for recent breakages. Add EventLoopWx.cpp, update the Bakefiles, and add stubs for new Plugins functions. Also move plugin functions outside of TemporaryLinkStubs.cpp so that they are more noticeable.

07:51 Changeset [33487] by hausmann@webkit.org

2008-05-15 Adam Treat <treat@kde.org>

Reviewed by Simon.

Don't try to setCompositionMode for devices that do not support PorterDuff

06:45 Changeset [33486] by ap@webkit.org

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

Reviewed and landed by Alexey.

Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].

06:25 Changeset [33485] by hausmann@webkit.org

Simon Hausmann <shausman@trolltech.com>

Fix compilation when compiling with MSVC and wchar_t support.

05:45 Changeset [33484] by oliver@apple.com

Revert "Bug 18626: SQUIRRELFISH: support the "slow script" dialog"

This seems to cause a significant perf regression on some systems

02:31 Changeset [33483] by oliver@apple.com

Bug 18626: SQUIRRELFISH: support the "slow script" dialog
<https://bugs.webkit.org/show_bug.cgi?id=18626>

Reviewed by Maciej

Support the slow script dialog for for(;;), while, and do..while
loops.

00:26 Changeset [33482] by hausmann@webkit.org

2008-05-15 Simon Hausmann <hausmann@webkit.org>

Fix the Qt build by adding NetworkStateNotifier.cpp to the build.

00:14 Changeset [33481] by ggaren@apple.com

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

Not reviewed.


We regret to inform you that your program is crashing because you were
stupid.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Math is hard.

05/14/08:

23:50 Changeset [33480] by ggaren@apple.com

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

Reviewed by Oliver Hunt.

A little more debugger action: filled in op_debug. All debugger control
flow works now, but variable inspection and backtraces still don't.


SunSpider reports no change.

  • VM/CodeGenerator.cpp: Changed op_debug to accept line number parameters.
  • VM/Machine.cpp: (KJS::Machine::getFunctionAndArguments): Moved op_debug into a NEVER_INLINE function to avoid a stunning 10% performance regression. Also factored out a common function for retrieving the function and arguments from a call frame.
  • kjs/JSActivation.cpp: (KJS::JSActivation::createArgumentsObject): Use the new factored out function mentioned above.
  • kjs/Parser.cpp: (KJS::Parser::parse): Increment m_sourceId before assigning it, so the sourceId we send to the debugger matches the sourceId recorded in the node.
  • kjs/nodes.cpp: Emit debugging hooks.
23:06 Changeset [33479] by mrowe@apple.com

Merge r33017.

22:52 Changeset [33478] by mrowe@apple.com

Versioning.

22:49 Changeset [33477] by mrowe@apple.com

New tag.

22:49 Changeset [33476] by mitz@apple.com

WebCore:

Reviewed by Mark Rowe.

  • fix <rdar://problem/5907633> Memory corruption after closing a document that uses box-reflect

Test: fast/reflections/teardown-crash.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::~RenderLayer): Changed to not call removeLayers() on the reflection if the document is being destroyed, because in that case the layer tree is not being maintained.

LayoutTests:

Reviewed by Mark Rowe.

  • test for <rdar://problem/5907633> Memory corruption after closing a document that uses box-reflect
  • fast/reflections/teardown-crash-expected.txt: Added.
  • fast/reflections/teardown-crash.html: Added.
19:36 Changeset [33475] by kmccullough@apple.com

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5770054> JavaScript profiler (10928)

  • Turn on the profiler.
  • kjs/config.h:
19:06 Changeset [33474] by kmccullough@apple.com

JavaScriptCore:

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5770054> JavaScript profiler (10928)

WebCore:

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5770054> JavaScript profiler (10928)

  • page/JavaScriptProfileNode.cpp: (WebCore::getTotalPercent): (WebCore::getSelfPercent): (WebCore::ProfileNodeClass):
18:59 Changeset [33473] by timothy@apple.com

Fixes a crash in JavaScriptDebugServer::returnEvent when debugging
code that contains an eval. This change makes stepping into eval
code work as expected.

http://bugs.webkit.org/show_bug.cgi?id=19038

Reviewed by Kevin McCullough.

Tested with: manual-tests/inspector/returnEvent-crash.html

  • manual-tests/inspector/returnEvent-crash.html: Added.
  • page/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::sourceParsed): Adds #ifdefed
debugging code to prevent the sourceID and URL.
(WebCore::updateCurrentCallFrame): Added. A helper function that
is called from all 4 of the debugger hooks below. This function will
update and/or create JavaScriptCallFrames to match the exec state,
sourceID and lineNumber passed into it. Contains #ifdefed debugging
code that was helpful while fixing this bug.
(WebCore::JavaScriptDebugServer::callEvent): Call updateCurrentCallFrame
before pauseIfNeeded.
(WebCore::JavaScriptDebugServer::atStatement): Ditto.
(WebCore::JavaScriptDebugServer::returnEvent): Ditto.
(WebCore::JavaScriptDebugServer::exception): Ditto.

18:31 Changeset [33472] by alp@webkit.org

2008-05-14 Alp Toker <alp@nuanti.com>

GTK+ build fix for r33457. Add NetworkStateNotifier.cpp to the build.

  • GNUmakefile.am:
18:10 Changeset [33471] by kmccullough@apple.com

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Giving credit where credit is due.

  • ChangeLog:
18:09 Changeset [33470] by kmccullough@apple.com

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff and Sam.

<rdar://problem/5770054> JavaScript profiler (10928)
Add the ability to get percentages of total and self time for displaying
in the WebInspector.

  • profiler/Profile.h: (KJS::Profile::totalProfileTime):
  • profiler/ProfileNode.cpp: (KJS::ProfileNode::totalPercent): (KJS::ProfileNode::selfPercent):
  • profiler/ProfileNode.h:
  • profiler/Profiler.h: (KJS::Profiler::currentProfile):
18:06 Changeset [33469] by andersca@apple.com

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

Reviewed by Mitz.

Make our Sticky notes example an offline web app.

  • misc/DatabaseExample.html:
  • misc/DatabaseExample.manifest: Added.
18:02 Changeset [33468] by alp@webkit.org

2008-05-14 Alp Toker <alp@nuanti.com>

GTK+ build fix. Include value.h from kjs, not JavaScriptCore.

  • page/JavaScriptProfile.cpp:
  • page/JavaScriptProfileNode.cpp:
17:43 Changeset [33467] by aroben@apple.com

Windows release build fix

  • WebCore.vcproj/WebCore.vcproj: Make sure the warnings we disable on XPathGrammar.cpp are disabled for all configurations, not just Debug_Internal.
17:25 Changeset [33466] by kmccullough@apple.com

JavaScriptCore:

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam.

<rdar://problem/5770054> JavaScript profiler (10928)

  • Rename FunctionCallProfile to ProfileNode.
  • GNUmakefile.am:
  • JavaScriptCore.exp:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • profiler/FunctionCallProfile.cpp: Removed.
  • profiler/FunctionCallProfile.h: Removed.
  • profiler/Profile.cpp: (KJS::Profile::Profile): (KJS::Profile::willExecute):
  • profiler/Profile.h: (KJS::Profile::callTree):
  • profiler/ProfileNode.cpp: Copied from profiler/FunctionCallProfile.cpp. (KJS::ProfileNode::ProfileNode): (KJS::ProfileNode::willExecute): (KJS::ProfileNode::didExecute): (KJS::ProfileNode::addChild): (KJS::ProfileNode::findChild): (KJS::ProfileNode::stopProfiling): (KJS::ProfileNode::selfTime): (KJS::ProfileNode::printDataInspectorStyle): (KJS::ProfileNode::printDataSampleStyle): (KJS::ProfileNode::endAndRecordCall):
  • profiler/ProfileNode.h: Copied from profiler/FunctionCallProfile.h. (KJS::ProfileNode::create): (KJS::ProfileNode::children):
  • profiler/Profiler.cpp:

WebCore:

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam.

<rdar://problem/5770054> JavaScript profiler (10928)

  • Rename FunctionCallProfile to ProfileNode
  • ForwardingHeaders/profiler/FunctionCallProfile.h: Removed.
  • ForwardingHeaders/profiler/ProfileNode.h: Copied from ForwardingHeaders/profiler/FunctionCallProfile.h.
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • page/JavaScriptFunctionCallProfile.cpp: Removed.
  • page/JavaScriptFunctionCallProfile.h: Removed.
  • page/JavaScriptProfile.cpp:
  • page/JavaScriptProfileNode.cpp: Copied from page/JavaScriptFunctionCallProfile.cpp. (WebCore::ProfileNodeCache): (WebCore::getFunctionName): (WebCore::getTotalTime): (WebCore::getSelfTime): (WebCore::getNumberOfCalls): (WebCore::getChildren): (WebCore::finalize): (WebCore::ProfileNodeClass): (WebCore::toJS):
  • page/JavaScriptProfileNode.h: Copied from page/JavaScriptFunctionCallProfile.h.
17:02 Changeset [33465] by bdakin@apple.com

2008-05-13 Beth Dakin <bdakin@apple.com>

Reviewed by Brady.

This patch adds support for the ARIA progressbar role and the
following ARIA states (ie HTML attributes): aria-checked, aria-
level, aria-pressed, aria-valuenow, aria-valuemin, and aria-
valuemax.

  • html/HTMLAttributeNames.in:
  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::isProgressIndicator): (WebCore::AccessibilityObject::valueForRange): (WebCore::AccessibilityObject::maxValueForRange): (WebCore::AccessibilityObject::minValueForRange):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isProgressIndicator): (WebCore::AccessibilityRenderObject::isPressed): Check the aria- pressed attribute if this is an ARIA button. (WebCore::AccessibilityRenderObject::headingLevel): Check the aria- level attribute if this is an ARIA heading. (WebCore::AccessibilityRenderObject::intValue): Check the aria- checked attribute if this is an ARIA radio button or checkbox. (WebCore::AccessibilityRenderObject::valueForRange): (WebCore::AccessibilityRenderObject::maxValueForRange): (WebCore::AccessibilityRenderObject::minValueForRange): (WebCore::RoleEntry::): (WebCore::AccessibilityRenderObject::canSetValueAttribute):
  • page/AccessibilityRenderObject.h:
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
16:02 Changeset [33464] by kmccullough@apple.com

JavaScriptCore:

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by John.

<rdar://problem/5770054> JavaScript profiler (10928)

  • Have each FunctionCallProfile be able to return it's total and self time.
  • JavaScriptCore.exp:
  • profiler/FunctionCallProfile.cpp: (KJS::FunctionCallProfile::selfTime):
  • profiler/FunctionCallProfile.h: (KJS::FunctionCallProfile::totalTime):

WebCore:

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by John.

-<rdar://problem/5770054> JavaScript profiler (10928)
Use the FunctionCallProfile's new total and self time functions.

  • page/JavaScriptFunctionCallProfile.cpp: (WebCore::getTotalTime): (WebCore::getSelfTime):
15:50 Changeset [33463] by andersca@apple.com

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

Check in the test result.


  • http/tests/appcache/manifest-with-empty-file-expected.txt: Added.
15:44 Changeset [33462] by andersca@apple.com

WebCore:

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

Reviewed by Adam.

Don't try to store the resource data if it's empty.


  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store):

LayoutTests:

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

Reviewed by Adam.

Add test where a manifest references an empty file.


  • http/tests/appcache/manifest-with-empty-file.html: Added.
  • http/tests/appcache/resources/empty.txt: Added.
  • http/tests/appcache/resources/manifest-with-empty-file.manifest: Added.
15:35 Changeset [33461] by aroben@apple.com

Windows build fix

  • platform/network/NetworkStateNotifier.cpp: Added a missing #include.
  • platform/network/NetworkStateNotifier.h: (WebCore::NetworkStateNotifier::NetworkStateNotifier): Removed 'void' return type from the constructor, and fixed the spelling of a member variable.
15:26 Changeset [33460] by kmccullough@apple.com

2008-05-14 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

<rdar://problem/5770054> JavaScript profiler (10928)

  • ForwardingHeaders/profiler/FunctionCallProfile.h: Added.
  • ForwardingHeaders/profiler/Profile.h: Added.
  • GNUmakefile.am: Add the new files to all the projects.
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • page/InspectorController.cpp: Add the ability to retrieve all of the profiles in JavaScript from the InspectorController. (WebCore::allProfiles): (WebCore::InspectorController::windowScriptObjectAvailable):
  • page/JavaScriptFunctionCallProfile.cpp: Added. Wrapper around the JSC FunctionCallProfile. (WebCore::functionCallProfileCache): This cache makes sure we don't needlessly create duplicate wrappers around the same FunctionCallProfile*. (WebCore::getFunctionName): Callback to return the name of the function. (WebCore::getTotalTime): Callback to return the total time spent in the function. (WebCore::getSelfTime): Callback to return the time spent in self (total
  • time in children) in the function. (WebCore::getNumberOfCalls): Callback to return the number of times this function was called. (WebCore::getChildren): Callback to return the children of this function where the children are the functions this function called. (WebCore::finalize): Cleanup. (WebCore::functionCallProfileClass): Define the JSClassRef for this object. (WebCore::toJS): Create a conversion function to make a usable JSValue to wrap the FunctionCallProfile in JSC.
  • page/JavaScriptFunctionCallProfile.h: Added.
  • page/JavaScriptProfile.cpp: Added. Wrapper around the JSC Profile. (WebCore::profileCache): This cache makes sure we don't needlessly create duplicate wrappers aroudn the same Profile*. (WebCore::getHeadCallback): Callback to return the head of the graph of the functions profiled durring this profile's run. (WebCore::finalize): (WebCore::profileClass): Define the JSClassRef for this object. (WebCore::toJS): Create a conversion function to make a usable JSValue to wrap the Profile from JSC.
  • page/JavaScriptProfile.h: Added.
15:20 Changeset [33459] by aroben@apple.com

Fix Bug 18767: Inspector is currently pretty much useless on Windows

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

Reviewed by Tim Hatcher.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::highlight): Only move the highlight behind the Inspector window when first creating the highlight, not every time we update it.
15:07 Changeset [33458] by hyatt@apple.com

2008-05-14 David Hyatt <hyatt@apple.com>

Fix for bug https://bugs.webkit.org/show_bug.cgi?id=16130.

Opacity, transforms, reflections and masks should not honor z-index unless the element is also
positioned. Always reset to auto if the element is not positioned (and then the following code will
adjust auto to 0 as needed).

Reviewed by Dan Bernstein

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):
14:30 Changeset [33457] by andersca@apple.com

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

Reviewed by Brady.

<rdar://problem/5931742> Support navigator.onLine from HTML5


  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj: Add NetworkStateNotifier files.


  • dom/EventNames.h: Add offline and online events.


  • page/Navigator.cpp: (WebCore::Navigator::onLine):
  • page/Navigator.h:
  • page/Navigator.idl: Add navigator.onLine.


  • page/Page.cpp: (WebCore::networkStateChanged): Dispatch offline/online events to all frames.


(WebCore::Page::Page):
Set state change callback.


  • platform/network/NetworkStateNotifier.cpp: Added.
  • platform/network/NetworkStateNotifier.h: Added.
  • platform/network/mac/NetworkStateNotifierMac.cpp: Added. Mac network state notifier.
14:26 Changeset [33456] by eric@webkit.org

Reviewed by Oliver.

Add missing NULL check to match rest of file, this was found by the editing fuzzer.

  • WebView/WebResource.mm: (-[WebResource data]):
14:17 Changeset [33455] by aroben@apple.com

Add some Bugzilla URLs

14:14 Changeset [33454] by aroben@apple.com

Fix Bug 18888: REGRESSION (r32731): console.log always prints "undefined"

Reviewed by Tim Hatcher.

Tested by pre-existing
manual-tests/inspector/console-log-formatting.html.

  • page/inspector/Console.js: (WebInspector.ConsoleMessage.prototype._format): Changed to explicitly wrap Console._format instead of using bind to do it. Using bind was causing us to pass plainText in as the first parameter instead of as the second.
13:59 Changeset [33453] by timothy@apple.com

Fixes the bug where stepping out of a function would show the wrong
call stack (would look like it stepped out twice.)

Reviewed by Adam Roben.

  • page/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::returnEvent):
Call pauseIfNeeded before setting m_currentCallFrame to the caller.

13:40 Changeset [33452] by slewis@apple.com

2008-05-14 Stephanie Lewis <slewis@apple.com>

Fix 64bit build

  • plugins/PluginView.h:
13:36 Changeset [33451] by ddkilzer@apple.com

WebCore:

REGRESSION (r26474): WebKit fails jQuery test 64 core module: text(String) subtest 1 Check escaped text (createTextNode)

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

Reviewed by Darin.

Tests: fast/dom/dom-parse-serialize-expected.txt:

fast/xsl/xslt-processor-expected.txt:
fast/xsl/xslt-text-expected.txt:

Commit r26474 removed escaping of '>' characters to '&gt;' in serialized
HTML content, which broke one jQuery test. This change restores that
serialization behavior to both attributes and content for consistency.

  • editing/markup.cpp: (WebCore::appendAttributeValue): Escape '>' as '&gt;'. (WebCore::escapeContentText): Ditto. (WebCore::appendEscapedContent): Ditto. This is the bug fix for the jQuery test.

LayoutTests:

REGRESSION (r26474): WebKit fails jQuery test 64 core module: text(String) subtest 1 Check escaped text (createTextNode)

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

Reviewed by Darin.

Updated test results now that '>' is escaped to '&gt;' in both
attributes and content.

  • fast/xsl/xslt-processor-expected.txt:
  • fast/xsl/xslt-text-expected.txt:
  • platform/mac/fast/dom/dom-parse-serialize-expected.txt:
13:04 Changeset [33450] by aroben@apple.com

Fix Bug 19051: REGRESSION (r33447): Assertion in JSDebugServer::removeListener closing tab with Inspector open

m_inspectedPage is now cleared when the Page is destroyed, which never
used to happen. Some of InspectorController's code was not prepared
for this.

Reviewed by Dave Hyatt.

  • page/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): Removed a call to stopDebugging and added an assertion. Debugging should have already been stopped by this point. (WebCore::InspectorController::inspectedPageDestroyed): Moved here from the header file. Added a call to stopDebugging. (WebCore::InspectorController::enabled): Return false if our inspected Page has already been destroyed, since we can't really do much at this point anyway. (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::didLoadResourceFromMemoryCache): (WebCore::InspectorController::identifierForInitialRequest): (WebCore::InspectorController::startDebuggingAndReloadInspectedPage): (WebCore::InspectorController::stopDebugging): (WebCore::InspectorController::drawNodeHighlight): Assert that m_inspectedPage hasn't been cleared.
  • page/InspectorController.h:
12:30 Changeset [33449] by justin.garcia@apple.com

WebCore:

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

Reviewed by Darin.

<rdar://problem/5914803> Improve performance of WebCore::Editor::setComposition

  • editing/Editor.cpp: (WebCore::Editor::confirmComposition): Remove the previous composition when we insert the new one, not with a separate, slower, delete operation. (WebCore::Editor::setComposition): Ditto.
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::performTrivialReplace): Remove the selected text with a low level operation that doesn't perform a layout and insert the new text in a way that won't trigger a layout from the removal. (WebCore::InsertTextCommand::input): Call the optimized replace.
  • editing/InsertTextCommand.h:
  • editing/htmlediting.cpp: (WebCore::isTabSpanNode): Check to see if the node is a span, to avoid the expense of getAttribute in the common case.
  • page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Selection::start() and end() will already be at VisiblePosition deepEquivalents. Selection::validate() ensures this.

LayoutTests:

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

Reviewed by Darin.

<rdar://problem/5914803> Improve performance of WebCore::Editor::setComposition


Replacing all the text in a node is now much less likely to remove it
and cause selection changes.

  • platform/mac/editing/input/text-input-controller-expected.txt:
  • platform/mac/editing/inserting/4959067-expected.txt:
  • platform/mac/editing/style/style-3681552-fix-001-expected.txt:
12:01 Changeset [33448] by ap@webkit.org

Reviewed by Dan Bernstein.

NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.

  • Plugins/nptextinput.h:
11:33 Changeset [33447] by aroben@apple.com

Make the Inspector able to handle being reloaded

When Reload was selected from the context menu in the Inspector, the
Inspector window would close and never be openable again. Now it
closes, then reopens when the page finishes loading.

Reviewed by Tim Hatcher.

  • page/InspectorController.cpp: (WebCore::InspectorController::close): Removed code that cleared out m_page. This is now handled by pageDestroyed.
  • page/InspectorController.h: (WebCore::InspectorController::inspectedPageDestroyed): Added.
  • page/Page.cpp: (WebCore::Page::~Page): Fixed a bug and added a call to the new inspectedPageDestroyed. If we have a parent InspectorController, that means that we are the Page in the Inspector's window (i.e., we are the Inspector's UI), so when we are destroyed we should call InspectorController::pageDestroyed. We also need to call inspectedPageDestroyed on our own InspectorController so that it won't try to call into us.
11:21 Changeset [33446] by jchaffraix@webkit.org

2008-05-14 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.


  • isDarwin() and isCygwin() returned an empty string if the platform equality check fails. We now force the return value to be numeric.
  • Removed platform checks as it was a work around the previous issue.
  • Replaced isDarwin() by isOSX() as they have now the same behaviour.
  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:
10:55 Changeset [33445] by timothy@apple.com

Add pause on exception support to the Inspector debugger
with a toggle buttons to enable or disable it.

Reviewed by Adam Roben.

  • page/InspectorController.cpp:

(WebCore::pauseOnExceptions): Call the InspectorController.
(WebCore::setPauseOnExceptions): Ditto.
(WebCore::InspectorController::windowScriptObjectAvailable): Add the new
setPauseOnExceptions and pauseOnExceptions functions to the JS class.
(WebCore::InspectorController::pauseOnExceptions): Call JavaScriptDebugServer.
(WebCore::InspectorController::setPauseOnExceptions): Ditto.

  • page/InspectorController.h:
  • page/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::setPauseOnExceptions): Set m_pauseOnExceptions.
(WebCore::JavaScriptDebugServer::exception): Check m_pauseOnExceptions
and set m_pauseOnNextStatement to true before calling pauseIfNeeded.

  • page/JavaScriptDebugServer.h:
  • page/inspector/Images/pauseOnExceptionButtons.png: Added.
  • page/inspector/ScriptsPanel.js: Adds a status bar button that calls

the new InspectorController functions.

  • page/inspector/inspector.css: New styles.
10:55 Changeset [33444] by timothy@apple.com

Rename the Scope Chain pane to Scope Variables. Name the global
object Global. Name objects before the locals "With Block".
Name colsure scopes "Closure". Name any element or document
after Local, "Event Target" and "Event Document", respectfully.

Reviewed by Adam Roben.

  • English.lproj/localizedStrings.js: Add new strings.
  • page/inspector/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection): Add a new argument that is used
for the empty placeholder text.
(WebInspector.ObjectPropertiesSection.prototype.onpopulate): Use the
empty placeholder text.

  • page/inspector/ScopeChainSidebarPane.js:

(WebInspector.ScopeChainSidebarPane): Rename Scope Chain to Scope Variables.
(WebInspector.ScopeChainSidebarPane.prototype.update): Use the object name as
the subtitle. Use "Global" for the global object title. Use "With Block" for
the title of objects before the locals. Use "No Variables" for the empty
placeholder text for locals.

09:34 Changeset [33443] by ap@webkit.org

Reviewed by Darin.

<rdar://problem/5934376> REGRESSION: A script fails because of a straw BOM character in it.

<https://bugs.webkit.org/show_bug.cgi?id=4931>
Unicode format characters (Cf) should be removed from JavaScript source

Of all Cf characters, we are only removing BOM, because this is what Firefox trunk has
settled upon, after extensive discussion and investigation.

Based on Darin's work on this bug.

Test: fast/js/removing-Cf-characters.html

  • kjs/lexer.cpp: (KJS::Lexer::setCode): Tweak formatting. Use a call to shift(4) to read in the first characters, instead of having special case code here. (KJS::Lexer::shift): Add a loop when reading a character to skip BOM characters.
09:18 Changeset [33442] by ap@webkit.org

2008-05-14 Michael A. Puls II <shadow2531@gmail.com>

Reviewed by Alexey.

Fix for https://bugs.webkit.org/show_bug.cgi?id=16923
Attr nodes with a value of "" should not have any childNodes


In Opera, Firefox and IE, when an attribute node has a value
of "", the attribute node doesn't have any childNodes. This
is true in WebKit also, but not when you assign "" to the
Attr's value when the existing value is non-empty.


Test: fast/dom/attribute-empty-value-no-children.html

  • dom/Attr.cpp: (WebCore::Attr::setValue): Use createTextChild(), which only appends a child text node if the value being assigned is not empty.
08:50 Changeset [33441] by jchaffraix@webkit.org

2008-05-14 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

GCC 4.3 build fix.
Removes some compiler warnings.

  • dom/Document.h: (WebCore::FormElementKey::hashTableDeletedValue): GCC complained about the const keyword so remove it as it is only used inside FormElementKey.
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Correct coding style (removes a warning too).
  • loader/appcache/ApplicationCacheResource.cpp: Include stdio.h for gcc4.3 build.
  • plugins/PluginPackage.cpp: (WebCore::PluginPackage::PluginPackage): Changed initialization order in the constructor.
  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView): Ditto.
  • plugins/PluginView.h:
  • xml/AccessControlList.cpp: Include stdio.h
  • xml/AccessItem.cpp: Ditto.
  • xml/AccessItemRule.cpp: Ditto.
07:31 Changeset [33440] by hausmann@webkit.org

2008-05-14 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Qt build fix. Add JSJavaScriptCallFrameCustom.cpp to the build
and implemented EventLoopQt.

05:53 Changeset [33439] by hausmann@webkit.org

2008-05-14 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

Qt build fix. Add JavaScriptCallFrame.{idl,cpp} to the build.

05:14 Changeset [33438] by oliver@apple.com

Bug 19024: SQUIRRELFISH: ASSERTION FAILED: activation->isActivationObject() in Machine::unwindCallFrame
<https://bugs.webkit.org/show_bug.cgi?id=19024>

Reviewed by Maciej

This fixes a number of issues. The most important is that we now check every register
file for tainting rather than just looking for function register files as that was
insufficient. Additionally guarded against implicit re-entry into Eval code.

Also added a few additional assertions to reduce the amout of time between something
going wrong and us seeing the error.

01:45 Changeset [33437] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


A little more debugger action: emit opcodes for debugger hooks. Right
now, the opcode implementation is just a stub.


SunSpider reports no change.


Some example codegen for "function f() { 1; }":

[ 0] dbg DidEnterCallFrame
[ 2] dbg WillExecuteStatement
[ 4] load tr0, 1(@k0)
[ 7] load tr0, undefined(@k1)
[ 10] dbg WillLeaveCallFrame
[ 12] ret tr0

00:25 Changeset [33436] by oliver@apple.com

Bug 19025: SQUIRRELFISH: malformed syntax in onload handler causes crash
<https://bugs.webkit.org/show_bug.cgi?id=19025>

Reviewed by Geoff

Simple fix -- move the use of functionBodyNode to after the null check.

00:24 Changeset [33435] by oliver@apple.com

Split the binops tests up a bit more

RS=Geoff

05/13/08:

23:32 Changeset [33434] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Oliver Hunt.


Fixed a codegen crash with run-time parse errors.


SunSpider reports no change.


emitThrowError needs to return the temporary holding the error, not dst,
since dst may be NULL. In fact, emitThrowError shouldn't take a dst
parameter at all, since exceptions should not modify the destination
register.

LayoutTests:

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

Reviewed by Oliver Hunt.


Added layout test for a codegen crash with run-time parse errors.

  • fast/js/exception-codegen-crash-expected.txt: Added.
  • fast/js/exception-codegen-crash.html: Added.
22:48 Changeset [33433] by oliver@apple.com

Splitting exception sequencing test as it was too long and made DRT unhappy
on non-MacPros.

RS=Geoff

22:25 Changeset [33432] by oliver@apple.com

Bug 19027: SquirrelFish: Incorrect codegen for pre-increment
<https://bugs.webkit.org/show_bug.cgi?id=19027>

Reviewed by Geoff

This fixes the codegen issues for the pre-inc/decrement operators
to prevent incorrectly clobbering the destination in the event of
an exception.

22:06 Changeset [33431] by mitz@apple.com

WebCore:

Reviewed by John Sullivan.

  • Windows part of <rdar://problem/5725912> improve render quality of transformed text
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): Added call to wkSetCGContextFontRenderingStyle().

WebKitLibraries:

Reviewed by John Sullivan.

  • WebKitSystemInterface support for <rdar://problem/5725912> improve render quality of transformed text
  • libWebKitSystemInterfaceLeopard.a: Improved glyph positioning in transformed graphics contexts.
  • win/include/WebKitSystemInterface/WebKitSystemInterface.h: Added wkSetCGContextFontRenderingStyle().
  • win/lib/WebKitSystemInterface.lib: Updated.
  • win/lib/WebKitSystemInterface_debug.lib: Updated.

LayoutTests:

Reviewed by John Sullivan.

  • updated pixel results for <rdar://problem/5725912> improve render quality of transformed text
  • platform/mac-leopard/fast/backgrounds: Added.
  • platform/mac-leopard/fast/backgrounds/repeat: Added.
  • platform/mac-leopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.checksum: Added.
  • platform/mac-leopard/fast/backgrounds/repeat/negative-offset-repeat-transformed-expected.png: Added.
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-33-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-33-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-84-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-84-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-02-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-02-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-03-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-03-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-04-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-04-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-05-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-05-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-06-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/coords-trans-06-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/metadata-example-01-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/metadata-example-01-b-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-04-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-04-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-05-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-05-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-06-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-06-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-07-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-07-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-08-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/paths-data-08-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/struct-frag-02-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/struct-frag-02-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/struct-frag-03-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/struct-frag-03-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/text-path-01-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/text-path-01-b-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/text-text-01-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.png:
  • platform/mac-leopard/svg/batik/text/textAnchor-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textAnchor-expected.png:
  • platform/mac-leopard/svg/batik/text/textEffect3-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textEffect3-expected.png:
  • platform/mac-leopard/svg/batik/text/textFeatures-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textFeatures-expected.png:
  • platform/mac-leopard/svg/batik/text/textGlyphOrientationHorizontal-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textGlyphOrientationHorizontal-expected.png:
  • platform/mac-leopard/svg/batik/text/textLayout-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textLayout-expected.png:
  • platform/mac-leopard/svg/batik/text/textLength-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textLength-expected.png:
  • platform/mac-leopard/svg/batik/text/textOnPath-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textOnPath-expected.png:
  • platform/mac-leopard/svg/batik/text/textOnPath2-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textOnPath2-expected.png:
  • platform/mac-leopard/svg/batik/text/textOnPath3-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textOnPath3-expected.png:
  • platform/mac-leopard/svg/batik/text/textOnPathSpaces-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textOnPathSpaces-expected.png:
  • platform/mac-leopard/svg/batik/text/textProperties2-expected.checksum:
  • platform/mac-leopard/svg/batik/text/textProperties2-expected.png:
  • platform/mac-leopard/svg/batik/text/verticalText-expected.checksum:
  • platform/mac-leopard/svg/batik/text/verticalText-expected.png:
  • platform/mac-leopard/svg/batik/text/verticalTextOnPath-expected.checksum:
  • platform/mac-leopard/svg/batik/text/verticalTextOnPath-expected.png:
  • platform/mac-leopard/svg/carto.net/button-expected.checksum:
  • platform/mac-leopard/svg/carto.net/button-expected.png:
  • platform/mac-leopard/svg/carto.net/colourpicker-expected.checksum:
  • platform/mac-leopard/svg/carto.net/colourpicker-expected.png:
  • platform/mac-leopard/svg/carto.net/combobox-expected.checksum:
  • platform/mac-leopard/svg/carto.net/combobox-expected.png:
  • platform/mac-leopard/svg/carto.net/scrollbar-expected.checksum:
  • platform/mac-leopard/svg/carto.net/scrollbar-expected.png:
  • platform/mac-leopard/svg/carto.net/selectionlist-expected.checksum:
  • platform/mac-leopard/svg/carto.net/selectionlist-expected.png:
  • platform/mac-leopard/svg/carto.net/slider-expected.checksum:
  • platform/mac-leopard/svg/carto.net/slider-expected.png:
  • platform/mac-leopard/svg/carto.net/textbox-expected.checksum:
  • platform/mac-leopard/svg/carto.net/textbox-expected.png:
  • platform/mac-leopard/svg/carto.net/window-expected.checksum:
  • platform/mac-leopard/svg/carto.net/window-expected.png:
  • platform/mac-leopard/svg/custom/coords-relative-units-transforms-expected.checksum:
  • platform/mac-leopard/svg/custom/coords-relative-units-transforms-expected.png:
  • platform/mac-leopard/svg/custom/feComponentTransfer-Discrete-expected.checksum:
  • platform/mac-leopard/svg/custom/feComponentTransfer-Discrete-expected.png:
  • platform/mac-leopard/svg/custom/feComponentTransfer-Gamma-expected.checksum:
  • platform/mac-leopard/svg/custom/feComponentTransfer-Gamma-expected.png:
  • platform/mac-leopard/svg/custom/feComponentTransfer-Linear-expected.checksum:
  • platform/mac-leopard/svg/custom/feComponentTransfer-Linear-expected.png:
  • platform/mac-leopard/svg/custom/feComponentTransfer-Table-expected.checksum:
  • platform/mac-leopard/svg/custom/feComponentTransfer-Table-expected.png:
  • platform/mac-leopard/svg/custom/focus-ring-expected.checksum:
  • platform/mac-leopard/svg/custom/focus-ring-expected.png:
  • platform/mac-leopard/svg/custom/font-platformDestroy-crash-expected.checksum:
  • platform/mac-leopard/svg/custom/font-platformDestroy-crash-expected.png:
  • platform/mac-leopard/svg/custom/foreign-object-skew-expected.checksum:
  • platform/mac-leopard/svg/custom/foreign-object-skew-expected.png:
  • platform/mac-leopard/svg/custom/getTransformToElement-expected.checksum:
  • platform/mac-leopard/svg/custom/getTransformToElement-expected.png:
  • platform/mac-leopard/svg/custom/invalid-css-expected.checksum:
  • platform/mac-leopard/svg/custom/invalid-css-expected.png:
  • platform/mac-leopard/svg/custom/js-late-clipPath-and-object-creation-expected.checksum:
  • platform/mac-leopard/svg/custom/js-late-clipPath-and-object-creation-expected.png:
  • platform/mac-leopard/svg/custom/js-late-clipPath-creation-expected.checksum:
  • platform/mac-leopard/svg/custom/js-late-clipPath-creation-expected.png:
  • platform/mac-leopard/svg/custom/js-late-gradient-and-object-creation-expected.checksum:
  • platform/mac-leopard/svg/custom/js-late-gradient-and-object-creation-expected.png:
  • platform/mac-leopard/svg/custom/js-late-gradient-creation-expected.checksum:
  • platform/mac-leopard/svg/custom/js-late-gradient-creation-expected.png:
  • platform/mac-leopard/svg/custom/js-late-pattern-and-object-creation-expected.checksum:
  • platform/mac-leopard/svg/custom/js-late-pattern-and-object-creation-expected.png:
  • platform/mac-leopard/svg/custom/js-late-pattern-creation-expected.checksum:
  • platform/mac-leopard/svg/custom/js-late-pattern-creation-expected.png:
  • platform/mac-leopard/svg/custom/marker-default-width-height-expected.checksum:
  • platform/mac-leopard/svg/custom/marker-default-width-height-expected.png:
  • platform/mac-leopard/svg/custom/multiple-title-elements-expected.checksum:
  • platform/mac-leopard/svg/custom/multiple-title-elements-expected.png:
  • platform/mac-leopard/svg/custom/path-textPath-simulation-expected.checksum:
  • platform/mac-leopard/svg/custom/path-textPath-simulation-expected.png:
  • platform/mac-leopard/svg/custom/preserve-aspect-ratio-syntax-expected.checksum:
  • platform/mac-leopard/svg/custom/preserve-aspect-ratio-syntax-expected.png:
  • platform/mac-leopard/svg/custom/shapes-supporting-markers-expected.checksum:
  • platform/mac-leopard/svg/custom/shapes-supporting-markers-expected.png:
  • platform/mac-leopard/svg/custom/stroked-pattern-expected.checksum:
  • platform/mac-leopard/svg/custom/stroked-pattern-expected.png:
  • platform/mac-leopard/svg/custom/struct-use-09-b-expected.checksum:
  • platform/mac-leopard/svg/custom/struct-use-09-b-expected.png:
  • platform/mac-leopard/svg/custom/tref-update-expected.checksum:
  • platform/mac-leopard/svg/custom/tref-update-expected.png:
  • platform/mac-leopard/svg/custom/use-detach-expected.checksum:
  • platform/mac-leopard/svg/custom/use-detach-expected.png:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-1-expected.checksum:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-1-expected.png:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-2-expected.checksum:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-2-expected.png:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-3-expected.checksum:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-3-expected.png:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-4-expected.checksum:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-4-expected.png:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-5-expected.checksum:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-5-expected.png:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-6-expected.checksum:
  • platform/mac-leopard/svg/custom/use-on-disallowed-foreign-object-6-expected.png:
  • platform/mac-leopard/svg/custom/use-on-non-svg-namespaced-element-expected.checksum:
  • platform/mac-leopard/svg/custom/use-on-non-svg-namespaced-element-expected.png:
  • platform/mac-leopard/svg/custom/use-referencing-nonexisting-symbol-expected.checksum:
  • platform/mac-leopard/svg/custom/use-referencing-nonexisting-symbol-expected.png:
  • platform/mac-leopard/svg/custom/viewbox-syntax-expected.checksum:
  • platform/mac-leopard/svg/custom/viewbox-syntax-expected.png:
  • platform/mac-leopard/svg/hixie/text/003-expected.checksum:
  • platform/mac-leopard/svg/hixie/text/003-expected.png:
  • platform/mac-leopard/svg/hixie/text/003b-expected.checksum:
  • platform/mac-leopard/svg/hixie/text/003b-expected.png:
  • platform/mac-leopard/svg/text/text-align-01-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-align-01-b-expected.png:
  • platform/mac-leopard/svg/text/text-align-02-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-align-02-b-expected.png:
  • platform/mac-leopard/svg/text/text-align-03-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-align-03-b-expected.png:
  • platform/mac-leopard/svg/text/text-align-04-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-align-04-b-expected.png:
  • platform/mac-leopard/svg/text/text-align-05-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-align-05-b-expected.png:
  • platform/mac-leopard/svg/text/text-align-06-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-align-06-b-expected.png:
  • platform/mac-leopard/svg/text/text-altglyph-01-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-altglyph-01-b-expected.png:
  • platform/mac-leopard/svg/text/text-deco-01-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-deco-01-b-expected.png:
  • platform/mac-leopard/svg/text/text-fonts-01-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-fonts-01-t-expected.png:
  • platform/mac-leopard/svg/text/text-fonts-02-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-fonts-02-t-expected.png:
  • platform/mac-leopard/svg/text/text-intro-05-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-intro-05-t-expected.png:
  • platform/mac-leopard/svg/text/text-path-01-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-path-01-b-expected.png:
  • platform/mac-leopard/svg/text/text-text-01-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-text-01-b-expected.png:
  • platform/mac-leopard/svg/text/text-text-03-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-text-03-b-expected.png:
  • platform/mac-leopard/svg/text/text-text-04-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-text-04-t-expected.png:
  • platform/mac-leopard/svg/text/text-text-05-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-text-05-t-expected.png:
  • platform/mac-leopard/svg/text/text-text-06-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-text-06-t-expected.png:
  • platform/mac-leopard/svg/text/text-text-07-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-text-07-t-expected.png:
  • platform/mac-leopard/svg/text/text-text-08-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-text-08-b-expected.png:
  • platform/mac-leopard/svg/text/text-tref-01-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-tref-01-b-expected.png:
  • platform/mac-leopard/svg/text/text-tselect-01-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-tselect-01-b-expected.png:
  • platform/mac-leopard/svg/text/text-tselect-02-f-expected.checksum:
  • platform/mac-leopard/svg/text/text-tselect-02-f-expected.png:
  • platform/mac-leopard/svg/text/text-tspan-01-b-expected.checksum:
  • platform/mac-leopard/svg/text/text-tspan-01-b-expected.png:
  • platform/mac-leopard/svg/text/text-ws-01-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-ws-01-t-expected.png:
  • platform/mac-leopard/svg/text/text-ws-02-t-expected.checksum:
  • platform/mac-leopard/svg/text/text-ws-02-t-expected.png:
21:57 Changeset [33430] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


A little more debugger action: supply a real line number, sourceId,
and sourceURL in op_new_error.


SunSpider reports a .2% speedup. Not sure what that's about.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Use the new good stuff in op_new_error.
  • kjs/nodes.cpp: (KJS::RegExpNode::emitCode): Use the shared emitThrowError instead of rolling our own.
20:38 Changeset [33429] by alp@webkit.org

2008-05-13 Alp Toker <alp@nuanti.com>

GTK+ build fix. Implement EventLoopGtk.cpp.

  • GNUmakefile.am:
  • platform/gtk/EventLoopGtk.cpp: Added. (WebCore::EventLoop::cycle):
20:29 Changeset [33428] by alp@webkit.org

2008-05-13 Alp Toker <alp@nuanti.com>

GTK+ build fix. Fix IDL filename typo and add JavaScriptCallFrame.cpp
to the build.

  • GNUmakefile.am:
20:13 Changeset [33427] by pewtermoose@webkit.org

2008-05-13 Matt Lilek <webkit@mattlilek.com>

Not reviewed, partial Gtk build fix.

  • GNUmakefile.am:
20:06 Changeset [33426] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


A little more debugger action: implemented the exception callback.


SunSpider reports a .2% speedup. Not sure what that's about.

  • VM/CodeBlock.h: A little refactoring here. Store a pointer to our owner ScopeNode so we can retrieve data from it. This allows us to stop storing copies of the data ourselves. Also, store a "this" register instead of a code type, since we were only using the code type to calculate the "this" register.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::generate): Calculate the "this" register mentioned above. Also, take care of removing "this" from the symbol table after codegen is done, since relying on the timing of a destructor for correct behavior is not so good.
  • VM/Machine.cpp: (KJS::Machine::throwException): Invoke the debugger's exception callback. (KJS::Machine::privateExecute): Use the "this" register mentioned above.
18:44 Changeset [33425] by timothy@apple.com

Fixes a crash when stepping out in the Inspector's debugger.

http://bugs.webkit.org/show_bug.cgi?id=19037

Reviewed by Dan Bernstein.

  • page/InspectorController.cpp:

(WebCore::currentCallFrame): Adds a null check of currentCallFrame,
since it can be null. Also returns JSNull to better signify this.

  • page/inspector/ScriptsPanel.js: Updates the debugger interface

when stepping so the currentCallFrame isn't accessed when not paused.
Adds a _clearInterface function to remove duplicate code.

18:29 Changeset [33424] by pewtermoose@webkit.org

2008-05-13 Matt Lilek <webkit@mattlilek.com>

Not reviewed, build fix.

  • kjs/date_object.cpp: (KJS::DateObjectFuncImp::callAsFunction):
17:46 Changeset [33423] by andersca@apple.com

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

Reviewed by Sam.

Don't empty the application cache in _setCacheModel, since it will be called during initialization.
Instead, do it in [WebCache empty].


  • Misc/WebCache.mm: (+[WebCache empty]):
  • WebView/WebView.mm: (+[WebView _setCacheModel:]):
17:38 Changeset [33422] by andersca@apple.com

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

Reviewed by Sam.

<rdar://problem/5933644> Implement Date.now


Implement Date.now which returns the number of milliseconds since the epoch.


  • kjs/CommonIdentifiers.h:
  • kjs/date_object.cpp: (KJS::DateObjectFuncImp::): (KJS::DateObjectImp::DateObjectImp): (KJS::DateObjectFuncImp::callAsFunction):
17:09 Changeset [33421] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Removed some unused exception machinery.


SunSpider reports a .3% speedup.

  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:
  • JavaScriptCore.exp:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/internal.cpp:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/value.h:
16:55 Changeset [33420] by cfleizach@apple.com

<rdar://problem/5932677> AX: Submit buttons aren't returning AXTitle

16:21 Changeset [33419] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Oliver Hunt.


A little more debugger action.

  • kjs/debugger.cpp:
  • kjs/debugger.h: Removed debuggersPresent because it was unused. Replaced AttachedGlobalObject linked list with a HashSet because HashSet is faster and simpler. Changed all functions to return void instead of bool, because no clients ever return false, and we don't want to support it.
  • kjs/nodes.cpp: Did some up-keep to avoid build bustage. (KJS::Node::handleException): (KJS::BreakpointCheckStatement::execute): (KJS::FunctionBodyNodeWithDebuggerHooks::execute):

WebCore:

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

Reviewed by Oliver Hunt.

Updated for API changes in KJS::Debugger.

  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::callEvent): (WebCore::JavaScriptDebugServer::atStatement): (WebCore::JavaScriptDebugServer::returnEvent): (WebCore::JavaScriptDebugServer::exception):
  • page/JavaScriptDebugServer.h:

WebKit/mac:

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

Reviewed by Oliver Hunt.

Updated for API changes in KJS::Debugger.

  • WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Changed the order of operations to fix an ASSERT that can happen when re-entering _attachScriptDebugger.
16:11 Changeset [33418] by cfleizach@apple.com

<rdar://problem/4780592> WebKit application has its window announced as HTML content

15:58 Changeset [33417] by aroben@apple.com

Restore some ChangeLog entries that were deleted in r33395

15:31 Changeset [33416] by timothy@apple.com

Adds an overlay window that covers the scripts panel and
informs the user that they need to attach the debugger.
Provides an "Attach Debugger" button below the info text.

Reviewed by Dan Bernstein.

  • English.lproj/localizedStrings.js: New strings.
  • page/inspector/ScriptsPanel.js:

(WebInspector.ScriptsPanel): Create the overlay elements and
append to the main panel element.

  • page/inspector/inspector.css: New styles for the over lay elements.
15:31 Changeset [33415] by timothy@apple.com

Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
was referencing a nil WebView under validateUserInterfaceItem.
The validateUserInterfaceItem methods was being called at a time
when the WebHTMLView is being torndown.

<rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
while mousing down on menu bar after Xcode News window is opened

Reviewed by Ada Chan.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
return NO when it is nil. Adds a comment.

  • WebView/WebPDFView.mm:

(-[WebPDFView validateUserInterfaceItem:]): Ditto.

15:31 Changeset [33414] by timothy@apple.com

Fixes the assertion and crash that would happen when inspecting a element from a frame.
This change makes JSInspectedObjectWrapper pass unwrapped objects around for global objects
that share the same page group identifier. Also returns jsUndefined() instead of 0 to prevent
crashing in release builds if the page groups don't match.

Passes all the tests in: manual-tests/inspector-wrappers

Reviewed by Adam Roben.

  • bindings/js/JSInspectedObjectWrapper.cpp:

(WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Return jsUndefined() instead of 0.
Call allowsUnwrappedAccessFrom instead of unwrappedExecStateMatches.

  • bindings/js/JSQuarantinedObjectWrapper.cpp:

(WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Renamed from unwrappedExecStateMatches.
Return true if the pageGroupIdentifier of both wrappers match.
(WebCore::JSQuarantinedObjectWrapper::callAsFunction): Return jsUndefined() instead of 0.

  • bindings/js/JSQuarantinedObjectWrapper.h: Renamed unwrappedExecStateMatches to allowsUnwrappedAccessFrom.
15:31 Changeset [33413] by timothy@apple.com

Fixes the hang that could happen when option-clicking to expand
a disclosure triangle in the Properties pane. This change limits
the recursion depth when expanding the tree elements.

<rdar://problem/5847681> Safari hangs when option-clicking a
disclosure triangle in the Inspector's Properties pane

Reviewed by John Sullivan.

  • page/inspector/treeoutline.js:

(TreeElement.prototype.expandRecursively): Pass an empty info object to
traverseNextTreeElement to get the depthChange value. This is used to
compute a current depth. If the depth exceeds the maxDepth argument, the
item isn't expanded and children wont be populated when traverseNextTreeElement
is called until the depth goes below the maxDepth.
(TreeElement.prototype.traverseNextTreeElement): Added a new info
argument that can be optionally used to return extra info like depth change.

15:30 Changeset [33412] by timothy@apple.com

Adds info text to panes and sections in the Inspector's sidebars
that would normally be empty. These help the user know why there
is nothing in these sections.

Reviewed by John Sullivan.

  • English.lproj/localizedStrings.js: Add strings.
  • page/inspector/BreakpointsSidebarPane.js: Adds "No Breakpoints".
  • page/inspector/CallStackSidebarPane.js: Adds "Not Paused".
  • page/inspector/ObjectPropertiesSection.js: Adds "No Properties".
  • page/inspector/ScopeChainSidebarPane.js: Adds "Not Paused".
  • page/inspector/inspector.css: Adds style rules for the info elements.
15:30 Changeset [33411] by timothy@apple.com

Implements the rest of the Scripts panel to get the debugger
mostly working. "Basic debugging seems to work."

Reviewed by Geoff Garen.

  • English.lproj/localizedStrings.js: Adds new strings.
  • page/inspector/Resource.js:

(WebInspector.Resource.prototype.get scripts): Returns _scripts and
creates it lazily.
(WebInspector.Resource.prototype.addScript): Add the script object to the
front of the _scripts array.
(WebInspector.Resource.prototype.removeAllScripts): Removed all the scripts
and removes the resource back-reference.
(WebInspector.Resource.prototype.removeScript): Removes the script and
breaks the resource back-reference.

  • page/inspector/ResourceView.js:

(WebInspector.ResourceView): Adds a reminder comment.
(WebInspector.ResourceView.prototype.get headersVisible): Returns _headersVisible.
(WebInspector.ResourceView.prototype.set headersVisible): Stubs out
a setter that currently just sets _headersVisible. Has a comment that
points out this needs implemented when network headers are added.

  • page/inspector/ResourcesPanel.js:

(WebInspector.ResourcesPanel.prototype.show): Sets the headersVisible property of
the visible view to true and shows it again, in case it was being shown in Scripts.
(WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
Copies the headersVisible property from the old view to the new view.
(WebInspector.ResourcesPanel.prototype.showResource): Sets the headersVisible
property to true before showing.

  • page/inspector/ScriptView.js:

(WebInspector.ScriptView): Passes in _addBreakpoint for the add breakpoint delegate.
(WebInspector.ScriptView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
for the current Script.sourceID and line.

  • page/inspector/ScriptsPanel.js:

(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype.show): Sets the headersVisible property of
the visible view to false and shows it again, in case it was being shown in Resources.
(WebInspector.ScriptsPanel.prototype.addScript): Makes a new Script object and
adds it to a Resource if one is found. Registers any breakpoint that match
the new Script's source URL, and sets the sourceID of the breakpoints.
(WebInspector.ScriptsPanel.prototype.addBreakpoint): Adds the breakpoint to the
BreakpointsSidebarPane. Also adds it to _breakpointsURLMap so it can be found
later in addScript by URL. Finally adds the breakpoint to the SourceFrame that
represents the resources or script.
(WebInspector.ScriptsPanel.prototype.removeBreakpoint): Removes the breakpoint from
the BreakpointsSidebarPane, _breakpointsURLMap and SourceFrame.
(WebInspector.ScriptsPanel.prototype.debuggerPaused): Update the debugger
state variables, the buttons and the CallStackSidebarPane.
(WebInspector.ScriptsPanel.prototype.reset): Clears and resets debugger
and interface state.
(WebInspector.ScriptsPanel.prototype.get visibleView): Returns _visibleView.
(WebInspector.ScriptsPanel.prototype.set visibleView): Sets _visibleView and
calls hide on the old view and show on the new view.
(WebInspector.ScriptsPanel.prototype.showScript): Calls _showScriptOrResource.
(WebInspector.ScriptsPanel.prototype.showResource): Ditto.
(WebInspector.ScriptsPanel.prototype.scriptViewForScript): Lazily creates a
ScriptView for the Script and returns it.
(WebInspector.ScriptsPanel.prototype.sourceFrameForScript): Returns the SourceFrame
for the Script.
(WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): Returns the
SourceFrame based on the type of object passed in.
(WebInspector.ScriptsPanel.prototype._showScriptOrResource): Shows the view based on
the type of object passed in. If the object is a resource and there are breakpoints
defined for that Resource URL, then populate the SourceFrame with the breakpoints.
(WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Adds a script to the
files menu. If the Script is part of a resource, that resource is added.
(WebInspector.ScriptsPanel.prototype._removeScriptFromFilesMenu): Remove a script from
the files menu. If that script is part of a resource and it is the last script of that
resource, then remove the whole resource.
(WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): Clears the execution
line from the SourceFrame that is showing it.
(WebInspector.ScriptsPanel.prototype._callFrameSelected): Event listener for when the
call frame changes in the CallStackSidebarPane. Triggers updates to the ScopeChainSidebarPane
and the visible view.
(WebInspector.ScriptsPanel.prototype._changeVisibleFile): Event listener for the change state
of the files select element.
(WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Update more of the
buttons to reflect the current debugger state. Updates the status text too.
(WebInspector.ScriptsPanel.prototype._toggleDebugging): Reset the UI and state when
the debugger is attached/detached.
(WebInspector.ScriptsPanel.prototype._togglePause): Call InspectorController.resumeDebugger or
InspectorController.pauseInDebugger depending on the paused state.
(WebInspector.ScriptsPanel.prototype._stepOverClicked): Call InspectorController.stepOverStatementInDebugger.
(WebInspector.ScriptsPanel.prototype._stepIntoClicked): Call InspectorController.stepIntoStatementInDebugger.
(WebInspector.ScriptsPanel.prototype._stepOutClicked): InspectorController.stepOutOfFunctionInDebugger.

  • page/inspector/SourceView.js:

(WebInspector.SourceView): Passes in _addBreakpoint for the add breakpoint delegate.
(WebInspector.SourceView.prototype._addBreakpoint): Calls ScriptsPanel's addBreakpoint
for the nearest Script's sourceID and passed in line.

  • page/inspector/inspector.css: New style rules for the UI changes.
  • page/inspector/inspector.js:

(WebInspector.loaded): Add the ScriptsPanel to the panels list.
(WebInspector.parsedScriptSource): Call ScriptsPanel.addScript.
(WebInspector.failedToParseScriptSource): Ditto.
(WebInspector.pausedScript): Call ScriptsPanel.debuggerPaused.

15:30 Changeset [33410] by timothy@apple.com

Adds implementations of the Scope Chain and Call Stack sidebar panes.
These panes use the JSJavaScriptCallFrame object that will be passed
to the update functions.

Reviewed by Kevin McCullough.

  • English.lproj/localizedStrings.js: Adds new strings.
  • WebCore.vcproj/WebCore.vcproj: Adds new files.
  • page/inspector/CallStackSidebarPane.js:

(WebInspector.CallStackSidebarPane.prototype.update): Walk the
caller chain of the call frame and make placards for each.
(WebInspector.CallStackSidebarPane.prototype.get selectedCallFrame):
Return _selectedCallFrame.
(WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
Set _selectedCallFrame and dispatch the "call frame selected" event.
(WebInspector.CallStackSidebarPane.prototype._placardSelected):
Set the selectedCallFrame based on the clicked placard.

  • page/inspector/Placard.js: Added. A user interface object that can

be used to show a title and a subtitle block with a selected state.

  • page/inspector/ScopeChainSidebarPane.js: Added.

(WebInspector.ScopeChainSidebarPane): Call the base object and set the title.
(WebInspector.ScopeChainSidebarPane.prototype.update): Iterate over the
call frame's scope chain and make ObjectPropertiesSections for each.

  • page/inspector/SidebarPane.js:

(WebInspector.SidebarPane.prototype): Inherit from WebInspector.Object.

  • page/inspector/WebKit.qrc: Add new files.
  • page/inspector/inspector.css: Add placard styles.
  • page/inspector/inspector.html: Add new files.
15:30 Changeset [33409] by timothy@apple.com

Fixes the bug where SourceViews would be blank if shown before
the Resource finished loading.

<rdar://problem/5807420> Safari's Web Inspector won't display the
contents of some CSS and JS files

Reviewed by Kevin McCullough.

  • page/inspector/Resource.js:

(WebInspector.Resource.prototype.set finished): Dispatch the finished event
(WebInspector.Resource.prototype): Inherit from WebInspector.Object.prototype.

  • page/inspector/SourceView.js:

(WebInspector.SourceView): Register for the finished event on the resource.
When the event fires, setup the source frame and deregister the event.

15:30 Changeset [33408] by timothy@apple.com

Factored most of SourceView out into SourceFrame so it can be shared
by the new ScriptView. Added the ScriptView class to be used for
scripts that arn't Resources (like eval code.) Added a simple Script
object that hold the data from the debugger parsedSource hooks. A
ScriptView holds a Script object, and uses it for source data.

Added breakpoint and execution line support to the SourceFrame
where they are visually represented in the source.

Reviewed by Kevin McCullough.

  • page/inspector/inspector.js:

(WebInspector.performSearch): Change the caller of sourceFrameForResource
to use the SourceFrame result's element property.

  • page/inspector/ResourcesPanel.js: Use the new SourceFrame.
  • page/inspector/Script.js: Added.
  • page/inspector/ScriptView.js: Added.
  • page/inspector/SourceFrame.js: Added.
  • page/inspector/SourceView.js: Use the new SourceFrame.
  • WebCore.vcproj/WebCore.vcproj: Add new files.
  • page/inspector/WebKit.qrc: Ditto.
  • page/inspector/inspector.html: Ditto.
15:29 Changeset [33407] by timothy@apple.com

Adds a Breakpoint object and basic add/remove functions on
BreakpointsSidebarPane that call the InspectorController to
add/remove the breakpoint.

Reviewed by Kevin McCullough.

  • page/inspector/Breakpoint.js:

(WebInspector.Breakpoint):
(WebInspector.Breakpoint.prototype.get enabled): Return _enabled.
(WebInspector.Breakpoint.prototype.set enabled): Set _enabled and
dispatch the enabled/disabled event to listeners.

  • page/inspector/BreakpointsSidebarPane.js:

(WebInspector.BreakpointsSidebarPane): Add a breakpoints array.
(WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
Adds the breakpoint to the breakpoints array. Registers for the disabled
and enabled event types. Call InspectorController.addBreakpoint if attached.
(WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
Removes the breakpoint from the breakpoints array. Deregisters for the disabled
and enabled event types. Call InspectorController.removeBreakpoint if attached.
(WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
Call InspectorController.addBreakpoint or InspectorController.removeBreakpoint
depending on the enabled state of the breakpoint.

  • WebCore.vcproj/WebCore.vcproj: Add new files.
  • page/inspector/WebKit.qrc: Ditto.
  • page/inspector/inspector.html: Ditto.
15:29 Changeset [33406] by timothy@apple.com

Make addSourceToFrame not dependent on InspectorResource so it
can be used to add source of a passed in string and mime-type to
a frame. Added addResourceSourceToFrame for use by SourceView.

Also fixes an assertion because of an incorrect static_cast of identifiers
to unsigned long long, when they can be unsigned.

Reviewed by Geoff Garen.

  • page/InspectorController.cpp:

(WebCore::addSourceToFrame): Helper function used by addSourceToFrame
and addResourceSourceToFrame.
(WebCore::addSourceToFrame): Generalized to take a source and mime-type string.
(WebCore::addResourceSourceToFrame): Renamed from addSourceToFrame.
(WebCore::getResourceDocumentNode): Fixes the static_cast to be long long.
(WebCore::InspectorController::windowScriptObjectAvailable): Adds
addResourceSourceToFrame to the JavaScript class.

  • page/inspector/SourceView.js: Use the new addResourceSourceToFrame.
15:29 Changeset [33405] by timothy@apple.com

Add debugger related functions to the InspectorController and
expose them to the JavaScript side of InspectorController.

Reviewed by Geoff Garen.

  • page/InspectorController.cpp:

(WebCore::jsStringRef): Added helper to convert a UString to a JSStringRef.
(WebCore::currentCallFrame): Call InspectorController::currentCallFrame.
(WebCore::pauseInDebugger): Call InspectorController::pauseInDebugger.
(WebCore::resumeDebugger): Call InspectorController::resumeDebugger.
(WebCore::stepOverStatementInDebugger): Call InspectorController::stepOverStatementInDebugger.
(WebCore::stepIntoStatementInDebugger): Call InspectorController::stepIntoStatementInDebugger.
(WebCore::stepOutOfFunctionInDebugger): Call InspectorController::stepOutOfFunctionInDebugger.
(WebCore::addBreakpoint): Call InspectorController::addBreakpoint.
(WebCore::removeBreakpoint): Call InspectorController::removeBreakpoint.
(WebCore::InspectorController::windowScriptObjectAvailable): Add the new functions to the
InspectorController JavaScript class.
(WebCore::InspectorController::startDebuggingAndReloadInspectedPage): Clear breakpoints.
(WebCore::InspectorController::currentCallFrame): Return the currentCallFrame from the
JavaScriptDebugServer.
(WebCore::InspectorController::pauseInDebugger): Call JavaScriptDebugServer's pauseOnNextStatement.
(WebCore::InspectorController::resumeDebugger): Call JavaScriptDebugServer's resume.
(WebCore::InspectorController::stepOverStatementInDebugger): Call JavaScriptDebugServer's stepOverStatement.
(WebCore::InspectorController::stepIntoStatementInDebugger): Call JavaScriptDebugServer's stepIntoStatement.
(WebCore::InspectorController::stepOutOfFunctionInDebugger): Call JavaScriptDebugServer's stepOutOfFunction.
(WebCore::InspectorController::addBreakpoint): Call JavaScriptDebugServer's addBreakpoint.
(WebCore::InspectorController::removeBreakpoint): Call JavaScriptDebugServer's removeBreakpoint.
(WebCore::InspectorController::didParseSource): Call into the Inspector's JavaScript.
(WebCore::InspectorController::failedToParseSource): Ditto.
(WebCore::InspectorController::didPause): Ditto.

  • page/InspectorController.h: Add new functions.
15:29 Changeset [33404] by timothy@apple.com

Implements more debugger APIs on JavaScriptDebugServer and reduces
the number of callbacks to JavaScriptDebugListeners. These changes
will better facilitate debugger optimizations when SquirrelFish merges.

Reviewed by Kevin McCullough.

  • page/InspectorController.cpp:

(WebCore::InspectorController::didParseSource): Removed the ExecState.
(WebCore::InspectorController::failedToParseSource): Ditto.
(WebCore::InspectorController::didPause): Added.

  • page/InspectorController.h: Changed the JavaScriptDebugListener functions.
  • page/JavaScriptDebugListener.h: Removed some callbacks and added didPause.
  • page/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Initialize new data members.
(WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all values of m_breakpoints.
(WebCore::JavaScriptDebugServer::removeListener): Call resume if the last listener was removed.
(WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Returns true if there are any
global listeners or a listener for the page.
(WebCore::JavaScriptDebugServer::addBreakpoint): Adds and entry to m_breakpoints.
(WebCore::JavaScriptDebugServer::removeBreakpoint): Removes a entry in m_breakpoints.
(WebCore::JavaScriptDebugServer::hasBreakpoint): Checks if there is a breakpoint for the
sourceID and line.
(WebCore::JavaScriptDebugServer::clearBreakpoints): Removed all breakpoints.
(WebCore::JavaScriptDebugServer::pauseOnNextStatement): Sets m_pauseOnNextStatement to true.
(WebCore::JavaScriptDebugServer::resume): Sets m_paused to false.
(WebCore::JavaScriptDebugServer::stepIntoStatement): Calls resume and sets
m_pauseOnNextStatement to true.
(WebCore::JavaScriptDebugServer::stepOverStatement): Calls resume and sets m_pauseOnExecState to
the current call frame's ExecState.
(WebCore::JavaScriptDebugServer::stepOutOfFunction): Calls resume and sets m_pauseOnExecState to
the current call frame's caller ExecState.
(WebCore::JavaScriptDebugServer::currentCallFrame): Returns m_currentCallFrame if paused.
(WebCore::dispatchDidParseSource): Removed the ExecState argument.
(WebCore::dispatchFailedToParseSource): Ditto.
(WebCore::JavaScriptDebugServer::sourceParsed): Doesn't pass the ExecState to dispatchDidParseSource
or dispatchFailedToParseSource.
(WebCore::dispatchFunctionToListeners):
(WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Removes all the arguments passed
to the callback.
(WebCore::JavaScriptDebugServer::setJavaScriptPaused): Various overloaded functions
to pause parts of WebCore to prevent JavaScript execution while paused.
(WebCore::JavaScriptDebugServer::pauseIfNeeded): Decides if the debugger should pause based
on the passed in ExecState, source ID and line number. This checks for breakpoints, stepping, etc.
Calls didPause on all the listeners and spins a EventLoop until resume is called.
(WebCore::JavaScriptDebugServer::callEvent): Call pauseIfNeeded.
(WebCore::JavaScriptDebugServer::atStatement): Ditto.
(WebCore::JavaScriptDebugServer::returnEvent): Ditto.
(WebCore::JavaScriptDebugServer::exception): Ditto.

  • page/JavaScriptDebugServer.h: Added new functions.
15:29 Changeset [33403] by timothy@apple.com

Change View.show to call detach if the parentNode dosen't
match before appending to the passed in parent element.
This also prevents appending to the same parent element
multiple times.

Reviewed by John Sullivan.

  • page/inspector/FontView.js:

(WebInspector.FontView.prototype.show): Pass the parent element to View.show.

  • page/inspector/ResourceView.js: Optimize the attach method to no append if

there is a parentNode already.

  • page/inspector/SourceView.js: Ditto.
  • page/inspector/View.js: Call detach before appending if the parentNode

doesn't match the passed in element.

15:28 Changeset [33402] by timothy@apple.com

Optimize the panel attach method to no append if there is a
parentNode already.

Reviewed by Adam Roben.

  • page/inspector/Panel.js:

(WebInspector.Panel.prototype.attach): Don't append to main-panels
if the panel element already has a parentNode.

15:28 Changeset [33401] by timothy@apple.com

Add Widget::isPluginView so the JavaScriptDebugServer can identify
plugins that need to be paused during debugging. This will be used
in a upcoming commit.

Reviewed by Kevin McCullough.

  • platform/Widget.h: Add isPluginView. Return false.
  • plugins/PluginView.h: Add isPluginView. Return true.
15:28 Changeset [33400] by timothy@apple.com

Adds an event loop abstraction to platform. This abstraction will be
used by the JavaScriptDebugServer to implement pausing.

Reviewed by Kevin McCullough.

  • platform/EventLoop.h: Added.

(WebCore::EventLoop::EventLoop):
(WebCore::EventLoop::ended): Return m_ended.

  • platform/mac/EventLoopMac.mm: Added.

(WebCore::EventLoop::cycle): Call nextEventMatchingMask and then sendEvent.

  • platform/win/EventLoopWin.cpp: Added.

(WebCore::EventLoop::cycle): Call GetMessage, TranslateMessage and DispatchMessage.

  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
15:28 Changeset [33399] by timothy@apple.com

Breaks out ObjectPropertiesSection from PropertiesSidebarPane
so it can be used by the Scripts panel's Scope Chain pane.

Rubber-stamped by Adam Roben.

  • page/inspector/ObjectPropertiesSection.js: Added.
  • page/inspector/PropertiesSidebarPane.js: Moved ObjectPropertiesSection

to ObjectPropertiesSection.js.

  • WebCore.vcproj/WebCore.vcproj: Add the new file.
  • page/inspector/WebKit.qrc: Ditto.
  • page/inspector/inspector.html: Ditto.
15:28 Changeset [33398] by timothy@apple.com

Add a helper function to the Inspector's Array prototype
that will remove any identical values/objects from the array.

Reviewed by Kevin McCullough.

  • page/inspector/utilities.js:

(Array.prototype.remove): Iterate over the array and strict
compare to the passed in value. If they match, splice that index
out of the array. If onlyFirst is true, return after the first splice.

15:27 Changeset [33397] by timothy@apple.com

Adds a JavaScriptCallFrame object and JavaScript binding with an IDL.
This object will expose the stack to the Inspector's debugger.

Reviewed by Adam Roben.

  • DerivedSources.make: Add JavaScriptCallFrame.
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: Added.

(WebCore::JSJavaScriptCallFrame::evaluate): Calls impl evaluate and returns the result.
(WebCore::JSJavaScriptCallFrame::scopeChain): Makes an array of the ScopeChain.

  • page/JavaScriptCallFrame.cpp: Added.

(WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
(WebCore::JavaScriptCallFrame::caller): Returns m_caller.
(WebCore::JavaScriptCallFrame::functionName): Returns the function
name from the ExecState if this is not global code or anonymous.
(WebCore::JavaScriptCallFrame::evaluate): Evaluates a script string
in the scope of the call frame.

  • page/JavaScriptCallFrame.h: Added.

(WebCore::JavaScriptCallFrame::create): Call the ctor can return in a PassRefPtr.
(WebCore::JavaScriptCallFrame::invalidate): Sets m_mexec to 0. This prevents a
stale ExecState from being accessed after the lifetime of the ExecState.
(WebCore::JavaScriptCallFrame::isValid): Checks if m_exec is 0.
(WebCore::JavaScriptCallFrame::execState): Returns m_exec.
(WebCore::JavaScriptCallFrame::sourceIdentifier): Returns m_sourceID.
(WebCore::JavaScriptCallFrame::line): Returns m_line.
(WebCore::JavaScriptCallFrame::setLine): Sets m_line.
(WebCore::JavaScriptCallFrame::scopeChain): Returns by reference m_exec->scopeChain().

  • page/JavaScriptCallFrame.idl: Added.
  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
15:27 Changeset [33396] by timothy@apple.com

Add a new WebInspector.Object base class that will be used for
a few objects in the Web Inspector to support listeners on any
object. This will help add more abstraction to the Inspector.

Reviewed by Adam Roben.

  • page/inspector/Object.js: Added.

(WebInspector.Object): Does nothing.
(WebInspector.Object.prototype.addEventListener): Adds the listener to
the _listeners map by type. Supports a this object argument, for easy
addition of listeners without the need for bind.
(WebInspector.Object.prototype.removeEventListener): Remove the listener
from the _listeners map. If the listener is null and the thisObject was
passed, remove any listener for that thisObject.
(WebInspector.Object.prototype.dispatchEventToListeners): Sends an event
for a type to all listeners for that type. Mimics some of the DOMEvent
methods and properties for the event object passed to the listeners.

  • WebCore.vcproj/WebCore.vcproj: Add new files.
  • page/inspector/WebKit.qrc: Ditto.
  • page/inspector/inspector.html: Ditto.
15:27 Changeset [33395] by timothy@apple.com

Update the view source CSS to better match the new Inspector mock-ups.

Reviewed by Kevin McCullough.

  • css/view-source.css:
14:51 Changeset [33394] by aroben@apple.com

Neuter WebScriptDebugServer

Some upcoming changes to JavaScriptDebugServer and
JavaScriptDebugListener will break WebScriptDebugServer. Since Drosera
is being replaced by the Inspector's debugger, and Drosera is the only
client of WebScriptDebugServer, it makes more sense to get rid of
WebScriptDebugServer than to update it to keep it working.

We can't actually remove WebScriptDebugServer entirely yet, so I've
just made it non-functional. This will completely break Drosera, but
as stated above, Drosera's days are numbered anyway.

Reviewed by Tim Hatcher and Kevin McCullough.

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidLoadMainResource): Removed all code in this function.
  • WebKitDLL.cpp: (LocalServerDidDie): Ditto.
  • WebScriptDebugServer.cpp: Made all IWebScriptDebugServer functions return E_NOTIMPL.
  • WebScriptDebugServer.h: Removed everything but the IWebScriptDebugServer functions.
14:50 Changeset [33393] by oliver@apple.com

Bug 18752: SQUIRRELFISH: exceptions are not always handled by the vm
<https://bugs.webkit.org/show_bug.cgi?id=18752>

Reviewed by Darin

Replace old attempt at "branchless" exceptions as the extra information
being passed made gcc an unhappy compiler, replacing these custom toNumber
calls with ordinary toNumber logic (by relying on toNumber now preventing
side effects after an exception has been thrown) provided sufficient leeway
to add the additional checks for the remaining unchecked cases.

This leaves only toString conversions in certain contexts as possibly
misbehaving.

14:32 Changeset [33392] by sullivan@apple.com

WebCore:

2008-05-13 John Sullivan <sullivan@apple.com>

Reviewed by Dan Bernstein and Kevin Decker


  • fixed <rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind

Test: fast/forms/select-type-ahead-list-box-no-selection.html

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::typeAheadFind): When there's no initially-selected element, we were accessing index -1. Check for this case and start at 0.

LayoutTests:

2008-05-13 John Sullivan <sullivan@apple.com>

Reviewed by Justin Garcia and Tim Hatcher


<rdar://problem/5879597> reproducible crash in HTMLSelectElement::typeAheadFind

  • fast/forms/select-type-ahead-list-box-no-selection-expected.txt: Added.
  • fast/forms/select-type-ahead-list-box-no-selection.html: Added.
14:25 Changeset [33391] by weinig@apple.com

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

Reviewed by Dan Bernstein.

Small cleanup to XMLHttpRequest in preparation for Access Control changes.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::~XMLHttpRequest): (WebCore::XMLHttpRequest::open): (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::internalAbort): (WebCore::XMLHttpRequest::processSyncLoadResults): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didReceiveResponse): (WebCore::XMLHttpRequest::didReceiveData):
  • xml/XMLHttpRequest.h:
14:23 Changeset [33390] by kmccullough@apple.com

2008-05-13 Kevin McCullough <kmccullough@apple.com>

Giving credit where credit is due.

  • ChangeLog:
14:23 Changeset [33389] by mrowe@apple.com

<rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework

Reviewed by John Sullivan.

  • Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
  • Carbon/HIWebView.m: Ditto.

(HIWebViewCreate):
(HIWebViewConstructor):

14:18 Changeset [33388] by kmccullough@apple.com

2008-05-13 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

<rdar://problem/5770054> JavaScript profiler (10928)
Use PassRefPtrs instead of RefPtrs when appropriate.

  • profiler/FunctionCallProfile.cpp: (KJS::FunctionCallProfile::addChild):
  • profiler/FunctionCallProfile.h:
  • profiler/Profile.h: (KJS::Profile::callTree):
13:58 Changeset [33387] by cfleizach@apple.com

<rdar://problem/5701210> VO: If image is missing, VoiceOver does not speak the alternative text.

If an image has an alt tag, it should not be ignored

13:57 Changeset [33386] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Oliver Hunt.


First steps toward supporting the debugger API: support the sourceParsed
callback; plus some minor fixups.

SunSpider reports no regression.

  • VM/CodeGenerator.h: Removed a misleading comment.
  • kjs/Parser.h: Changed the parser to take an ExecState*, so it can implement the sourceParsed callback -- that way, we only have to implement the callback in one place.
  • kjs/debugger.cpp: Nixed DebuggerImp, because its sole purpose in life was to demonstrate the misapplication of design patterns.
  • kjs/debugger.h: Changed sourceParsed to take a SourceProvider, to reduce copying, and not to return a value, because pausing execution after parsing is complicated, and no clients needed that ability, anyway.
  • kjs/grammar.y: Make sure never to pass a NULL SourceElements* to didFinishParsing -- that simplifies some code down the road.


  • kjs/nodes.cpp: Don't generate special AST nodes just because the debugger is attached -- that's a relic of the old AST execution model, and those nodes haven't been maintained.

WebCore:

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

Reviewed by Oliver Hunt.


Updated JavaScriptDebugServer API to accept a SourceProvider instead
of a UString, to avoid copying.

  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::sourceParsed): Updated this function not to return a value.

WebKit/mac:

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

Reviewed by Oliver Hunt.


Updated WebScriptDebugger API to accept a SourceProvider instead
of a WebCore::String, to avoid copying.

(WebScriptDebugger::sourceParsed): Updated this function not to return
a value.

WebKit/win:

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

Reviewed by Oliver Hunt.


Updated for new JS debugging APIs.

  • WebScriptDebugServer.cpp: (WebScriptDebugServer::didParseSource): (WebScriptDebugServer::failedToParseSource):
  • WebScriptDebugServer.h:
13:55 Changeset [33385] by cfleizach@apple.com

<rdar://problem/5908446> AX: webkit needs to return blockquote information for all AX objects, not just in AXTextMarker info

13:50 Changeset [33384] by ap@webkit.org

Reviewed by John Sullivan.

<rdar://problem/4852077> REGRESSION: The content of the HTML file which is saved as Thai
(ISO 8859-11) disappear.

<rdar://problem/5842597> Thai ISO-8859-11 should be upgraded to Windows-874

Test: fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Register ISO-8859-11, which doesn't have a standard IANA name, despite following the usual 8859 naming scheme. Also, made TIS-620 map to windows-874-2000 explicitly.
13:15 Changeset [33383] by mjs@apple.com

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

Reviewed by Sam.


Update results for remainder of split-window merge. The new results are correct.

  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
  • http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
12:35 Changeset [33382] by kmccullough@apple.com

2008-05-13 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam.

<rdar://problem/5770054> JavaScript profiler (10928)

  • Made some functions static (as per Adam) and changed from using raw pointers to RefPtr for making these JavaScript Objects.
  • profiler/FunctionCallProfile.cpp: (KJS::FunctionCallProfile::addChild): (KJS::FunctionCallProfile::findChild):
  • profiler/FunctionCallProfile.h: (KJS::FunctionCallProfile::create):
  • profiler/Profile.cpp: (KJS::Profile::Profile): (KJS::Profile::willExecute): (KJS::Profile::didExecute): (KJS::functionNameCountPairComparator):
  • profiler/Profile.h: (KJS::Profile::create): (KJS::Profile::title): (KJS::Profile::callTree):
  • profiler/Profiler.cpp: (KJS::Profiler::startProfiling):
  • profiler/Profiler.h: (KJS::Profiler::allProfiles): (KJS::Profiler::clearProfiles):
12:35 Changeset [33381] by cfleizach@apple.com

Re: [PFR] <rdar://problem/5471973> Some AXLinks are not getting AXTitles though there is title text

11:36 Changeset [33380] by ap@webkit.org

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=18681
<rdar://problem/5888130> WebKit should not remove BOM characters from content.

We were only trying to match Firefox, and it doesn't do this any more.

Tests: fast/encoding/bom-in-content.html

fast/encoding/bom-in-content-utf16.html

  • platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM): Skip the BOM if it's at the start of input stream.
  • platform/text/TextCodec.cpp:
  • platform/text/TextCodec.h:
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decode):
  • platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::decode):
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::decode): Don't remove the BOM.
11:25 Changeset [33379] by ap@webkit.org

Reviewed by Dan Bernstein.

Add tests verifying that we don't mix up some similar, but incompatible encodings.

  • fast/encoding/char-decoding-expected.txt:
  • fast/encoding/char-decoding.html:
11:14 Changeset [33378] by andersca@apple.com

WebCore:

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

Reviewed by Darin.

Don't crash when a document loader is destroyed while an initial caching attempt
is in progress.

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): Stop loading.


(WebCore::ApplicationCacheGroup::stopLoading):
New method that stops a cache update.


(WebCore::ApplicationCacheGroup::documentLoaderDestroyed):
Delete ourselves here.


  • loader/appcache/ApplicationCacheGroup.h:

LayoutTests:

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

Reviewed by Darin.

Add testcase.


  • http/tests/appcache/navigating-away-while-cache-attempt-in-progress-expected.txt: Added.
  • http/tests/appcache/navigating-away-while-cache-attempt-in-progress.html: Added.
  • http/tests/appcache/resources/navigating-away-while-cache-attempt-in-progress.manifest: Added.
  • http/tests/appcache/resources/slow-resource.php: Added.
09:35 Changeset [33377] by ap@webkit.org

Reviewed by Darin.

<rdar://problem/5841351> Turkish ISO 8859-9 encoding should be treated as windows-1254

Match IE and upgrade ISO-8859-9 to windows-1254, which is its strict superset.

Test: fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Register the standard name unconditionally. Previously, we registered windows-949-2000 as a special case that lacked an IANA standard name, and got away with not registering GBK because it happened to be reported by ICU normally earlier than any encoding upgraded to it.
08:22 Changeset [33376] by hausmann@webkit.org

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

Reviewed by Simon

Fix QtWebKit build on Qt embedded.

07:24 Changeset [33375] by hausmann@webkit.org

2008-05-13 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

For Gtk/X11 and Qt/X11, use a more extensive plug-ins scan directories set

02:46 Changeset [33374] by ap@webkit.org

Reviewed by Geoffrey Garen.

<rdar://problem/4949018> JavaScriptCore API claims to work with UTF8 strings, but only works
with ASCII strings


  • kjs/ustring.h:
  • kjs/ustring.cpp: (KJS::UString::Rep::createFromUTF8): Added. Implementation adapted from JSStringCreateWithUTF8CString().
  • API/JSStringRef.cpp: (JSStringCreateWithUTF8CString):
  • API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass): Use UString::Rep::createFromUTF8().
01:05 Changeset [33373] by hausmann@webkit.org

2008-05-13 Andy Shaw <andy@trolltech.com>

Reviewed by Simon.

Fixes: QWebHistory::forward() should go forwards and not back

00:11 Changeset [33372] by oliver@apple.com

Bug 18752: SQUIRRELFISH: exceptions are not always handled by the vm
<https://bugs.webkit.org/show_bug.cgi?id=18752>

Reviewed by Geoff

First step: prevent incorrect evaluation of valueOf/toString conversion
in right hand side of expression after earlier conversion throws.

Note: See TracTimeline for information about the timeline view.