Timeline
May 18, 2008:
- 8:58 PM Changeset in webkit [33568] by
-
- 2 edits in trunk/WebCore
<rdar://problem/5942076> WebKit can no longer find URL links with VoiceOVer-U command (19100)
- 5:42 PM Changeset in webkit [33567] by
-
- 4 edits3 adds in trunk
WebCore:
2008-05-18 Darin Adler <Darin Adler>
Reviewed by Sam.
- fix <rdar://problem/5943569> crash due to stale ownerNode pointer
Test: fast/dom/StyleSheet/ownerNode-lifetime.html
- bindings/js/JSStyleSheetCustom.cpp: (WebCore::JSStyleSheet::mark): Added code to mark ownerNode. Includes a comment about how it would be even better to solve this in the DOM rather than just in the JavaScript binding.
- css/StyleSheet.idl: Added CustomMarkFunction attribute.
LayoutTests:
2008-05-18 Darin Adler <Darin Adler>
Reviewed by Sam.
- test for <rdar://problem/5943569> crash due to stale ownerNode pointer
- fast/dom/StyleSheet: Added.
- fast/dom/StyleSheet/ownerNode-lifetime-expected.txt: Added.
- fast/dom/StyleSheet/ownerNode-lifetime.html: Added.
- 5:36 PM Changeset in webkit [33566] by
-
- 3 edits3 adds in branches/squirrelfish
Bug 18752: SQUIRRELFISH: exceptions are not always handled by the vm
<https://bugs.webkit.org/show_bug.cgi?id=18752>
Reviewed by Maciej
Handle exceptions thrown by toString conversion in subscript operators,
this should basically complete exception handling in SquirrelFish.
Sunspider reports no regression.
- 4:51 PM Changeset in webkit [33565] by
-
- 4 edits4 adds in trunk
WebCore:
2008-05-18 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Fix for https://bugs.webkit.org/show_bug.cgi?id=19111
Allowdelete storage.itemNamesyntax as an alias forstorage.removeItem("itemName")
Tests: storage/domstorage/localstorage/delete-removal.html
storage/domstorage/sessionstorage/delete-removal.html
- bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::deleteProperty): Only do the delete for non-built in properties
- storage/Storage.idl:
LayoutTests:
2008-05-18 Brady Eidson <beidson@apple.com>
Reviewed by Sam Weinig
Fix for https://bugs.webkit.org/show_bug.cgi?id=19111
Allowdelete storage.itemNamesyntax as an alias forstorage.removeItem("itemName")
- storage/domstorage/localstorage/delete-removal-expected.txt: Added.
- storage/domstorage/localstorage/delete-removal.html: Added.
- storage/domstorage/sessionstorage/delete-removal-expected.txt: Added.
- storage/domstorage/sessionstorage/delete-removal.html: Added.
- 12:08 PM Changeset in webkit [33564] by
-
- 2 edits in trunk/WebKit/mac
Reviewed by Sam Weinig.
- fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
- Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForChallenge:]):
- 1:49 AM Changeset in webkit [33563] by
-
- 22 edits1 copy3 adds in branches/squirrelfish
Reapplying debugging support from r33553, this time with all the files.
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!
[Previously missing files from r33553]
- kjs/DebuggerCallFrame.cpp: Copied from JavaScriptCore/profiler/FunctionCallProfile.h. (KJS::DebuggerCallFrame::functionName): (KJS::DebuggerCallFrame::thisObject): (KJS::DebuggerCallFrame::evaluateScript):
- kjs/DebuggerCallFrame.h: Copied from JavaScriptCore/VM/Register.h. (KJS::DebuggerCallFrame::DebuggerCallFrame): (KJS::DebuggerCallFrame::scopeChain): (KJS::DebuggerCallFrame::exception):
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.
May 17, 2008:
- 9:53 PM Changeset in webkit [33562] by
-
- 6 edits in branches/squirrelfish
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.
- kjs/grammar.y:
- kjs/nodes.cpp: (KJS::ReadModifyResolveNode::emitCode):
LayoutTests:
- fast/js/codegen-temporaries-expected.txt:
- fast/js/resources/codegen-temporaries.js:
- 8:41 PM Changeset in webkit [33561] by
-
- 3 edits in trunk/WebCore
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:
- 8:00 PM Changeset in webkit [33560] by
-
- 22 edits2 deletes in branches/squirrelfish
Reverting r33553 as the patch is incomplete so breaks the build
- 6:21 PM Changeset in webkit [33559] by
-
- 10 edits in trunk
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:
- 5:47 PM Changeset in webkit [33558] by
-
- 4 edits in tags/Safari-6526.6.1
Versioning.
- 5:46 PM Changeset in webkit [33557] by
-
- 2 edits in tags/Safari-6526.6.1/WebCore
Merge r33555.
- 5:12 PM Changeset in webkit [33556] by
-
- 1 copy in tags/Safari-6526.6.1
New tag.
- 5:08 PM Changeset in webkit [33555] by
-
- 2 edits in trunk/WebCore
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:
- 3:45 PM Changeset in webkit [33554] by
-
- 3 edits in trunk/WebCore
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 AM Changeset in webkit [33553] by
-
- 22 edits2 copies in branches/squirrelfish
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.
- 4:00 AM Changeset in webkit [33552] by
-
- 10 edits in branches/squirrelfish
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().
- 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:
- 1:37 AM Changeset in webkit [33551] by
-
- 1 edit2 adds in branches/squirrelfish/LayoutTests
Forgot to check in the results to the activation gc tests
- 12:22 AM Changeset in webkit [33550] by
-
- 3 edits4 adds in branches/squirrelfish
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.