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

Timeline



Jun 24, 2008:

11:34 PM Changeset in webkit [34790] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-06-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Alexey Proskuryakov.

Make the JavaScript shell collect the heap from main() instead of
jscmain() to suppress leak messages in debug builds.

  • kjs/Shell.cpp: (main): (jscmain):
9:35 PM Changeset in webkit [34789] by abarth@webkit.org
  • 4 edits
    2 adds in trunk

WebCore:

2008-06-24 Anonymous

Reviewed by Darin Adler. Committed by Adam Barth.

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

Check for a null documentElement() to fix four crashes.

  • WebCore/dom/Document.cpp:
  • WebCore/dom/Node.cpp:

LayoutTests:

2008-06-24 Anonymous

Reviewed by Darin Adler. Committed by Adam Barth.

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

Check for a null documentElement() to fix four crashes.

  • LayoutTests/fast/dom/documentElement-null-expected.txt: Added.
  • LayoutTests/fast/dom/documentElement-null.html: Added.
9:32 PM Changeset in webkit [34788] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests/platform/mac/fast/parser

Fix png mime-type

9:14 PM Changeset in webkit [34787] by abarth@webkit.org
  • 3 edits
    12 adds in trunk

WebCore:

2008-06-24 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

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

Correctly parse <!-- </textarea> --> inside a <textarea>, matching
Internet Explorer, Firefox, Opera, and HTML 5.

Tests: fast/parser/comment-in-script-tricky.html

fast/parser/comment-in-style.html
fast/parser/comment-in-textarea.html
fast/parser/comment-in-title.html

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

LayoutTests:

2008-06-24 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

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

Test that we correctly parse comments containing end tags in CDATA and
RCDATA contexts.

  • fast/parser/comment-in-script-tricky-expected.txt: Added.
  • fast/parser/comment-in-script-tricky.html: Added.
  • fast/parser/comment-in-style.html: Added.
  • fast/parser/comment-in-textarea.html: Added.
  • fast/parser/comment-in-title-expected.txt: Added.
  • fast/parser/comment-in-title.html: Added.
  • platform/mac/fast/parser/comment-in-style-expected.checksum: Added.
  • platform/mac/fast/parser/comment-in-style-expected.png: Added.
  • platform/mac/fast/parser/comment-in-style-expected.txt: Added.
  • platform/mac/fast/parser/comment-in-textarea-expected.checksum: Added.
  • platform/mac/fast/parser/comment-in-textarea-expected.png: Added.
  • platform/mac/fast/parser/comment-in-textarea-expected.txt: Added.
7:41 PM Changeset in webkit [34786] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

Reviewed by Mark Rowe.

  • add another test using remote fonts to the Tiger skipped list
  • platform/mac-tiger/Skipped: Added fast/css/font-weight-1.html.
7:04 PM Changeset in webkit [34785] by mrowe@apple.com
  • 2 edits in trunk/LayoutTests

2008-06-24 Mark Rowe <mrowe@apple.com>

Exclude the newly-added accessibilityController from the dumped window properties.

  • fast/dom/Window/window-properties.html:
5:41 PM Changeset in webkit [34784] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

2008-06-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Make the conversion of the pair (less, jtrue) to jless use register
reference counting information for safety instead of requiring callers
to decide whether it is safe.

No changes on SunSpider codegen.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitJumpIfTrue):
  • VM/CodeGenerator.h:
  • kjs/nodes.cpp: (KJS::DoWhileNode::emitCode): (KJS::WhileNode::emitCode): (KJS::ForNode::emitCode): (KJS::CaseBlockNode::emitCodeForBlock):
5:36 PM Changeset in webkit [34783] by mitz@apple.com
  • 3 edits in trunk/WebKitTools

Reviewed by Stephanie Lewis.

  • move the linker flags from the debug configuration in the project to the shared configuration
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
5:03 PM Changeset in webkit [34782] by mitz@apple.com
  • 2 edits in trunk/WebKitTools
  • try to fix the Tiger build
  • DumpRenderTree/mac/AccessibilityControllerMac.mm:
4:03 PM Changeset in webkit [34781] by cwzwarich@webkit.org
  • 6 edits in trunk/JavaScriptCore

2008-06-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber stamped by Oliver.

Roll out r34777 due to multiple assertion failures on tests.

  • ChangeLog:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitJump): (KJS::CodeGenerator::emitJumpIfTrueMayCombine): (KJS::CodeGenerator::emitJumpIfTrue): (KJS::CodeGenerator::emitJumpIfFalse): (KJS::CodeGenerator::emitJumpScopes):
  • VM/LabelID.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Machine.h:
  • VM/Opcode.h:
3:31 PM Changeset in webkit [34780] by justin.garcia@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2008-06-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by John.

<rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo


  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs): If asked to preserveStyle, we apply styles from the moved paragraph to the destination with applyStyle, which does selection preservation when it needs to apply block styles. Selection preservation uses relatively untested code in TextIterator to count VisiblePositions which fails in this particular test case because it doesn't handle changes in editability properly. We can avoid this bug by not applying block styles from moved paragraphs. This is something that should be done anyway, since the moved paragraph should assume the block styles of the destination.
  • editing/EditCommand.cpp: (WebCore::EditCommand::styleAtPosition): Added a FIXME about how it is misleading for this function to also include the typing style.
  • editing/TextIterator.h: Added a FIXME about how the code path used for selection preservation is buggy and should be phased out when we rewrite moveParagraphs.

LayoutTests:

2008-06-24 Justin Garcia <justin.garcia@apple.com>

Reviewed by John.

<rdar://problem/6026335> REGRESSION: Caret disappears after deleting a particular selection involving a ToDo

  • editing/deleting/6026335-expected.txt: Added.
  • editing/deleting/6026335.html: Added.
2:30 PM Changeset in webkit [34779] by kmccullough@apple.com
  • 1 edit
    1 add in trunk/WebCore

2008-06-24 Kevin McCullough <kmccullough@apple.com>

-Added a manual test for the profiler.

  • manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Added.
2:22 PM Changeset in webkit [34778] by kmccullough@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-06-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/6031594> JSProfiler: Profiler goes into an infinite
loop sometimes.
<rdar://problem/6031603> JSProfiler: Profiler asserts in debug and
give the wrong times in release

Fixed two issues found by Tim in the same test.

  • profiler/Profile.cpp: (KJS::Profile::removeProfileStart): No longer take profile's time from all ancestors, but instead attribute it to its parent. Also add an Assert to ensure we only delete the child we mean to. (KJS::Profile::removeProfileEnd): Ditto for profileEnd. (KJS::Profile::didExecute): Cleaned up the execution order and correctly attribute all of the parent's time to the new node.
  • profiler/ProfileNode.cpp: If this node does not have a startTime it should not get a giant total time, but instead be 0. (KJS::ProfileNode::endAndRecordCall):
  • profiler/ProfileNode.h: (KJS::ProfileNode::removeChild): Should reset the sibling pointers since one of them has been removed.
2:19 PM Changeset in webkit [34777] by oliver@apple.com
  • 6 edits in trunk/JavaScriptCore

Groundwork for reimplementing the slow script dialog

Reviewed by Cameron.

Add special loop opcodes as groundwork for slow script
termination. Also added a few assertions to prevent us
from accidentally coalescing conditional jump operands
in a way that might bypass the slow script opcodes.

2:02 PM Changeset in webkit [34776] by Beth Dakin
  • 9 edits
    6 adds in trunk

WebKitTools:

2008-06-24 Sam Weinig and Beth Dakin <Beth Dakin and sam@webkit.org>

Reviewed by Darin.

Fix for <rdar://problem/5884881> Make DumpRenderTree support
accessibility tests

This patch adds some basic support for accessibility layout tests
on the Mac.

  • DumpRenderTree/AccessibilityController.cpp: Added. (AccessibilityController::AccessibilityController): (AccessibilityController::~AccessibilityController): (dumpCurrentAttributesCallback): (AccessibilityController::makeWindowObject): (AccessibilityController::getJSClass): (AccessibilityController::staticFunctions):
  • DumpRenderTree/AccessibilityController.h: Added.
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/AccessibilityControllerMac.mm: Added. (descriptionOfValue): (AccessibilityController::dumpCurrentAttributes):
  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/FrameLoadDelegate.h:
  • DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate init]): (-[FrameLoadDelegate webView:didClearWindowObject:forFrame:]):

LayoutTests:

2008-06-24 Sam Weinig and Beth Dakin <Beth Dakin and sam@webkit.org>

Reviewed by Darin.


First test for <rdar://problem/5884881> Make DumpRenderTree support
accessibility tests

  • accessibility: Added.
  • accessibility/document-attributes-expected.txt: Added.
  • accessibility/document-attributes.html: Added.
  • platform/gtk/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
1:09 PM Changeset in webkit [34775] by weinig@apple.com
  • 7 edits
    7 adds in trunk

WebCore:

2008-06-24 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Add support for loadstart, abort and error events for XMLHttpRequests.

Tests: http/tests/xmlhttprequest/onabort-event.html

http/tests/xmlhttprequest/onerror-event.html
http/tests/xmlhttprequest/onloadstart-event.html

  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark): (WebCore::JSXMLHttpRequest::onreadystatechange): (WebCore::JSXMLHttpRequest::onabort): (WebCore::JSXMLHttpRequest::setOnabort): (WebCore::JSXMLHttpRequest::onerror): (WebCore::JSXMLHttpRequest::setOnerror): (WebCore::JSXMLHttpRequest::onload): (WebCore::JSXMLHttpRequest::onloadstart): (WebCore::JSXMLHttpRequest::setOnloadstart): (WebCore::JSXMLHttpRequest::onprogress):
  • dom/EventNames.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::callReadyStateChangeListener): (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::abort): (WebCore::XMLHttpRequest::networkError): (WebCore::XMLHttpRequest::abortError): (WebCore::XMLHttpRequest::didFail): (WebCore::XMLHttpRequest::updateAndDispatchOnProgress): (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent): (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent): (WebCore::XMLHttpRequest::dispatchAbortEvent): (WebCore::XMLHttpRequest::dispatchErrorEvent): (WebCore::XMLHttpRequest::dispatchLoadEvent): (WebCore::XMLHttpRequest::dispatchLoadStartEvent): (WebCore::XMLHttpRequest::dispatchProgressEvent):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setOnAbortListener): (WebCore::XMLHttpRequest::onAbortListener): (WebCore::XMLHttpRequest::setOnErrorListener): (WebCore::XMLHttpRequest::onErrorListener): (WebCore::XMLHttpRequest::setOnLoadStartListener): (WebCore::XMLHttpRequest::onLoadStartListener):
  • xml/XMLHttpRequest.idl:

LayoutTests:

2008-06-24 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Add tests for loadstart, abort and error events for XMLHttpRequests

  • http/tests/xmlhttprequest/onabort-event-expected.txt: Added.
  • http/tests/xmlhttprequest/onabort-event.html: Added.
  • http/tests/xmlhttprequest/onerror-event-expected.txt: Added.
  • http/tests/xmlhttprequest/onerror-event.html: Added.
  • http/tests/xmlhttprequest/onloadstart-event-expected.txt: Added.
  • http/tests/xmlhttprequest/onloadstart-event.html: Added.
  • http/tests/xmlhttprequest/resources/get.txt: Added.
1:03 PM Changeset in webkit [34774] by sullivan@apple.com
  • 2 edits in trunk/WebKitTools

2008-06-24 John Sullivan <sullivan@apple.com>

Reviewed by Dan Bernstein

  • Scripts/extract-localizable-strings: add UI_STRING_LOCALIZE_LATER, LPCTSTR_UI_STRING_LOCALIZE_LATER, and LOG_WARNING to the list of debugging macros, to avoid noise when keeping the list of localized string exceptions up to date
1:00 PM Changeset in webkit [34773] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-06-24 Darin Adler <Darin Adler>

Reviewed by Cameron.

  • kjs/JSObject.cpp: (KJS::JSObject::put): Remove an untested optimization I checked in by accident. The two loops up the prototype chain both need to start from this; instead the second loop was starting where the first loop left off.
12:56 PM Changeset in webkit [34772] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-06-24 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz.

<rdar://problem/5957606>
CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::DocumentLoader::cancelPendingSubstituteLoad + 23

Remove the loader from the document loader after calling didFail, so that the loader will be deferred corectly
in case the call do didFail starts a new run loop.


  • loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::didCancel):
12:54 PM Changeset in webkit [34771] by mitz@apple.com
  • 5 edits
    14 adds in trunk

WebKitTools:

Rubber-stamped by Darin Adler.

  • add a font family for testing font-weight
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added linker flags to create data sections for the WeightWatcher fonts.
  • DumpRenderTree/fonts: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher100.ttf: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher200.ttf: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher300.ttf: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher400.ttf: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher500.ttf: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher600.ttf: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher700.ttf: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher800.ttf: Added.
  • DumpRenderTree/fonts/WebKitWeightWatcher900.ttf: Added.
  • DumpRenderTree/mac/DumpRenderTree.mm: (activateFonts): Renamed activateAhemFont to this and made it activate the WeightWatcher fonts in addition to Ahem. (prepareConsistentTestingEnvironment): Adjusted for the name change.
  • DumpRenderTree/win/DumpRenderTree.cpp: (initialize): Added the WeightWatcher fonts.

LayoutTests:

Rubber-stamped by Darin Adler.

  • add font-weight test for a family that has 9 weights
  • fast/css/font-weight-1.html: Added.
  • platform/mac/fast/css/font-weight-1-expected.checksum: Added.
  • platform/mac/fast/css/font-weight-1-expected.png: Added.
  • platform/mac/fast/css/font-weight-1-expected.txt: Added.
12:50 PM Changeset in webkit [34770] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

  • kjs/nodes.cpp:
11:06 AM Changeset in webkit [34769] by sullivan@apple.com
  • 2 edits in trunk/WebKit

2008-06-24 John Sullivan <sullivan@apple.com>

Rubber-stamped by Sam Weinig

  • StringsNotToBeLocalized.txt: brought this file up to date
8:43 AM Changeset in webkit [34768] by ap@webkit.org
  • 3 edits in trunk/WebCore

Release build fix.

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent): Initialize callbackCallType, as the compiler is not smart enough to figure out data flow.
7:33 AM Changeset in webkit [34767] by Simon Hausmann
  • 3 edits in trunk/JavaScriptCore

2008-06-24 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon.

For the Qt build on Windows don't depend on the presence of GNU CPP
but use MSVC's preprocessor instead.
dftables accepts a --preprocessor option which is set in pcre.pri for MSVC platforms.

5:35 AM Changeset in webkit [34766] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=19723
REGRESSION(r34648): Some SVG tests crash when running under --threaded

  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::destroy): Do not attempt to paint during document destruction, because rendering structures are not kept in a consistent state then.
4:28 AM Changeset in webkit [34765] by Simon Hausmann
  • 6 edits in trunk/WebCore

2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>

Reviewed by Darin.

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

Return bool from GraphicsContext::getShadow() so the tests aren't duplicated so
many times in Cairo and Qt ports.

3:58 AM Changeset in webkit [34764] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>

Reviewed by Simon.

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

Clean up and remove unused platform shadow code.

Minor edits by Simon, removed unused TextShadow struct.

3:35 AM Changeset in webkit [34763] by Simon Hausmann
  • 3 edits in trunk/WebCore

2008-06-24 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>

Reviewed by Simon.

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

Implemented basic text-shadow support for the Qt port.

3:27 AM Changeset in webkit [34762] by Simon Hausmann
  • 8 edits in trunk

Fix the Qt build, adapt to various JSCore API changes.

3:07 AM Changeset in webkit [34761] by ap@webkit.org
  • 3 edits in trunk/WebCore

Remove XMLHttpRequestProgressEvent.cpp from more project files.

  • GNUmakefile.am:
  • WebCore.pro:
2:51 AM Changeset in webkit [34760] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Cameron Zwarich.

Make ParserRefCountedCounter actually perform a leak check.

  • kjs/nodes.cpp: (KJS::ParserRefCountedCounter::~ParserRefCountedCounter): Check for leaks in destructor, not in constructor. (KJS::ParserRefCountedCounter::increment): (KJS::ParserRefCountedCounter::decrement): (KJS::ParserRefCounted::ParserRefCounted): (KJS::ParserRefCounted::~ParserRefCounted): While at it, also made counting thread-safe.
2:39 AM Changeset in webkit [34759] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-06-24 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon.

For the Qt port, fix linking with MinGW.

  • WebCore.pro:
2:38 AM Changeset in webkit [34758] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-06-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 19730: REGRESSION (r34497): Text in alerts in "Leisure suit Larry" is not wrapped
<https://bugs.webkit.org/show_bug.cgi?id=19730>

Do not convert the pair (less, jtrue) to jless when jtrue is a jump
target. An example of this is when the condition of a while loop is a
LogicalOrNode.

JavaScriptCore:

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitLabel):

LayoutTests:

  • fast/js/codegen-loops-logical-nodes-expected.txt: Added.
  • fast/js/codegen-loops-logical-nodes.html: Added.
  • fast/js/resources/codegen-loops-logical-nodes.js: Added.
2:06 AM Changeset in webkit [34757] by Simon Hausmann
  • 3 edits in trunk/JavaScriptCore

2008-06-20 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Adam Roben.

Fix compile with MinGW.

  • kjs/Shell.cpp:
  • wtf/Threading.h: (WTF::atomicIncrement): (WTF::atomicDecrement):

Jun 23, 2008:

10:34 PM Changeset in webkit [34756] by mrowe@apple.com
  • 4 edits in trunk/JavaScriptCore

Prepration for returning memory to the OS on Windows. Track whether a portion of a span of memory was returned to the OS.
If it was, ask that it be recommitted before returning it to the application as an allocated region.

Reviewed by Oliver Hunt.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::New): If the span was decommitted, ask that it be recommitted before returning it.
(WTF::TCMalloc_PageHeap::AllocLarge): Ditto.
(WTF::TCMalloc_PageHeap::Carve): When splitting a span, ensure that the decommitted state propogates to the two new spans.
(WTF::TCMalloc_PageHeap::Delete): When merging a span, ensure that the resulting span is marked as decommitted if any of the
spans being merged were marked as decommitted.
(WTF::TCMalloc_PageHeap::IncrementalScavenge): Mark as decommitted after releasing the span.
(WTF::TCMalloc_Central_FreeList::FetchFromSpans): Add an assertion to catch a decommitted span being returned to the application
without first being recommitted.
(WTF::TCMalloc_Central_FreeList::Populate): Ditto.

  • wtf/TCSystemAlloc.cpp: Stub out TCMalloc_SystemCommit.
  • wtf/TCSystemAlloc.h:
10:34 PM Changeset in webkit [34755] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Remove the sample member of Span when NO_TCMALLOC_SAMPLES is defined.

Reviewed by Sam Weinig.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_PageHeap::Delete): Only update Span::sample if NO_TCMALLOC_SAMPLES is not defined.
(WTF::TCMallocStats::do_free): Ditto.

10:23 PM Changeset in webkit [34754] by Darin Adler
  • 120 edits in trunk

JavaScriptCore:

2008-06-23 Darin Adler <Darin Adler>

Reviewed by Geoff.

More preparation toward making functions work on primitive types without
creating wrapper objects. No speedup this time, but prepares for a future
speedup without slowing things down.

SunSpider reports no change.

  • Eliminated the implementsCall, callAsFunction and construct virtual functions from JSObject. Instead, the CallData and ConstructData for a native function includes a function pointer that the caller can use directly. Changed all call sites to use CallData and ConstructData.
  • Changed the "this" argument to native functions to be a JSValue rather than a JSObject. This prepares us for passing primitives into these functions. The conversion to an object now must be done inside the function. Critically, if it's a function that can be called on a DOM window object, then we have to be sure to call toThisObject on the argument before we use it for anything even if it's already an object.
  • Eliminated the practice of using constructor objects in the global object to make objects of the various basic types. Since these constructors can't be replaced by script, there's no reason to involve a constructor object at all. Added functions to do the construction directly.
  • Made some more class members private and protected, including virtual function overrides. This can catch code using unnecessarily slow virtual function code paths when the type of an object is known statically. If we later find a new reason use the members outside the class it's easy to make them public again.
  • Moved the declarations of the native implementations for functions out of header files. These can have internal linkage and be declared inside the source file.
  • Changed PrototypeFunction to take function pointers with the right arguments to be put directly into CallData. This eliminates the need to have a separate PrototypeReflexiveFunction, and reveals that the real purpose of that class included something else specific to eval -- storage of a cached global object. So renamed PrototypeReflexiveFunction to GlobalEvalFunction.
  • API/JSCallbackConstructor.cpp: (KJS::constructJSCallback): (KJS::JSCallbackConstructor::getConstructData):
  • API/JSCallbackConstructor.h:
  • API/JSCallbackFunction.cpp: (KJS::JSCallbackFunction::implementsHasInstance): (KJS::JSCallbackFunction::call): (KJS::JSCallbackFunction::getCallData):
  • API/JSCallbackFunction.h: (KJS::JSCallbackFunction::classInfo):
  • API/JSCallbackObject.h: (KJS::JSCallbackObject::classRef): (KJS::JSCallbackObject::classInfo):
  • API/JSCallbackObjectFunctions.h: (KJS::::getConstructData): (KJS::::construct): (KJS::::getCallData): (KJS::::call):
  • API/JSObjectRef.cpp: (JSObjectMakeFunction): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectCallAsConstructor):
  • JavaScriptCore.exp:
  • VM/Machine.cpp: (KJS::jsTypeStringForValue): (KJS::Machine::privateExecute):
  • kjs/ArrayPrototype.cpp: (KJS::arrayProtoFuncToString): (KJS::arrayProtoFuncToLocaleString): (KJS::arrayProtoFuncJoin): (KJS::arrayProtoFuncConcat): (KJS::arrayProtoFuncPop): (KJS::arrayProtoFuncPush): (KJS::arrayProtoFuncReverse): (KJS::arrayProtoFuncShift): (KJS::arrayProtoFuncSlice): (KJS::arrayProtoFuncSort): (KJS::arrayProtoFuncSplice): (KJS::arrayProtoFuncUnShift): (KJS::arrayProtoFuncFilter): (KJS::arrayProtoFuncMap): (KJS::arrayProtoFuncEvery): (KJS::arrayProtoFuncForEach): (KJS::arrayProtoFuncSome): (KJS::arrayProtoFuncIndexOf): (KJS::arrayProtoFuncLastIndexOf): (KJS::ArrayConstructor::ArrayConstructor): (KJS::constructArrayWithSizeQuirk): (KJS::constructWithArrayConstructor): (KJS::ArrayConstructor::getConstructData): (KJS::callArrayConstructor): (KJS::ArrayConstructor::getCallData):
  • kjs/ArrayPrototype.h:
  • kjs/BooleanObject.cpp: (KJS::booleanProtoFuncToString): (KJS::booleanProtoFuncValueOf): (KJS::constructBoolean): (KJS::constructWithBooleanConstructor): (KJS::BooleanConstructor::getConstructData): (KJS::callBooleanConstructor): (KJS::BooleanConstructor::getCallData): (KJS::constructBooleanFromImmediateBoolean):
  • kjs/BooleanObject.h:
  • kjs/CallData.h: (KJS::):
  • kjs/ConstructData.h: (KJS::):
  • kjs/FunctionPrototype.cpp: (KJS::callFunctionPrototype): (KJS::FunctionPrototype::getCallData): (KJS::functionProtoFuncToString): (KJS::functionProtoFuncApply): (KJS::functionProtoFuncCall): (KJS::constructWithFunctionConstructor): (KJS::FunctionConstructor::getConstructData): (KJS::callFunctionConstructor): (KJS::FunctionConstructor::getCallData): (KJS::constructFunction):
  • kjs/FunctionPrototype.h:
  • kjs/JSArray.cpp: (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key): (KJS::JSArray::sort): (KJS::constructEmptyArray): (KJS::constructArray):
  • kjs/JSArray.h: (KJS::JSArray::classInfo):
  • kjs/JSFunction.cpp: (KJS::JSFunction::call): (KJS::globalFuncEval): (KJS::globalFuncParseInt): (KJS::globalFuncParseFloat): (KJS::globalFuncIsNaN): (KJS::globalFuncIsFinite): (KJS::globalFuncDecodeURI): (KJS::globalFuncDecodeURIComponent): (KJS::globalFuncEncodeURI): (KJS::globalFuncEncodeURIComponent): (KJS::globalFuncEscape): (KJS::globalFuncUnescape): (KJS::globalFuncKJSPrint): (KJS::PrototypeFunction::PrototypeFunction): (KJS::PrototypeFunction::getCallData): (KJS::GlobalEvalFunction::GlobalEvalFunction): (KJS::GlobalEvalFunction::mark):
  • kjs/JSFunction.h: (KJS::InternalFunction::classInfo): (KJS::InternalFunction::functionName): (KJS::JSFunction::classInfo): (KJS::GlobalEvalFunction::cachedGlobalObject):
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::reset): (KJS::JSGlobalObject::mark):
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObject): (KJS::JSGlobalObject::evalFunction):
  • kjs/JSImmediate.cpp: (KJS::JSImmediate::toObject):
  • kjs/JSNotAnObject.cpp:
  • kjs/JSNotAnObject.h:
  • kjs/JSObject.cpp: (KJS::JSObject::put): (KJS::callDefaultValueFunction): (KJS::JSObject::defaultValue): (KJS::JSObject::lookupGetter): (KJS::JSObject::lookupSetter): (KJS::JSObject::hasInstance): (KJS::JSObject::fillGetterPropertySlot): (KJS::Error::create): (KJS::constructEmptyObject):
  • kjs/JSObject.h: (KJS::GetterSetter::GetterSetter): (KJS::GetterSetter::getter): (KJS::GetterSetter::setGetter): (KJS::GetterSetter::setter): (KJS::GetterSetter::setSetter):
  • kjs/JSValue.cpp: (KJS::JSCell::deleteProperty): (KJS::call): (KJS::construct):
  • kjs/JSValue.h:
  • kjs/MathObject.cpp: (KJS::mathProtoFuncAbs): (KJS::mathProtoFuncACos): (KJS::mathProtoFuncASin): (KJS::mathProtoFuncATan): (KJS::mathProtoFuncATan2): (KJS::mathProtoFuncCeil): (KJS::mathProtoFuncCos): (KJS::mathProtoFuncExp): (KJS::mathProtoFuncFloor): (KJS::mathProtoFuncLog): (KJS::mathProtoFuncMax): (KJS::mathProtoFuncMin): (KJS::mathProtoFuncPow): (KJS::mathProtoFuncRandom): (KJS::mathProtoFuncRound): (KJS::mathProtoFuncSin): (KJS::mathProtoFuncSqrt): (KJS::mathProtoFuncTan):
  • kjs/MathObject.h:
  • kjs/NumberObject.cpp: (KJS::numberProtoFuncToString): (KJS::numberProtoFuncToLocaleString): (KJS::numberProtoFuncValueOf): (KJS::numberProtoFuncToFixed): (KJS::numberProtoFuncToExponential): (KJS::numberProtoFuncToPrecision): (KJS::NumberConstructor::NumberConstructor): (KJS::constructWithNumberConstructor): (KJS::NumberConstructor::getConstructData): (KJS::callNumberConstructor): (KJS::NumberConstructor::getCallData): (KJS::constructNumber): (KJS::constructNumberFromImmediateNumber):
  • kjs/NumberObject.h: (KJS::NumberObject::classInfo): (KJS::NumberConstructor::classInfo):
  • kjs/PropertySlot.cpp: (KJS::PropertySlot::functionGetter):
  • kjs/RegExpObject.cpp: (KJS::regExpProtoFuncTest): (KJS::regExpProtoFuncExec): (KJS::regExpProtoFuncCompile): (KJS::regExpProtoFuncToString): (KJS::callRegExpObject): (KJS::RegExpObject::getCallData): (KJS::constructRegExp): (KJS::constructWithRegExpConstructor): (KJS::RegExpConstructor::getConstructData): (KJS::callRegExpConstructor): (KJS::RegExpConstructor::getCallData):
  • kjs/RegExpObject.h: (KJS::RegExpConstructor::classInfo):
  • kjs/Shell.cpp: (GlobalObject::GlobalObject): (functionPrint): (functionDebug): (functionGC): (functionVersion): (functionRun): (functionLoad): (functionReadline): (functionQuit):
  • kjs/date_object.cpp: (KJS::gmtoffset): (KJS::formatLocaleDate): (KJS::fillStructuresUsingDateArgs): (KJS::DateInstance::getTime): (KJS::DateInstance::getUTCTime): (KJS::DateConstructor::DateConstructor): (KJS::constructDate): (KJS::DateConstructor::getConstructData): (KJS::callDate): (KJS::DateConstructor::getCallData): (KJS::dateParse): (KJS::dateNow): (KJS::dateUTC): (KJS::dateProtoFuncToString): (KJS::dateProtoFuncToUTCString): (KJS::dateProtoFuncToDateString): (KJS::dateProtoFuncToTimeString): (KJS::dateProtoFuncToLocaleString): (KJS::dateProtoFuncToLocaleDateString): (KJS::dateProtoFuncToLocaleTimeString): (KJS::dateProtoFuncValueOf): (KJS::dateProtoFuncGetTime): (KJS::dateProtoFuncGetFullYear): (KJS::dateProtoFuncGetUTCFullYear): (KJS::dateProtoFuncToGMTString): (KJS::dateProtoFuncGetMonth): (KJS::dateProtoFuncGetUTCMonth): (KJS::dateProtoFuncGetDate): (KJS::dateProtoFuncGetUTCDate): (KJS::dateProtoFuncGetDay): (KJS::dateProtoFuncGetUTCDay): (KJS::dateProtoFuncGetHours): (KJS::dateProtoFuncGetUTCHours): (KJS::dateProtoFuncGetMinutes): (KJS::dateProtoFuncGetUTCMinutes): (KJS::dateProtoFuncGetSeconds): (KJS::dateProtoFuncGetUTCSeconds): (KJS::dateProtoFuncGetMilliSeconds): (KJS::dateProtoFuncGetUTCMilliseconds): (KJS::dateProtoFuncGetTimezoneOffset): (KJS::dateProtoFuncSetTime): (KJS::setNewValueFromTimeArgs): (KJS::setNewValueFromDateArgs): (KJS::dateProtoFuncSetMilliSeconds): (KJS::dateProtoFuncSetUTCMilliseconds): (KJS::dateProtoFuncSetSeconds): (KJS::dateProtoFuncSetUTCSeconds): (KJS::dateProtoFuncSetMinutes): (KJS::dateProtoFuncSetUTCMinutes): (KJS::dateProtoFuncSetHours): (KJS::dateProtoFuncSetUTCHours): (KJS::dateProtoFuncSetDate): (KJS::dateProtoFuncSetUTCDate): (KJS::dateProtoFuncSetMonth): (KJS::dateProtoFuncSetUTCMonth): (KJS::dateProtoFuncSetFullYear): (KJS::dateProtoFuncSetUTCFullYear): (KJS::dateProtoFuncSetYear): (KJS::dateProtoFuncGetYear):
  • kjs/date_object.h: (KJS::DateInstance::internalNumber): (KJS::DateInstance::classInfo):
  • kjs/error_object.cpp: (KJS::errorProtoFuncToString): (KJS::constructError): (KJS::constructWithErrorConstructor): (KJS::ErrorConstructor::getConstructData): (KJS::callErrorConstructor): (KJS::ErrorConstructor::getCallData): (KJS::NativeErrorConstructor::construct): (KJS::constructWithNativeErrorConstructor): (KJS::NativeErrorConstructor::getConstructData): (KJS::callNativeErrorConstructor): (KJS::NativeErrorConstructor::getCallData):
  • kjs/error_object.h: (KJS::NativeErrorConstructor::classInfo):
  • kjs/internal.cpp: (KJS::JSNumberCell::toObject): (KJS::JSNumberCell::toThisObject): (KJS::GetterSetter::mark): (KJS::GetterSetter::toPrimitive): (KJS::GetterSetter::toBoolean): (KJS::GetterSetter::toNumber): (KJS::GetterSetter::toString): (KJS::GetterSetter::toObject): (KJS::InternalFunction::InternalFunction): (KJS::InternalFunction::implementsHasInstance):
  • kjs/lookup.h: (KJS::HashEntry::):
  • kjs/nodes.cpp: (KJS::FuncDeclNode::makeFunction): (KJS::FuncExprNode::makeFunction):
  • kjs/object_object.cpp: (KJS::objectProtoFuncValueOf): (KJS::objectProtoFuncHasOwnProperty): (KJS::objectProtoFuncIsPrototypeOf): (KJS::objectProtoFuncDefineGetter): (KJS::objectProtoFuncDefineSetter): (KJS::objectProtoFuncLookupGetter): (KJS::objectProtoFuncLookupSetter): (KJS::objectProtoFuncPropertyIsEnumerable): (KJS::objectProtoFuncToLocaleString): (KJS::objectProtoFuncToString): (KJS::ObjectConstructor::ObjectConstructor): (KJS::constructObject): (KJS::constructWithObjectConstructor): (KJS::ObjectConstructor::getConstructData): (KJS::callObjectConstructor): (KJS::ObjectConstructor::getCallData):
  • kjs/object_object.h:
  • kjs/string_object.cpp: (KJS::replace): (KJS::stringProtoFuncToString): (KJS::stringProtoFuncValueOf): (KJS::stringProtoFuncCharAt): (KJS::stringProtoFuncCharCodeAt): (KJS::stringProtoFuncConcat): (KJS::stringProtoFuncIndexOf): (KJS::stringProtoFuncLastIndexOf): (KJS::stringProtoFuncMatch): (KJS::stringProtoFuncSearch): (KJS::stringProtoFuncReplace): (KJS::stringProtoFuncSlice): (KJS::stringProtoFuncSplit): (KJS::stringProtoFuncSubstr): (KJS::stringProtoFuncSubstring): (KJS::stringProtoFuncToLowerCase): (KJS::stringProtoFuncToUpperCase): (KJS::stringProtoFuncToLocaleLowerCase): (KJS::stringProtoFuncToLocaleUpperCase): (KJS::stringProtoFuncLocaleCompare): (KJS::stringProtoFuncBig): (KJS::stringProtoFuncSmall): (KJS::stringProtoFuncBlink): (KJS::stringProtoFuncBold): (KJS::stringProtoFuncFixed): (KJS::stringProtoFuncItalics): (KJS::stringProtoFuncStrike): (KJS::stringProtoFuncSub): (KJS::stringProtoFuncSup): (KJS::stringProtoFuncFontcolor): (KJS::stringProtoFuncFontsize): (KJS::stringProtoFuncAnchor): (KJS::stringProtoFuncLink): (KJS::stringFromCharCode): (KJS::StringConstructor::StringConstructor): (KJS::constructWithStringConstructor): (KJS::StringConstructor::getConstructData): (KJS::callStringConstructor): (KJS::StringConstructor::getCallData):
  • kjs/string_object.h:

JavaScriptGlue:

2008-06-23 Darin Adler <Darin Adler>

Reviewed by Geoff.

  • JSValueWrapper.cpp: (JSValueWrapper::JSObjectCallFunction): Updated to use getCallData and call instead of the old callAsFunction.

WebCore:

2008-06-23 Darin Adler <Darin Adler>

Reviewed by Geoff.

Update for JavaScript changes.

  • Use CallData and ConstructData instead of the obsolete implementsCall, callAsFunction, and construct functions.
  • Updated native function arguments, specifically to allow a JSValue rather than a JSObject for the this argument, and to call toThisObject as needed when treating it as an object.
  • Made some more class members private and protected, including virtual function overrides.
  • Eliminated the use of getCallData in the JavaScript bridging code as a way to check if an instance supports invokeDefaultMethod.
  • Eliminated unnecessary polymorphism in the NodeIterator and TreeWalker classes. They were using virtual functions simply to share an instance of the RefCounted template, which was not helpful.
  • bindings/js/JSAudioConstructor.cpp: (WebCore::constructAudio): (WebCore::JSAudioConstructor::getConstructData):
  • bindings/js/JSAudioConstructor.h: (WebCore::JSAudioConstructor::document): (WebCore::JSAudioConstructor::classInfo):
  • bindings/js/JSClipboardCustom.cpp: (WebCore::JSClipboard::types):
  • bindings/js/JSCustomSQLStatementCallback.cpp: (WebCore::JSCustomSQLStatementCallback::handleEvent):
  • bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::handleEvent):
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  • bindings/js/JSDOMBinding.h: (WebCore::DOMObject::DOMObject):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncAToB): (WebCore::windowProtoFuncBToA): (WebCore::windowProtoFuncOpen): (WebCore::windowProtoFuncSetTimeout): (WebCore::windowProtoFuncClearTimeout): (WebCore::windowProtoFuncSetInterval): (WebCore::windowProtoFuncAddEventListener): (WebCore::windowProtoFuncRemoveEventListener): (WebCore::windowProtoFuncShowModalDialog): (WebCore::windowProtoFuncNotImplemented): (WebCore::toJSDOMWindow):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::classInfo):
  • bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): (WebCore::JSLazyEventListener::parseCode):
  • bindings/js/JSEventTargetBase.cpp: (WebCore::retrieveEventTargetAndCorrespondingNode): (WebCore::jsEventTargetAddEventListener): (WebCore::jsEventTargetRemoveEventListener): (WebCore::jsEventTargetDispatchEvent):
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSHTMLAppletElementCustom.cpp: (WebCore::JSHTMLAppletElement::customGetOwnPropertySlot): (WebCore::JSHTMLAppletElement::customPut): (WebCore::JSHTMLAppletElement::getCallData):
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::callHTMLCollection): (WebCore::JSHTMLCollection::getCallData):
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
  • bindings/js/JSHTMLEmbedElementCustom.cpp: (WebCore::JSHTMLEmbedElement::customGetOwnPropertySlot): (WebCore::JSHTMLEmbedElement::customPut): (WebCore::JSHTMLEmbedElement::getCallData):
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
  • bindings/js/JSHTMLInputElementBase.h:
  • bindings/js/JSHTMLObjectElementCustom.cpp: (WebCore::JSHTMLObjectElement::customGetOwnPropertySlot): (WebCore::JSHTMLObjectElement::customPut): (WebCore::JSHTMLObjectElement::getCallData):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::constructHTMLOptionElement): (WebCore::JSHTMLOptionElementConstructor::getConstructData):
  • bindings/js/JSHTMLOptionElementConstructor.h: (WebCore::JSHTMLOptionElementConstructor::document): (WebCore::JSHTMLOptionElementConstructor::classInfo):
  • bindings/js/JSImageConstructor.cpp: (WebCore::constructImage): (WebCore::JSImageConstructor::getConstructData):
  • bindings/js/JSImageConstructor.h: (WebCore::JSImageConstructor::document): (WebCore::JSImageConstructor::classInfo):
  • bindings/js/JSInspectedObjectWrapper.h: (WebCore::JSInspectedObjectWrapper::classInfo):
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::scopeChain):
  • bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): (WebCore::JSNodeFilterCondition::mark): (WebCore::JSNodeFilterCondition::acceptNode):
  • bindings/js/JSNodeFilterCondition.h: (WebCore::JSNodeFilterCondition::create):
  • bindings/js/JSNodeFilterCustom.cpp: (WebCore::toNodeFilter):
  • bindings/js/JSNodeListCustom.cpp: (WebCore::callNodeList): (WebCore::JSNodeList::getCallData): (WebCore::JSNodeList::canGetItemsForName): (WebCore::JSNodeList::nameGetter):
  • bindings/js/JSPluginElementFunctions.cpp: (WebCore::runtimeObjectGetter): (WebCore::runtimeObjectPropertyGetter): (WebCore::runtimeObjectCustomGetOwnPropertySlot): (WebCore::runtimeObjectCustomPut): (WebCore::runtimeObjectGetCallData): (WebCore::pluginInstance): (WebCore::getRuntimeObject): (WebCore::callPlugin):
  • bindings/js/JSPluginElementFunctions.h:
  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::put): (WebCore::JSQuarantinedObjectWrapper::construct): (WebCore::JSQuarantinedObjectWrapper::getConstructData): (WebCore::JSQuarantinedObjectWrapper::hasInstance): (WebCore::JSQuarantinedObjectWrapper::call): (WebCore::JSQuarantinedObjectWrapper::getCallData):
  • bindings/js/JSQuarantinedObjectWrapper.h: (WebCore::JSQuarantinedObjectWrapper::className):
  • bindings/js/JSRGBColor.cpp:
  • bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): (WebCore::JSXMLHttpRequestConstructor::getConstructData):
  • bindings/js/JSXMLHttpRequestConstructor.h: (WebCore::JSXMLHttpRequestConstructor::document): (WebCore::JSXMLHttpRequestConstructor::classInfo):
  • bindings/js/JSXSLTProcessorConstructor.cpp: (WebCore::constructXSLTProcessor): (WebCore::JSXSLTProcessorConstructor::getConstructData):
  • bindings/js/JSXSLTProcessorConstructor.h: (WebCore::JSXSLTProcessorConstructor::classInfo):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::ScheduledAction): (WebCore::ScheduledAction::execute):
  • bindings/js/ScheduledAction.h:
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]):
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/NP_jsobject.cpp: (_NPN_InvokeDefault): (_NPN_Invoke):
  • bridge/c/c_instance.cpp: (KJS::Bindings::CInstance::supportsInvokeDefaultMethod):
  • bridge/c/c_instance.h:
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::call):
  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_instance.mm: (ObjcInstance::supportsInvokeDefaultMethod):
  • bridge/objc/objc_runtime.h: (KJS::Bindings::ObjcFallbackObjectImp::propertyName): (KJS::Bindings::ObjcFallbackObjectImp::classInfo):
  • bridge/objc/objc_runtime.mm: (Bindings::webScriptObjectClass): (Bindings::webUndefinedClass): (ObjcFallbackObjectImp::ObjcFallbackObjectImp): (callObjCFallbackObject): (ObjcFallbackObjectImp::getCallData):
  • bridge/qt/qt_instance.h:
  • bridge/runtime.cpp: (KJS::Bindings::Instance::createRuntimeObject): (KJS::Bindings::Instance::getInstance):
  • bridge/runtime.h: (KJS::Bindings::Field::~Field): (KJS::Bindings::Method::~Method): (KJS::Bindings::Class::~Class): (KJS::Bindings::Instance::supportsInvokeDefaultMethod):
  • bridge/runtime_method.cpp: (KJS::callRuntimeMethod): (KJS::RuntimeMethod::getCallData):
  • bridge/runtime_method.h: (KJS::RuntimeMethod::methods):
  • bridge/runtime_object.cpp: (RuntimeObjectImp::defaultValue): (callRuntimeObject): (RuntimeObjectImp::getCallData):
  • bridge/runtime_object.h: (KJS::RuntimeObjectImp::getInternalInstance): (KJS::RuntimeObjectImp::classInfo):
  • dom/NodeIterator.h:
  • dom/Traversal.cpp:
  • dom/Traversal.h:
  • dom/TreeWalker.h:
8:00 PM Changeset in webkit [34753] by abarth@webkit.org
  • 7 edits in trunk/WebCore

2008-06-23 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

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

Move isAllowedToLoadLocalResources into SecurityOrigin.

  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::setURL): (WebCore::Document::initSecurityContext):
  • dom/Document.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::canLoad):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::SecurityOrigin): (WebCore::SecurityOrigin::isLocal):
  • platform/SecurityOrigin.h: (WebCore::SecurityOrigin::protocol): (WebCore::SecurityOrigin::host): (WebCore::SecurityOrigin::domain): (WebCore::SecurityOrigin::port): (WebCore::SecurityOrigin::canLoadLocalResources): (WebCore::SecurityOrigin::grantLoadLocalResources):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setRequestHeader):
5:23 PM Changeset in webkit [34752] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Fix Windows build.

5:19 PM Changeset in webkit [34751] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-06-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 19716: REGRESSION (SquirrelFish): Reproducible crash after entering a username at mint.com
<https://bugs.webkit.org/show_bug.cgi?id=19716>

When unwinding callframes for exceptions, check whether the callframe
was created by a reentrant native call to JavaScript after tearing off
the local variables instead of before.

JavaScriptCore:

  • VM/Machine.cpp: (KJS::Machine::unwindCallFrame):

LayoutTests:

  • fast/js/reentrant-call-unwind-expected.txt: Added.
  • fast/js/reentrant-call-unwind.html: Added.
  • fast/js/resources/reentrant-call-unwind.js: Added.
5:00 PM Changeset in webkit [34750] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Fix a math error in my last change.


Reviewed by Ada Chan.

  • platform/win/FileSystemWin.cpp: (WebCore::openTemporaryFile):
4:48 PM Changeset in webkit [34749] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-06-23 Kevin McCullough <kmccullough@apple.com>

-Build fix.

  • WebCore.vcproj/WebCore.vcproj:
4:20 PM Changeset in webkit [34748] by Chris Fleizach
  • 2 edits in trunk/WebCore

<rdar://problem/6024267> VO unable to read massive emails because AccessibilityObject::lengthForVisiblePositionRange makes the string

Improves performance of asking for the length/string of text marker ranges

2:41 PM Changeset in webkit [34747] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Get testapi passing again in a debug build.

Reviewed by Oliver Hunt.

  • API/testapi.c:

(main): Update the expected output of calling JSValueMakeString on a function object.

1:58 PM Changeset in webkit [34746] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Added our own mechanism for generating temporary file names.


Reviewed by Ada Chan, Darin Adler.

  • platform/win/FileSystemWin.cpp: (WebCore::openTemporaryFile):
1:57 PM Changeset in webkit [34745] by ddkilzer@apple.com
  • 3 edits in trunk/LayoutTests

2008-06-23 David Kilzer <ddkilzer@apple.com>

Updated test for Bug 15823: getPropertyValue for border returns null, should compute the shorthand value

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

Rubber-stamped by Darin.

  • fast/css/getPropertyValue-border-expected.txt: Updated results.
  • fast/css/getPropertyValue-border.html: Test all combinations of (mismatched) border values.
1:33 PM Changeset in webkit [34744] by weinig@apple.com
  • 4 edits in trunk/WebCore

2008-06-23 Sam Weinig <sam@webkit.org>

Remove XMLHttpRequestProgressEvent.cpp from project files.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
1:30 PM Changeset in webkit [34743] by weinig@apple.com
  • 1 edit
    1 delete in trunk/WebCore

2008-06-23 Sam Weinig <sam@webkit.org>

Reviewed by Dave Hyatt.

Remove empty file.

  • xml/XMLHttpRequestProgressEvent.cpp: Removed.
1:28 PM Changeset in webkit [34742] by weinig@apple.com
  • 3 edits in trunk/WebCore

2008-06-23 Sam Weinig <sam@webkit.org>

Rubber-stamped by Tim Hatcher.

Rename XMLHttpRequest::sameOriginRequest to XMLHttpRequest::makeSameOriginRequest
and XMLHttpRequest::crossSiteAccessRequest to XMLHttpRequest::makeCrossSiteAccessRequest.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::makeSameOriginRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
  • xml/XMLHttpRequest.h:
1:07 PM Changeset in webkit [34741] by weinig@apple.com
  • 5 edits in trunk/WebCore

2008-06-23 Sam Weinig <sam@webkit.org>

Reviewed by Alexey Proskuryakov.

Some XMLHttpRequest re-organization to aid further enhancements coming soon.

  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send): Explicitly call overloaded versions of send, instead of always calling though send(DOMString).
  • dom/Document.idl: Adds native converter.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::open): (WebCore::XMLHttpRequest::initSend): (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::sameOriginRequest): (WebCore::XMLHttpRequest::crossSiteAccessRequest): (WebCore::XMLHttpRequest::abort): (WebCore::XMLHttpRequest::clearResponse): (WebCore::XMLHttpRequest::clearRequest): (WebCore::XMLHttpRequest::genericError): (WebCore::XMLHttpRequest::dispatchProgressEvent):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Inline. (WebCore::XMLHttpRequest::onReadyStateChangeListener): Ditto. (WebCore::XMLHttpRequest::setOnLoadListener): Ditto. (WebCore::XMLHttpRequest::onLoadListener): Ditto. (WebCore::XMLHttpRequest::setOnProgressListener): Ditto. (WebCore::XMLHttpRequest::onProgressListener): Ditto. Makes the request entity body a member variable so that the send method can be more easily broken up.
10:33 AM Changeset in webkit [34740] by timothy@apple.com
  • 5 edits
    2 adds in trunk/WebCore

Make profiles of the same name in the Inspector group in the
sidebar under a collapsable item that contains all the runs.

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

Reviewed by Darin Adler.

  • English.lproj/localizedStrings.js: New strings.
  • page/inspector/Images/profileGroupIcon.png: Added.
  • page/inspector/Images/profileSmallIcon.png: Added.
  • page/inspector/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.reset): Clear _profileGroups. Remove the "some-expandable" class from the sidebarTree. (WebInspector.ProfilesPanel.prototype.addProfile): Append new profiles that have the same name as a previous profile into a group. When a group has 2 profiles a ProfileGroupSidebarTreeElement is made and the ProfileSidebarTreeElements are appended to the group's element. (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): Return _mainTitle is it is set. (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): Set _mainTitle which is an override title. (WebInspector.ProfileGroupSidebarTreeElement): Inherit SidebarTreeElement. (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect): Show the last profile in the group when selected.
  • page/inspector/SidebarTreeElement.js: (WebInspector.SidebarTreeElement.prototype.get small): Return _small. (WebInspector.SidebarTreeElement.prototype.set small): Set _small and update the style to match. (WebInspector.SidebarTreeElement.prototype.onattach): Set the small class if the small property is true.
  • page/inspector/inspector.css: New styles for profiles groups and for the small profiles.
9:24 AM Changeset in webkit [34739] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-06-23 Anders Carlsson <andersca@apple.com>

Reviewed by Geoff.

Make changedDocuments a HashSet.

  • dom/Document.cpp: (WebCore::Document::setDocumentChanged): (WebCore::Document::updateDocumentsRendering):
8:19 AM Changeset in webkit [34738] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2008-06-23 Benjamin C Meyer <ben@meyerhome.net>

Reviewed by Simon.

Add function to retrieve the standard context menu

1:10 AM Changeset in webkit [34737] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Mark Rowe.

Restore a collectOnMainThreadOnly call that was accidentally removed in r34659. It will not
be needed when heaps are actually per-thread, but this isn't the case yet, and collecting
on a different thread causes crashes.

  • bindings/js/JSDOMBinding.h: (WebCore::DOMObject::DOMObject):
Note: See TracTimeline for information about the timeline view.