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

Timeline



Jun 28, 2008:

10:56 PM Changeset in webkit [34869] by Darin Adler
  • 2 edits in trunk/WebKit/mac

2008-06-28 Darin Adler <Darin Adler>

  • fix build
  • WebView/WebView.mm: (aeDescFromJSValue): Use get instead of getItem, which no longer exists.
10:38 PM Changeset in webkit [34868] by Darin Adler
  • 8 edits
    3 adds in trunk

JavaScriptCore:

2008-06-28 Darin Adler <Darin Adler>

Reviewed by Sam and Cameron.

Test: fast/js/array-holes.html

  • kjs/ArrayPrototype.cpp: (KJS::arrayProtoFuncConcat): Changed to use getProperty instead of JSArray::getItem -- need to handle properties from the prototype chain instead of ignoring them.
  • kjs/JSArray.cpp: Removed getItem.
  • kjs/JSArray.h: Ditto.

WebCore:

2008-06-28 Darin Adler <Darin Adler>

Reviewed by Sam and Cameron.

  • bridge/jni/jni_utility.cpp: (KJS::Bindings::convertArrayInstanceToJavaArray): Use get instead of getItem, since we always want to consider values from the prototypes when looking at JavaScript arrays.

LayoutTests:

2008-06-28 Darin Adler <Darin Adler>

Reviewed by Sam and Cameron.

  • fast/js/array-holes-expected.txt: Added.
  • fast/js/array-holes.html: Added.
  • fast/js/resources/array-holes.js: Added.
8:56 PM Changeset in webkit [34867] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

2008-06-28 Darin Adler <Darin Adler>

Reviewed by Cameron.

SunSpider says 1.8% faster.

  • kjs/JSArray.cpp: (KJS::JSArray::JSArray): Initialize m_fastAccessCutoff when creating arrays. Also updated for new location of m_vectorLength. (KJS::JSArray::getItem): Updated for new location of m_vectorLength. (KJS::JSArray::getSlowCase): Added. Broke out the non-hot parts of getOwnPropertySlot to make the hot part faster. (KJS::JSArray::getOwnPropertySlot): Added a new faster case for indices lower than m_fastAccessCutoff. We can do theese with no additional checks or branches. (KJS::JSArray::put): Added a new faster case for indices lower than m_fastAccessCutoff. We can do theese with no additional checks or branches. Moved the maxArrayIndex handling out of this function. Added code to set m_fastAccessCutoff when the very last hole in an array is filled; this is how the cutoff gets set for most arrays. (KJS::JSArray::putSlowCase): Moved the rest of the put function logic in here, to make the hot part of the put function faster. (KJS::JSArray::deleteProperty): Added code to lower m_fastAccessCutoff when a delete makes a new hole in the array. (KJS::JSArray::getPropertyNames): Updated for new location of m_vectorLength. (KJS::JSArray::increaseVectorLength): Ditto. (KJS::JSArray::setLength): Added code to lower m_fastAccessCutoff when setLength makes the array smaller. (KJS::JSArray::mark): Updated for new location of m_vectorLength. (KJS::JSArray::sort): Ditto. Set m_fastAccessCutoff after moving all the holes to the end of the array. (KJS::JSArray::compactForSorting): Ditto. (KJS::JSArray::checkConsistency): Added consistency checks fro m_fastAccessCutoff and updated for the new location of m_vectorLength.
  • kjs/JSArray.h: Added declarations for slow case functions. Replaced m_vectorLength with m_fastAccessCutoff.
7:33 PM Changeset in webkit [34866] by cwzwarich@webkit.org
  • 5 edits in trunk

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

Reviewed by Sam.

When executing a native call, check for an exception before writing the
return value.

JavaScriptCore:

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

LayoutTests:

  • fast/js/exception-sequencing-expected.txt:
  • fast/js/exception-sequencing.html:
7:21 PM Changeset in webkit [34865] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Build fix. Flag headers as private or public as is appropriate.
These settings were accidentally removed during some project file cleanup.

5:44 PM Changeset in webkit [34864] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

  • allow document markers to touch or overlap if they are not of the same type

Cannot be tested in DumpRenderTree

  • dom/Document.cpp: (WebCore::Document::addMarker):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintDocumentMarkers):
5:09 PM Changeset in webkit [34863] by weinig@apple.com
  • 14 edits
    4 copies in trunk/JavaScriptCore

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

Rubber-stamped by Darin Adler.

Splits RegExpConstructor and RegExpPrototype out of RegExpObject.h/cpp

  • DerivedSources.make:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/Machine.cpp:
  • kjs/AllInOneFile.cpp:
  • kjs/JSGlobalObject.cpp:
  • kjs/RegExpConstructor.cpp: Copied from kjs/RegExpObject.cpp.
  • kjs/RegExpConstructor.h: Copied from kjs/RegExpObject.h.
  • kjs/RegExpObject.cpp:
  • kjs/RegExpObject.h:
  • kjs/RegExpPrototype.cpp: Copied from kjs/RegExpObject.cpp.
  • kjs/RegExpPrototype.h: Copied from kjs/RegExpObject.h.
  • kjs/StringPrototype.cpp:
  • kjs/internal.cpp:
4:44 PM Changeset in webkit [34862] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Fix non-AllInOne builds.

  • kjs/StringConstructor.cpp:
4:30 PM Changeset in webkit [34861] by weinig@apple.com
  • 12 edits
    5 copies
    3 moves
    2 adds in trunk

JavaScriptCore:

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

Rubber-stamped by Darin Adler.

Rename string_object.h/cpp to StringObject.h/cpp and split out StringObjectThatMasqueradesAsUndefined,
StringConstructor and StringPrototype.

  • DerivedSources.make:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • kjs/AllInOneFile.cpp:
  • kjs/JSGlobalObject.cpp:
  • kjs/StringConstructor.cpp: Copied from JavaScriptCore/kjs/string_object.cpp.
  • kjs/StringConstructor.h: Copied from JavaScriptCore/kjs/string_object.h.
  • kjs/StringObject.cpp: Copied from JavaScriptCore/kjs/string_object.cpp.
  • kjs/StringObject.h: Copied from JavaScriptCore/kjs/string_object.h.
  • kjs/StringObjectThatMasqueradesAsUndefined.h: Copied from JavaScriptCore/kjs/string_object.h.
  • kjs/StringPrototype.cpp: Copied from JavaScriptCore/kjs/string_object.cpp.
  • kjs/StringPrototype.h: Copied from JavaScriptCore/kjs/string_object.h.
  • kjs/internal.cpp:
  • kjs/string_object.cpp: Removed.
  • kjs/string_object.h: Removed.

WebCore:

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

Rubber-stamped by Darin Adler.

Update includes after remaming string_object.h to StringObject.h and
splitting out StringObjectThatMasqueradesAsUndefined, StringConstructor
and StringPrototype.

  • ForwardingHeaders/kjs/StringObject.h: Copied from WebCore/ForwardingHeaders/kjs/string_object.h.
  • ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Added.
  • ForwardingHeaders/kjs/StringPrototype.h: Added.
  • ForwardingHeaders/kjs/string_object.h: Removed.
  • bindings/js/JSCSSStyleDeclarationCustom.cpp:
3:57 PM Changeset in webkit [34860] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-06-28 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix: JSVariableObject is now part of AllInOne

  • GNUmakefile.am:
3:22 PM Changeset in webkit [34859] by jchaffraix@webkit.org
  • 17 edits in branches/XBL2/WebCore

2008-06-27 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Change XBL legacy code's guard to ENABLE(DEPRECATED_XBL)
to enable compilation.

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document):
  • dom/Document.h:
  • loader/Cache.cpp: (WebCore::createResource): (WebCore::Cache::getStatistics):
  • loader/Cache.h:
  • loader/CachedResource.h: (WebCore::CachedResource::):
  • loader/CachedResourceClient.h:
  • loader/CachedXBLDocument.cpp:
  • loader/CachedXBLDocument.h:
  • loader/DocLoader.cpp: (WebCore::DocLoader::requestResource):
  • loader/DocLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
  • loader/loader.cpp: (WebCore::Loader::determinePriority):
  • rendering/style/RenderStyle.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator==):
  • rendering/style/RenderStyle.h:
3:21 PM Changeset in webkit [34858] by Darin Adler
  • 8 edits in trunk/JavaScriptCore

2008-06-28 Darin Adler <Darin Adler>

Reviewed by Oliver.

  • pcre/pcre_compile.cpp: (jsRegExpCompile): Compile in the string if REGEXP_HISTOGRAM is on.
  • pcre/pcre_exec.cpp: (jsRegExpExecute): Add hook to time execution. (Histogram::~Histogram): Print a sorted list of what took time. (Histogram::add): Accumulate records of what took time. (HistogramTimeLogger::~HistogramTimeLogger): Hook that calls Histogram::add at the right moment and creates the global histogram object.
  • pcre/pcre_internal.h: Define REGEXP_HISTOGRAM.
  • pcre/pcre_tables.cpp: Added missing include of "config.h". Not needed any more, but an omissions an earlier version of this patch detected.
  • pcre/pcre_ucp_searchfuncs.cpp: Ditto.
  • pcre/pcre_xclass.cpp: Ditto.
2:54 PM Changeset in webkit [34857] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Try and fix the Windows build again.

  • kjs/RegExpObject.cpp:
  • kjs/date_object.cpp:
  • kjs/error_object.cpp:
2:45 PM Changeset in webkit [34856] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Rubber-stamped by Darin Adler.

Remove unused StringConstructorFunction class.

  • kjs/string_object.h:
2:40 PM Changeset in webkit [34855] by weinig@apple.com
  • 14 edits in trunk/JavaScriptCore

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

Fix windows build.

  • kjs/ArrayPrototype.cpp:
  • kjs/BooleanPrototype.cpp:
  • kjs/BooleanPrototype.h:
  • kjs/FunctionPrototype.cpp:
  • kjs/JSImmediate.cpp:
  • kjs/JSObject.cpp:
  • kjs/MathObject.cpp:
  • kjs/NumberPrototype.cpp:
  • kjs/NumberPrototype.h:
  • kjs/ObjectConstructor.cpp:
  • kjs/RegExpObject.h:
  • kjs/error_object.h:
  • kjs/string_object.cpp:
2:22 PM Changeset in webkit [34854] by weinig@apple.com
  • 32 edits
    8 copies
    3 moves
    1 add in trunk

JavaScriptCore:

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

Rubber-stamped by Oliver Hunt.

Splits FunctionConstructor out of FunctionPrototype.h/cpp
Splits NumberConstructor and NumberPrototype out of NumberObject.h/cpp
Rename object_object.h/cpp to ObjectPrototype.h/cpp and split out ObjectConstructor.

  • API/JSCallbackConstructor.cpp:
  • API/JSClassRef.cpp:
  • API/JSObjectRef.cpp:
  • DerivedSources.make:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/Machine.cpp:
  • kjs/AllInOneFile.cpp:
  • kjs/ArrayConstructor.cpp:
  • kjs/ArrayConstructor.h:
  • kjs/FunctionConstructor.cpp: Copied from JavaScriptCore/kjs/FunctionPrototype.cpp.
  • kjs/FunctionConstructor.h: Copied from JavaScriptCore/kjs/FunctionPrototype.h.
  • kjs/FunctionPrototype.cpp:
  • kjs/FunctionPrototype.h:
  • kjs/JSFunction.cpp:
  • kjs/JSGlobalObject.cpp:
  • kjs/JSImmediate.cpp:
  • kjs/MathObject.h:
  • kjs/NumberConstructor.cpp: Copied from JavaScriptCore/kjs/NumberObject.cpp.
  • kjs/NumberConstructor.h: Copied from JavaScriptCore/kjs/NumberObject.h.
  • kjs/NumberObject.cpp:
  • kjs/NumberObject.h:
  • kjs/NumberPrototype.cpp: Copied from JavaScriptCore/kjs/NumberObject.cpp.
  • kjs/NumberPrototype.h: Copied from JavaScriptCore/kjs/NumberObject.h.
  • kjs/ObjectConstructor.cpp: Copied from JavaScriptCore/kjs/object_object.cpp.
  • kjs/ObjectConstructor.h: Copied from JavaScriptCore/kjs/object_object.h.
  • kjs/ObjectPrototype.cpp: Copied from JavaScriptCore/kjs/object_object.cpp.
  • kjs/ObjectPrototype.h: Copied from JavaScriptCore/kjs/object_object.h.
  • kjs/RegExpObject.h:
  • kjs/Shell.cpp:
  • kjs/error_object.h:
  • kjs/internal.cpp:
  • kjs/nodes.cpp:
  • kjs/object_object.cpp: Removed.
  • kjs/object_object.h: Removed.
  • kjs/string_object.h:

WebCore:

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

Rubber-stamped by Oliver Hunt.

Update includes after remaming object_object.h to ObjectPrototype.h and
splitting FunctionConstructor out of FunctionPrototype.h

  • ForwardingHeaders/kjs/FunctionConstructor.h: Added.
  • ForwardingHeaders/kjs/ObjectPrototype.h: Copied from WebCore/ForwardingHeaders/kjs/object_object.h.
  • ForwardingHeaders/kjs/object_object.h: Removed.
  • bindings/js/JSEventListener.cpp:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/qt/qt_instance.cpp:
2:11 PM Applications using WebKit edited by bug@insecti.com
new browser this year! (diff)
1:24 PM SquirrelFishPerfIdeas edited by erich@atlasocean.com
(diff)
10:49 AM Changeset in webkit [34853] by mitz@apple.com
  • 5 edits in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement): Changed to not load an image if the 'src' attribute is the empty string and the document's base URI is a file: URL.

LayoutTests:

Reviewed by Darin Adler.

  • updated test and results for <rdar://problem/5994621> REGRESSION (r31090-r31114): Weather widget shows missing image icons briefly when (re)loaded
  • fast/images/load-img-with-empty-src-expected.txt:
  • fast/images/load-img-with-empty-src.html:
9:03 AM Changeset in webkit [34852] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

2008-06-28 Darin Adler <Darin Adler>

Reviewed by Oliver.

SunSpider says 0.9% faster.

  • VM/CodeGenerator.h: (KJS::CodeGenerator::tempDestination): Create a new temporary for ignoredResult() too, just as we would for 0. (KJS::CodeGenerator::finalDestination): Use the temporary if the register passed in is ignoredResult() too, just as we would for 0. (KJS::CodeGenerator::destinationForAssignResult): Return 0 if the passed in register is ignoredResult(), just as we would for 0. (KJS::CodeGenerator::moveToDestinationIfNeeded): Return 0 if the register passed in is ignoredResult(). What matters is that we don't want to emit a move. The return value won't be looked at. (KJS::CodeGenerator::emitNode): Allow ignoredResult() and pass it through to the node's emitCode function.
  • VM/RegisterID.h: (KJS::ignoredResult): Added. Special value to indicate the result of a node will be ignored and need not be put in any register.
  • kjs/nodes.cpp: (KJS::NullNode::emitCode): Do nothing if dst == ignoredResult(). (KJS::BooleanNode::emitCode): Ditto. (KJS::NumberNode::emitCode): Ditto. (KJS::StringNode::emitCode): Ditto. (KJS::RegExpNode::emitCode): Ditto. (KJS::ThisNode::emitCode): Ditto. (KJS::ResolveNode::emitCode): Do nothing if dst == ignoredResult() and the identifier resolves to a local variable. (KJS::ObjectLiteralNode::emitCode): Do nothing if dst == ignoredResult() and the object is empty. (KJS::PostIncResolveNode::emitCode): If dst == ignoredResult(), then do nothing for the local constant case, and do a pre-increment in all the other cases. (KJS::PostDecResolveNode::emitCode): Ditto. (KJS::PostIncBracketNode::emitCode): Ditto. (KJS::PostDecBracketNode::emitCode): Ditto. (KJS::PostIncDotNode::emitCode): Ditto. (KJS::PostDecDotNode::emitCode): Ditto. (KJS::DeleteValueNode::emitCode): Pass ignoredResult() when evaluating the expression. (KJS::VoidNode::emitCode): Ditto. (KJS::TypeOfResolveNode::emitCode): If dst == ignoredResult(), do nothing if the identifier resolves to a local variable, and don't bother generating a typeof opcode in the other case. (KJS::TypeOfValueNode::emitCode): Ditto. (KJS::PreIncResolveNode::emitCode): Do nothing if dst == ignoredResult() and the identifier resolves to a local constant. (KJS::PreDecResolveNode::emitCode): Ditto. (KJS::AssignResolveNode::emitCode): Turn ignoredResult() into 0 in a couple places, because we need to put the result into a register so we can assign it. At other sites this is taken care of by functions like finalDestination. (KJS::CommaNode::emitCode): Pass ignoredResult() when evaluating the first expression. (KJS::ForNode::emitCode): Pass ignoredResult() when evaluating the first and third expressions. (KJS::ForInNode::emitCode): Pass ignoredResult() when evaluating the first expression.
8:50 AM Changeset in webkit [34851] by Darin Adler
  • 7 edits in trunk/JavaScriptCore

2008-06-28 Darin Adler <Darin Adler>

Reviewed by Oliver.

SunSpider says 0.8% faster.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump): Added argv and argc parameters to new_array.
  • VM/Machine.cpp: (KJS::Machine::privateExecute): Ditto.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewArray): Added.
  • VM/CodeGenerator.h: Added ElementNode* argument to emitNewArray.
  • kjs/nodes.cpp: (KJS::ArrayNode::emitCode): Pass the ElementNode to emitNewArray so it can be initialized with as many elements as possible. If the array doesn't have any holes in it, that's all that's needed. If there are holes, then emit some separate put operations for the other values in the array and for the length as needed.
  • kjs/nodes.h: Added some accessors to ElementNode so the code generator can iterate through elements and generate code to evaluate them. Now ArrayNode does not need to be a friend. Also took out some unused PlacementNewAdoptType constructors.
8:33 AM Changeset in webkit [34850] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-06-28 Darin Adler <Darin Adler>

Reviewed by Oliver Hunt.

  • kjs/nodes.h: Remove obsolete PlacementNewAdopt constructors. We no longer mutate the AST in place.
3:48 AM Changeset in webkit [34849] by jmalonzo@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-06-28 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Oliver Hunt.

Build fix

  • VM/Machine.cpp: include stdio.h
3:47 AM Changeset in webkit [34848] by Nikolas Zimmermann
  • 79 edits
    6 moves
    29 adds in trunk/LayoutTests

Reviewed by Oliver.

Update all (except four) SVG pixel tests, after a long time.
Four tests are broken in trunk, filed bugs 19798 & 19799.

Add all missing png/checksum files, and move files around which were misplaced.

3:23 AM Changeset in webkit [34847] by Nikolas Zimmermann
  • 2 edits in trunk/WebKitTools

Reviewed by Oliver.

Copy <test>-expected.png from the right location to /tmp/layout-test-results.
Use $expectedPixelDir instead of $expectedDir. Allows using SVG pixel tests again.

12:17 AM Changeset in webkit [34846] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

Reviewed by Oliver Hunt.

  • make a test valid
  • fast/images/load-img-with-empty-src.html: Renamed the "status" variable to "results", because "status" is a Window property.

Jun 27, 2008:

11:09 PM Changeset in webkit [34845] by weinig@apple.com
  • 8 edits
    9 adds in trunk

WebCore:

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

Reviewed by Dan Bernstein.

<rdar://problem/6025499> Make Cross-site XHR match the final specification

Update the implemented subset of Access-Control for XMLHttpRequest to the
latest version. (Editor's Draft 25 May 2008)

  • Now differentiates between simple and non-simple cross-site requests, the later requiring a preflight.
  • Now sends request headers cross-site, limited by a blacklist.
  • Now allows access to cross-site response headers, limited by a whitelist.
  • Now sends request entity body for non-get cross-site requests after preflight.

Tests: http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html

http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html
http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html

  • xml/XMLHttpRequest.cpp: (WebCore::isOnAccessControllRequestHeaderBlackList): (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): (WebCore::isOnAccessControlResponseHeaderWhitelist): (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::makeSameOriginRequest): (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::abort): (WebCore::XMLHttpRequest::clearRequest): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::setRequestHeaderInternal): (WebCore::XMLHttpRequest::getAllResponseHeaders): (WebCore::XMLHttpRequest::getResponseHeader): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didFinishLoadingPreflight): (WebCore::XMLHttpRequest::didReceiveResponse): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): (WebCore::XMLHttpRequest::didReceiveData):
  • xml/XMLHttpRequest.h:

LayoutTests:

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

Reviewed by Dan Bernstein.

<rdar://problem/6025499> Make Cross-site XHR match the final specification
Add tests for the updated implemented subset of Access-Control for XMLHttpRequest.

  • http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-basic-blacklist-request-headers.html: Added.
  • http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple.html: Added.
  • http/tests/xmlhttprequest/access-control-basic-not-get-allow-async-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-not-get-allow-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers.html: Added.
  • http/tests/xmlhttprequest/resources/access-control-basic-allow-print-headers.cgi: Added.
  • http/tests/xmlhttprequest/resources/access-control-basic-get-fail-non-simple.cgi: Added.
  • http/tests/xmlhttprequest/resources/access-control-basic-whitelist-response-headers.cgi: Added.
  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
10:20 PM Changeset in webkit [34844] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Fix platforms that don't use AllInOne.cpp

  • kjs/BooleanConstructor.h:
  • kjs/BooleanPrototype.h:
  • kjs/FunctionPrototype.cpp:
9:29 PM Changeset in webkit [34843] by weinig@apple.com
  • 21 edits
    6 copies in trunk/JavaScriptCore

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

Rubber-stamped by Oliver Hunt.

Splits ArrayConstructor out of ArrayPrototype.h/cpp
Splits BooleanConstructor and BooleanPrototype out of BooleanObject.h/cpp

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/Machine.cpp:
  • kjs/AllInOneFile.cpp:
  • kjs/ArrayConstructor.cpp: Copied from kjs/ArrayPrototype.cpp.
  • kjs/ArrayConstructor.h: Copied from kjs/ArrayPrototype.h.
  • kjs/ArrayPrototype.cpp:
  • kjs/ArrayPrototype.h:
  • kjs/BooleanConstructor.cpp: Copied from kjs/BooleanObject.cpp.
  • kjs/BooleanConstructor.h: Copied from kjs/BooleanObject.h.
  • kjs/BooleanObject.cpp:
  • kjs/BooleanObject.h:
  • kjs/BooleanPrototype.cpp: Copied from kjs/BooleanObject.cpp.
  • kjs/BooleanPrototype.h: Copied from kjs/BooleanObject.h.
  • kjs/CommonIdentifiers.h:
  • kjs/FunctionPrototype.cpp:
  • kjs/JSArray.cpp:
  • kjs/JSGlobalObject.cpp:
  • kjs/JSImmediate.cpp:
  • kjs/Shell.cpp:
  • kjs/internal.cpp:
  • kjs/nodes.cpp:
  • kjs/string_object.cpp:
9:02 PM Changeset in webkit [34842] by oliver@apple.com
  • 15 edits in trunk/JavaScriptCore

Bug 18626: SQUIRRELFISH: support the "slow script" dialog <https://bugs.webkit.org/show_bug.cgi?id=18626>
<rdar://problem/5973931> Slow script dialog needs to be reimplemented for squirrelfish

Reviewed by Sam

Adds support for the slow script dialog in squirrelfish. This requires the addition
of three new op codes, op_loop, op_loop_if_true, and op_loop_if_less which have the
same behaviour as their simple jump equivalents but have an additional time out check.

Additional assertions were added to other jump instructions to prevent accidentally
creating loops with jump types that do not support time out checks.

Sunspider does not report a regression, however this appears very sensitive to code
layout and hardware, so i would expect up to a 1% regression on other systems.

Part of this required moving the old timeout logic from JSGlobalObject and into Machine
which is the cause of a number of the larger diff blocks.

7:54 PM Changeset in webkit [34841] by weinig@apple.com
  • 2 edits in trunk/WebCore

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

Rubber-stamped by Mark Rowe.

Clean up sorting in WebCore.xcodeproj.

  • WebCore.xcodeproj/project.pbxproj:
5:24 PM Changeset in webkit [34840] by jmalonzo@webkit.org
  • 3 edits in trunk/JavaScriptCore

2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk and Qt build fix: Remove RegisterFileStack from the build
scripts.

4:31 PM Changeset in webkit [34839] by adele@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-06-27 Adele Peterson <adele@apple.com>

Reviewed by Geoff.

Build fixes.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • VM/RegisterFile.h: (KJS::RegisterFile::RegisterFile):
  • kjs/JSGlobalObject.cpp:
  • kjs/collector.cpp:
3:35 PM Changeset in webkit [34838] by ggaren@apple.com
  • 30 edits
    2 adds
    2 deletes in trunk

JavaScriptCore:

2008-06-27 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


One RegisterFile to rule them all!


SunSpider reports a 0.2% speedup.

This patch removes the RegisterFileStack abstraction and replaces it with
a single register file that


(a) allocates a fixed storage area, including a fixed area for global
vars, so that no operation may cause the register file to reallocate


and

(b) swaps between global storage areas when executing code in different
global objects.


This patch also changes the layout of the register file so that all call
frames, including call frames for global code, get a header. This is
required to support re-entrant global code. It also just makes things simpler.


  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addGlobalVar): New function. Differs from addVar in that


(a) global vars don't contribute to a CodeBlock's numLocals count, since
global storage is fixed and allocated at startup


and


(b) references to global vars get shifted to elide intermediate stack
between "r" and the global storage area.


  • VM/Machine.cpp: (KJS::Machine::dumpRegisters): Updated this function to match the new register file layout, and added the ability to dump exact identifiers for the different parts of a call frame.


(KJS::Machine::unwindCallFrame): Updated this function to match the new
register file layout.


(KJS::Machine::execute): Updated this function to initialize a call frame
header for global code, and to swap global storage areas when switching
to execution in a new global object.


(KJS::Machine::privateExecute): Got rid of "safeForReentry" and re-reading
of registerBase because the register file is always safe for reentry now,
and registerBase never changes.


  • VM/Machine.h: Moved the call frame header enum from Machine to RegisterFile, to resolve a header dependency problem (a good sign that the enum belonged in RegisterFile all along!)
  • VM/RegisterFile.cpp:
  • VM/RegisterFile.h: Changed RegisterFile to mmap a fixed size register area. This allows us to avoid re-allocting the register file later on. Instead, we rely on the OS to allocate physical pages to the register file as necessary.
  • VM/RegisterFileStack.cpp: Removed. Tada!
  • VM/RegisterFileStack.h: Removed. Tada!
  • kjs/DebuggerCallFrame.cpp: Updated this class to match the new register file layout, greatly simplifying it in the process.
  • kjs/JSActivation.h:
  • kjs/JSActivation.cpp: Moved some of this logic up to JSVariableObject, since the global object now needs to be able to tear off its registers just like the activation object.
  • kjs/JSFunction.cpp: No need to fiddle with the register file anymore.
  • kjs/JSGlobalObject.h:
  • kjs/JSGlobalObject.cpp: Updated JSGlobalObject to support moving its global storage area into and out of the register file.
  • kjs/PropertySlot.cpp: No need to fiddle with the register file anymore.
  • kjs/collector.cpp: Renamed markStackObjectConservatively to markConservatively, since we don't just mark stack objects this way.


Also, added code to mark the machine's register file.

  • kjs/config.h: Moved some platforms #defines from here...
  • wtf/Platform.h: ...to here, to support mmap/VirtualAlloc detection in RegisterFile.h.

LayoutTests:

2008-06-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Added a test for what happens when a script exceeds the limit on declared
global variables.

  • fast/js/global-var-limit-expected.txt: Added.
  • fast/js/global-var-limit.html: Added.
  • fast/js/global-recursion-on-full-stack-expected.txt: Updated for new (slightly more correct) behavior. Since the stack overflow happens in the middle of a try/catch block, it should be caught, instead of logged to the console.
3:24 PM Changeset in webkit [34837] by jmalonzo@webkit.org
  • 2 edits in trunk/WebKitTools

2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Christian Dywan.

[Gtk] Initialize webview settings before running DRT tests
http://bugs.webkit.org/show_bug.cgi?id=19778

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (setDefaultsToConsistentStateValuesForTesting): (main):
3:24 PM Changeset in webkit [34836] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-06-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Darin Adler.

Remove unnecessary options to make_names.pl command line
http://bugs.webkit.org/show_bug.cgi?id=19777

  • DerivedSources.make:
  • GNUmakefile.am:
2:08 PM Changeset in webkit [34835] by mitz@apple.com
  • 4 edits in trunk

PlanetWebKit:

Reviewed by Timothy Hatcher.

  • wwwroot/planetwebkit.css: Reduced text shadow offsets.

WebKitSite:

Reviewed by Timothy Hatcher.

  • css/main.css: Reduced text shadow offsets.
1:35 PM Changeset in webkit [34834] by Adam Roben
  • 3 edits in trunk/WebKit/win

Change WebKitGraphics truncation functions to return the length of the truncated string

Reviewed by Darin Adler.

  • WebKitGraphics.cpp: (CenterTruncateStringToWidth): (RightTruncateStringToWidth): Return the length.
  • WebKitGraphics.h: The truncation functions now return an unsigned int that is the length of the truncated string. The whole file has been marked extern "C" to keep the symbols for these functions from changing (which would break nightly builds).
11:11 AM Changeset in webkit [34833] by abarth@webkit.org
  • 4 edits in trunk/LayoutTests/platform/mac/fast/parser

Fix mime-types. Not sure how to do this with git.

11:09 AM Changeset in webkit [34832] by abarth@webkit.org
  • 3 edits
    10 adds in trunk

WebCore:

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

Reviewed by Darin Adler.

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

Properly handle untermianted <!-- comments in <textarea>s.

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

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

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

LayoutTests:

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

Reviewed by Darin Adler.

Test our handling of unterminated <!-- comments in various special
parsing contexts. This change does not test our handling of
unterminated comments in <title> or <iframe> because I'm unsure whether
our behaviour is correct.

  • fast/parser/open-comment-in-script-tricky-expected.txt: Added.
  • fast/parser/open-comment-in-script-tricky.html: Added.
  • fast/parser/open-comment-in-style.html: Added.
  • fast/parser/open-comment-in-textarea.html: Added.
  • platform/mac/fast/parser/open-comment-in-style-expected.checksum: Added.
  • platform/mac/fast/parser/open-comment-in-style-expected.png: Added.
  • platform/mac/fast/parser/open-comment-in-style-expected.txt: Added.
  • platform/mac/fast/parser/open-comment-in-textarea-expected.checksum: Added.
  • platform/mac/fast/parser/open-comment-in-textarea-expected.png: Added.
  • platform/mac/fast/parser/open-comment-in-textarea-expected.txt: Added.
11:09 AM Changeset in webkit [34831] by abarth@webkit.org
  • 3 edits
    16 adds in trunk

WebCore:

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

Reviewed by Darin Adler.

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

Text areas in Wikipedia edit pages are empty, following content is missing

Don't treat entities as comment starters in parseSpecial.

Tests: fast/parser/comment-in-iframe.html

fast/parser/entity-comment-in-iframe.html
fast/parser/entity-comment-in-script-tricky.html
fast/parser/entity-comment-in-style.html
fast/parser/entity-comment-in-textarea.html
fast/parser/entity-comment-in-title.html

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

LayoutTests:

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

Reviewed by Darin Adler.

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

Test that entities are not used to start comments.

  • fast/parser/comment-in-iframe-expected.txt: Added.
  • fast/parser/comment-in-iframe.html: Added.
  • fast/parser/entity-comment-in-iframe-expected.txt: Added.
  • fast/parser/entity-comment-in-iframe.html: Added.
  • fast/parser/entity-comment-in-script-tricky-expected.txt: Added.
  • fast/parser/entity-comment-in-script-tricky.html: Added.
  • fast/parser/entity-comment-in-style.html: Added.
  • fast/parser/entity-comment-in-textarea.html: Added.
  • fast/parser/entity-comment-in-title-expected.txt: Added.
  • fast/parser/entity-comment-in-title.html: Added.
  • platform/mac/fast/parser/entity-comment-in-style-expected.checksum: Added.
  • platform/mac/fast/parser/entity-comment-in-style-expected.png: Added.
  • platform/mac/fast/parser/entity-comment-in-style-expected.txt: Added.
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum: Added.
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.png: Added.
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.txt: Added.
7:32 AM Changeset in webkit [34830] by jchaffraix@webkit.org
  • 7 edits in branches/XBL2

2008-06-27 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Add build-webkit --xbl option.

  • configure.ac: Add XBL checks.

WebCore:

2008-06-27 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Add build-webkit --xbl option.

  • GNUmakefile.am: Add XBL compilation flags and legacy files.
  • WebCore.pro: Ditto.

WebKitTools:

2008-06-27 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Add build-webkit --xbl option.

  • Scripts/build-webkit: Add the option and the build systems' bit.
5:40 AM Changeset in webkit [34829] by Antti Koivisto
  • 3 edits
    2 adds in trunk

WebCore:

2008-06-27 Antti Koivisto <Antti Koivisto>

Reviewed by Oliver.


<rdar://problem/6030720>
REGRESSION: Discrete animation between incompatible paths does not work

Fall back to discrete path animation if paths are not suitable for morphing.


Test: svg/custom/animate-path-discrete.svg


  • svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::calculateAnimatedValue):

LayoutTests:

2008-06-27 Antti Koivisto <Antti Koivisto>

Reviewed by Oliver.


<rdar://problem/6030720>
REGRESSION: Discrete animation between incompatible paths does not work

  • svg/custom/animate-path-discrete.svg: Added.
  • platform/mac/svg/custom/animate-path-discrete-expected.txt: Added.
5:26 AM Changeset in webkit [34828] by jchaffraix@webkit.org
  • 1 copy in branches/XBL2

Create XBL2 branch.

12:00 AM Changeset in webkit [34827] by Darin Adler
  • 2 edits in trunk/WebKitTools

2008-06-26 Darin Adler <Darin Adler>

  • Scripts/check-for-weak-vtables: Fixed comment.
Note: See TracTimeline for information about the timeline view.