⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 18, 2008:

8:58 PM Changeset in webkit [33568] by Chris Fleizach
  • 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 Darin Adler
  • 4 edits
    3 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 oliver@apple.com
  • 3 edits
    3 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 beidson@apple.com
  • 4 edits
    4 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
Allow delete storage.itemName syntax as an alias for storage.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
Allow delete storage.itemName syntax as an alias for storage.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 mitz@apple.com
  • 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 oliver@apple.com
  • 22 edits
    1 copy
    3 adds in branches/squirrelfish

Reapplying debugging support from r33553, this time with all the files.

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!

[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 cwzwarich@webkit.org
  • 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.

JavaScriptCore:

  • 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 weinig@apple.com
  • 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 oliver@apple.com
  • 22 edits
    2 deletes in branches/squirrelfish

Reverting r33553 as the patch is incomplete so breaks the build

6:21 PM Changeset in webkit [33559] by weinig@apple.com
  • 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 mrowe@apple.com
  • 4 edits in tags/Safari-6526.6.1

Versioning.

5:46 PM Changeset in webkit [33557] by mrowe@apple.com
  • 2 edits in tags/Safari-6526.6.1/WebCore

Merge r33555.

5:12 PM Changeset in webkit [33556] by mrowe@apple.com
  • 1 copy in tags/Safari-6526.6.1

New tag.

5:08 PM Changeset in webkit [33555] by mrowe@apple.com
  • 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 weinig@apple.com
  • 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 ggaren@apple.com
  • 22 edits
    2 copies in branches/squirrelfish

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.

4:00 AM Changeset in webkit [33552] by cwzwarich@webkit.org
  • 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().

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:
1:37 AM Changeset in webkit [33551] by oliver@apple.com
  • 1 edit
    2 adds in branches/squirrelfish/LayoutTests

Forgot to check in the results to the activation gc tests

12:22 AM Changeset in webkit [33550] by oliver@apple.com
  • 3 edits
    4 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.

Note: See TracTimeline for information about the timeline view.