Timeline
Jun 27, 2008:
- 11:09 PM Changeset in webkit [34845] by
-
- 8 edits9 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
-
- 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
-
- 21 edits6 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
-
- 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
-
- 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
-
- 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.
- GNUmakefile.am:
- JavaScriptCore.pri:
- 4:31 PM Changeset in webkit [34839] by
-
- 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
-
- 30 edits2 adds2 deletes in trunk
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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 3 edits10 adds in trunk
WebCore:
2008-06-27 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
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
-
- 3 edits16 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.
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
-
- 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
-
- 3 edits2 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
-
- 1 copy in branches/XBL2
Create XBL2 branch.
- 12:00 AM Changeset in webkit [34827] by
-
- 2 edits in trunk/WebKitTools
2008-06-26 Darin Adler <Darin Adler>
- Scripts/check-for-weak-vtables: Fixed comment.
Jun 26, 2008:
- 9:54 PM Changeset in webkit [34826] by
-
- 1 edit1 copy in trunk/WebKitTools
2008-06-26 Darin Adler <Darin Adler>
- Scripts/check-for-weak-vtables: Added.
- 9:44 PM Changeset in webkit [34825] by
-
- 2 edits in trunk/JavaScriptCore
Speculative fix for the Windows build.
- 9:32 PM Changeset in webkit [34824] by
-
- 4 edits in trunk/JavaScriptCore
2008-06-26 Mark Rowe <mrowe@apple.com>
Reviewed by Darin Adler and Geoff Garen.
Fix the malloc zone introspection functions so that malloc_zone_statistics does not give
bogus output in an application that uses JavaScriptCore.
- kjs/CollectorHeapIntrospector.cpp: (KJS::CollectorHeapIntrospector::statistics): Return statistics about memory allocated by the collector.
- kjs/CollectorHeapIntrospector.h:
- wtf/FastMalloc.cpp: Zero out the statistics. FastMalloc doesn't track this information at present. Returning zero for all values is preferable to returning bogus data.
- 8:28 PM Changeset in webkit [34823] by
-
- 7 edits in trunk
WebCore:
2008-06-26 David Smith <catfish.man@gmail.com>
Reviewed by Sam Weinig.
Optimize simple id selectors in querySelector/querySelectorAll.
~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
- dom/Document.h: (WebCore::Document::containsMultipleElementsWithId): Added to allow optimizing the common case of no duplicates
- dom/Node.cpp: (WebCore::Node::querySelector): Uses getElementById instead of DOM traversal where possible now
- dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList): Uses getElementById instead of DOM traversal where possible now
LayoutTests:
2008-06-26 David Smith <catfish.man@gmail.com>
Reviewed by Sam Weinig.
Optimize simple id selectors in querySelector/querySelectorAll.
~4.4x speedup on the 4 subtests of http://webkit.org/perf/slickspeed/ that it applies to.
- fast/dom/SelectorAPI/dumpNodeList-expected.txt:
- fast/dom/SelectorAPI/dumpNodeList.html: Add tests for finding ids not in the document, and finding duplicate ids
- 8:24 PM Changeset in webkit [34822] by
-
- 8 edits2 adds in trunk
WebCore:
Reviewed by Darin Adler.
- fix <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields) http://bugs.webkit.org/show_bug.cgi?id=7023
Test: editing/selection/find-in-text-control.html
- WebCore.base.exp: Updated the TextIterator constructor signature.
- editing/TextIterator.cpp: (WebCore::TextIterator::TextIterator): Added an enterTextControls boolean parameter that determines whether the iterator should visit text inside text areas and text fields. Added code to initialize the m_inShadowContent member variable based on whether the range is in shadow content. (WebCore::TextIterator::advance): Added code to step out of shadow content. (WebCore::TextIterator::handleReplacedElement): Added code to enter text controls if desired. (WebCore::CharacterIterator::CharacterIterator): Added an enterTextControls boolean parameter that determines whether the iterator should visit text inside text areas and text fields. This is passed to the TextIterator constructor. (WebCore::findPlainText): Changed to use a CharacterIterator that visits text controls.
- editing/TextIterator.h: Added member variables to track whether the current node is in a shadow tree and whether the iterator should visit text controls.
- page/Frame.cpp: (WebCore::Frame::findString): Changed to find inside text controls. (WebCore::Frame::markAllMatchesForText): Ditto.
- rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::innerTextElement): Added.
- rendering/RenderTextControl.h: Added innerTextElement(), a private accessor method that is accessible to TextIterator through class friendship.
LayoutTests:
Reviewed by Darin Adler.
- test for <rdar://problem/3099526> Find command doesn't search form input controls (textareas and text fields) http://bugs.webkit.org/show_bug.cgi?id=7023
- editing/selection/find-in-text-control-expected.txt: Added.
- editing/selection/find-in-text-control.html: Added.
- 7:53 PM Changeset in webkit [34821] by
-
- 24 edits in trunk/JavaScriptCore
2008-06-26 Darin Adler <Darin Adler>
Reviewed by Geoff.
- https://bugs.webkit.org/show_bug.cgi?id=19721 speed up JavaScriptCore by not wrapping strings in objects just to call functions on them
- optimize UString append and the replace function a bit
SunSpider says 1.8% faster.
- JavaScriptCore.exp: Updated.
- VM/JSPropertyNameIterator.cpp: Added include of JSString.h, now needed because jsString returns a JSString*.
- VM/Machine.cpp: (KJS::Machine::privateExecute): Removed the toObject call from native function calls. Also removed code to put the this value into a register.
- kjs/BooleanObject.cpp: (KJS::booleanProtoFuncToString): Rewrite to handle false and true separately.
- kjs/FunctionPrototype.cpp: (KJS::constructFunction): Use single-character append rather than building a string for each character.
- kjs/JSFunction.cpp: (KJS::globalFuncUnescape): Ditto.
- kjs/JSImmediate.cpp: (KJS::JSImmediate::prototype): Added. Gets the appropriate prototype for use with an immediate value. To be used instead of toObject when doing a get on an immediate value.
- kjs/JSImmediate.h: Added prototype.
- kjs/JSObject.cpp: (KJS::JSObject::toString): Tweaked formatting.
- kjs/JSObject.h: (KJS::JSValue::get): Use prototype instead of toObject to avoid creating an object wrapper just to search for properties. This also saves an unnecessary hash table lookup since the object wrappers themselves don't have any properties.
- kjs/JSString.h: Added toThisString and toThisJSString.
- kjs/JSValue.cpp: (KJS::JSCell::toThisString): Added. (KJS::JSCell::toThisJSString): Added. (KJS::JSCell::getJSNumber): Added. (KJS::jsString): Changed return type to JSString*. (KJS::jsOwnedString): Ditto.
- kjs/JSValue.h: (KJS::JSValue::toThisString): Added. (KJS::JSValue::toThisJSString): Added. (KJS::JSValue::getJSNumber): Added.
- kjs/NumberObject.cpp: (KJS::NumberObject::getJSNumber): Added. (KJS::integer_part_noexp): Append C string directly rather than first turning it into a UString. (KJS::numberProtoFuncToString): Use getJSNumber to check if the value is a number rather than isObject(&NumberObject::info). This works for immediate numbers, number cells, and NumberObject instances. (KJS::numberProtoFuncToLocaleString): Ditto. (KJS::numberProtoFuncValueOf): Ditto. (KJS::numberProtoFuncToFixed): Ditto. (KJS::numberProtoFuncToExponential): Ditto. (KJS::numberProtoFuncToPrecision): Ditto.
- kjs/NumberObject.h: Added getJSNumber.
- kjs/PropertySlot.cpp: Tweaked comment.
- kjs/internal.cpp: (KJS::JSString::toThisString): Added. (KJS::JSString::toThisJSString): Added. (KJS::JSString::getOwnPropertySlot): Changed code that searches the prototype chain to start with the string prototype and not create a string object. (KJS::JSNumberCell::toThisString): Added. (KJS::JSNumberCell::getJSNumber): Added.
- kjs/lookup.cpp: (KJS::staticFunctionGetter): Moved here, because there's no point in having a function that's only used for a function pointer be inline. (KJS::setUpStaticFunctionSlot): New function for getStaticFunctionSlot.
- kjs/lookup.h: (KJS::staticValueGetter): Don't mark this inline. It doesn't make sense to have a function that's only used for a function pointer be inline. (KJS::getStaticFunctionSlot): Changed to get properties from the parent first before doing any handling of functions. This is the fastest way to return the function once the initial setup is done.
- kjs/string_object.cpp: (KJS::StringObject::getPropertyNames): Call value() instead of getString(), avoiding an unnecessary virtual function call (the call to the type() function in the implementation of the isString() function). (KJS::StringObject::toString): Added. (KJS::StringObject::toThisString): Added. (KJS::StringObject::toThisJSString): Added. (KJS::substituteBackreferences): Rewrote to use a appending algorithm instead of a the old one that tried to replace in place. (KJS::stringProtoFuncReplace): Merged this function and the replace function. Replaced the hand-rolled dynamic arrays for source ranges and replacements with Vector. (KJS::stringProtoFuncToString): Handle JSString as well as StringObject. Removed the separate valueOf implementation, since it can just share this. (KJS::stringProtoFuncCharAt): Use toThisString, which handles JSString as well as StringObject, and is slightly more efficient than the old code too. (KJS::stringProtoFuncCharCodeAt): Ditto. (KJS::stringProtoFuncConcat): Ditto. (KJS::stringProtoFuncIndexOf): Ditto. (KJS::stringProtoFuncLastIndexOf): Ditto. (KJS::stringProtoFuncMatch): Ditto. (KJS::stringProtoFuncSearch): Ditto. (KJS::stringProtoFuncSlice): Ditto. (KJS::stringProtoFuncSplit): Ditto. (KJS::stringProtoFuncSubstr): Ditto. (KJS::stringProtoFuncSubstring): Ditto. (KJS::stringProtoFuncToLowerCase): Use toThisJSString. (KJS::stringProtoFuncToUpperCase): Ditto. (KJS::stringProtoFuncToLocaleLowerCase): Ditto. (KJS::stringProtoFuncToLocaleUpperCase): Ditto. (KJS::stringProtoFuncLocaleCompare): Ditto. (KJS::stringProtoFuncBig): Use toThisString. (KJS::stringProtoFuncSmall): Ditto. (KJS::stringProtoFuncBlink): Ditto. (KJS::stringProtoFuncBold): Ditto. (KJS::stringProtoFuncFixed): Ditto. (KJS::stringProtoFuncItalics): Ditto. (KJS::stringProtoFuncStrike): Ditto. (KJS::stringProtoFuncSub): Ditto. (KJS::stringProtoFuncSup): Ditto. (KJS::stringProtoFuncFontcolor): Ditto. (KJS::stringProtoFuncFontsize): Ditto. (KJS::stringProtoFuncAnchor): Ditto. (KJS::stringProtoFuncLink): Ditto.
- kjs/string_object.h: Added toString, toThisString, and toThisJSString.
- kjs/ustring.cpp: (KJS::UString::append): Added a version that takes a character pointer and size, so we don't have to create a UString just to append to another UString.
- kjs/ustring.h:
- 7:18 PM Changeset in webkit [34820] by
-
- 2 edits in trunk/WebCore
2008-06-26 Darin Adler <Darin Adler>
Reviewed by Geoff.
- bridge/runtime.h: Added include of JSString.h since jsString will soon change to return a JSString*.
- 7:17 PM Changeset in webkit [34819] by
-
- 3 edits in trunk/JavaScriptGlue
2008-06-26 Darin Adler <Darin Adler>
Reviewed by Geoff.
- JSUtils.cpp: Added include of <JavaScriptCore/JSString.h> since jsString will soon be changed to return a JSString*.
- UserObjectImp.cpp: Ditto.
- 5:08 PM Changeset in webkit [34818] by
-
- 2 edits in trunk/WebCore
2008-06-26 Adele Peterson <adele@apple.com>
Fix suggested by Eric Carlson, added by me, reviewed by Adam.
Fix for <rdar://problem/5733006> <video> and <audio> element should not prompt user for missing files
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie): Set object with key QTMovieAskUnresolvedDataRefsAttribute to NO in the attributes dictionary passed to -[QTMovie initWithAttributes:]
- 5:03 PM Changeset in webkit [34817] by
-
- 2 edits in trunk/WebCore
2008-06-26 Sam Weinig <sam@webkit.org>
Reviewed by John Sullivan.
<rdar://problem/6031969> Crash in SecurityOrigin code going Forward to a page in the back/forward cache
- loader/FrameLoader.cpp: (WebCore::FrameLoader::open): Make sure to update the SecurityOrigin and URL of the DOMWindow when opening a CachedPage.
- 3:54 PM Changeset in webkit [34816] by
-
- 4 edits in trunk
WebKitTools:
2008-06-26 Beth Dakin <Beth Dakin>
Reviewed by Sam.
Do not include AXPosition in the dump of all of the accessibility
attributes since it is screen-specific.
- DumpRenderTree/mac/AccessibilityControllerMac.mm: (AccessibilityController::allAttributesOfFocusedElement):
LayoutTests:
2008-06-26 Beth Dakin <Beth Dakin>
Reviewed by Sam.
Updated results that will pass on all platforms.
- accessibility/document-attributes-expected.txt:
- 3:45 PM Changeset in webkit [34815] by
-
- 5 edits in trunk/WebCore
Reviewed by Beth Dakin.
CSS @import statements can cause DocLoader to use
a dead Frame pointer.
https://bugs.webkit.org/show_bug.cgi?id=19618
The fix is to get rid of the Frame pointer on DocLoader.
I also took this opportunity to clean up Document::detach
a little to make it clear why we clear the m_frame pointer
there, and to note that in the future we should stop
using Node::detach to mean "tear down the whole rendering
tree and detach from the frame".
Test: I don't know how to make a good test for this, the test
we have is network timing dependent and does not make a good
layout test.
- dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::detach): (WebCore::Document::clearFramePointer):
- dom/Document.h:
- loader/DocLoader.cpp: (WebCore::DocLoader::frame):
- loader/DocLoader.h:
- 3:22 PM Changeset in webkit [34814] by
-
- 2 edits in trunk/LayoutTests
2008-06-26 Sam Weinig <sam@webkit.org>
Update result after adding new progress events to XMLHttpRequest.
- fast/dom/xmlhttprequest-get-expected.txt:
- 2:32 PM Changeset in webkit [34813] by
-
- 3 edits in trunk/WebKitTools
2008-06-26 Beth Dakin <Beth Dakin>
Reviewed by Anders.
This is a speculative fix for the failing layout test on the build
bot. It seems that the problem that the Build Bot is having is
Tiger-specific. On Tiger, [NSValue description] was not very smart.
So I replaced our call to description with a hand-rolled equivalent
that will match on both platforms.
- DumpRenderTree/mac/AccessibilityControllerMac.mm: (descriptionOfValue):
- 1:13 PM Changeset in webkit [34812] by
-
- 4 edits2 adds in trunk/WebKit
WebKit:
2008-06-26 Anders Carlsson <andersca@apple.com>
Reviewed by Darin.
Add MainThreadObjectDeallocator to sources.
- WebKit.xcodeproj/project.pbxproj:
WebKit/mac:
2008-06-26 Anders Carlsson <andersca@apple.com>
Reviewed by Darin.
Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
if necessary. Use this for the WebView class.
- WebView/MainThreadObjectDeallocator.h: Added.
- WebView/MainThreadObjectDeallocator.mm: Added. (deallocCallback): (scheduleDeallocateOnMainThread):
- WebView/WebView.mm: (-[WebViewPrivate dealloc]): (+[WebView initialize]):
- 12:07 PM Changeset in webkit [34811] by
-
- 2 edits in trunk/WebCore
2008-06-26 Anders Carlsson <andersca@apple.com>
Reviewed by Brady.
Don't enumerate document.applets trying to determine if a page contains applets.
Instead, set m_containsPlugIns to true when an applet has been created.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::canCachePage): (WebCore::FrameLoader::createJavaAppletWidget):
- 11:59 AM Changeset in webkit [34810] by
-
- 14 edits in trunk
Reviewed by Maciej.
Make JSGlobalData per-thread.
No change on SunSpider total.
- wtf/ThreadSpecific.h: Re-enabled the actual implementation.
- kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::~JSGlobalObject): Re-added a JSLock-related assertion. We'll probably want to preserve these somehow to keep legacy behavior in working condition. (KJS::JSGlobalObject::init): Initialize globalData pointer earlier, so that it is ready when updating JSGlobalObject linked list.
- kjs/JSGlobalObject.h: (KJS::JSGlobalObject::head): Changed head() to be non-static, and to use JSGlobalData associated with the current object.
- kjs/InitializeThreading.cpp: (KJS::initializeThreadingOnce): Removed a no longer needed Heap::registerAsMainThread() call.
- kjs/JSGlobalData.h: Removed a lying lie comment - parserObjectExtraRefCounts is not transient, and while newParserObjects may conceptually be such, there is still some node manipulation going on outside Parser::parse which touches it.
- kjs/JSGlobalData.cpp: (KJS::JSGlobalData::~JSGlobalData): Delete recently added members. (KJS::JSGlobalData::sharedInstance): Actually use a separate instance.
- kjs/collector.cpp: (KJS::Heap::Heap): (KJS::Heap::~Heap): Added a destructor, which unconditionally deletes everything. (KJS::Heap::sweep): Removed code related to "collect on main thread only" logic. (KJS::Heap::collect): Ditto. (KJS::Heap::globalObjectCount): Explicitly use per-thread instance of JSGlobalObject linked list now that JSGlobalObject::head() is not static. Curently, WebCoreStatistics methods only work with the main thread currently anyway. (KJS::Heap::protectedGlobalObjectCount): Ditto.
- kjs/collector.h: Removed code related to "collect on main thread only" logic.
- JavaScriptCore.exp: Removed Heap::collectOnMainThreadOnly.
- 11:37 AM Changeset in webkit [34809] by
-
- 4 edits3 adds in trunk
Reviewed by Darin.
https://bugs.webkit.org/show_bug.cgi?id=19767
REGRESSION: Crash in sort() when visiting http://www.onnyturf.com/subway/
- kjs/JSArray.cpp: (KJS::AVLTreeAbstractorForArrayCompare::set_balance_factor): Made changing balance factor from -1 to +1 work correctly.
- wtf/AVLTree.h: (KJS::AVLTreeDefaultBSet::operator[]): Added an assertion that catches this slightly earlier.
- 10:17 AM Changeset in webkit [34808] by
-
- 3 edits in trunk/WebCore
2008-06-26 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Simon.
[svg] Disable plugins for SVG images
The Qt platform allows to have a plugin factory per Page. Now SVG Images
are using a Page and dummy/empty clients for Chrome. The only way to get
the kit from the WebCore::Page is to go through the ChromeClient but this
is not possible when the ChromeClient is an empty client. This leads to a
crash in PluginDataQt.cpp. One way to avoid this would have been the
addition of a rtti like field to ChromeClient to see if it is an empty
client. The other possibility is to not enable plugins for images.
The SVGImage relies on the fact that the document is a SVGDocument and
that the rootElement is a SVGSVGElement. If plugins are used we could
end up with a PluginDocument and crash badly. Do not try to use plugins
if plugins are disabled for the WebCore::Page.
- 10:17 AM Changeset in webkit [34807] by
-
- 2 edits in trunk/WebCore
2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Simon.
CodingStyle fixes
- 10:17 AM Changeset in webkit [34806] by
-
- 3 edits in trunk/WebCore
2008-06-25 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Simon.
[svg] Make QtWebKit build more of the SVG support
Add the proper defines and files, update SVGResourceFilterQt.cpp
to be enabled by the filter option and not by experimental svg support
- 8:41 AM Changeset in webkit [34805] by
-
- 2 edits in trunk/WebKit/mac
2008-06-25 Anders Carlsson <andersca@apple.com>
Reviewed by Mark.
<rdar://problem/5984270>
REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
- WebView/WebView.mm: (tigerMailReleaseIMP): New method that makes sure that the final release happens on the main thread.
(-[WebView release]):
New method that just calls [super release];
(+[WebView initialize]):
When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
- 6:51 AM BuildingOnWindows edited by
- Feedback on my experience building webkit: missing cygwin packages (diff)