Timeline


and

06/06/08:

23:03 Changeset [34412] by ap@webkit.org

Reviewed by Darin.

Combine per-thread objects into one, to make it easier to support legacy clients (for
which they shouldn't be really per-thread).

No change on SunSpider total.

  • kjs/JSGlobalData.cpp: Added. (KJS::JSGlobalData::JSGlobalData): (KJS::JSGlobalData::~JSGlobalData): (KJS::JSGlobalData::threadInstance):
  • kjs/JSGlobalData.h: Added. This class encapsulates all data that should be per-thread (or shared between legacy clients). It will also keep a Heap pointer, but right now, Heap (Collector) methods are all static.
  • kjs/identifier.h: (KJS::Identifier::Identifier): Added a constructor explicitly taking JSGlobalData to access IdentifierTable. Actually, all of them should, but this will be a separate patch.
  • kjs/identifier.cpp: (KJS::IdentifierTable::literalTable): (KJS::createIdentifierTable): (KJS::deleteIdentifierTable): (KJS::Identifier::add): (KJS::Identifier::addSlowCase): Combined IdentifierTable and LiteralIdentifierTable into a single class for simplicity.
  • kjs/grammar.y: kjsyyparse now takes JSGlobalData, not just a Lexer.
  • kjs/nodes.cpp: (KJS::Node::Node): (KJS::EvalFunctionCallNode::emitCode): (KJS::ScopeNode::ScopeNode): Changed to access Lexer and Parser via JSGlobalData::threadInstance(). This is also a temporary measure, they will need to use JSGlobalData explicitly.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::callEval):
  • kjs/CommonIdentifiers.cpp: (KJS::CommonIdentifiers::CommonIdentifiers):
  • kjs/CommonIdentifiers.h:
  • kjs/DebuggerCallFrame.cpp: (KJS::DebuggerCallFrame::evaluate):
  • kjs/ExecState.cpp: (KJS::ExecState::ExecState):
  • kjs/ExecState.h: (KJS::ExecState::globalData): (KJS::ExecState::identifierTable): (KJS::ExecState::propertyNames): (KJS::ExecState::emptyList): (KJS::ExecState::lexer): (KJS::ExecState::parser): (KJS::ExecState::arrayTable): (KJS::ExecState::dateTable): (KJS::ExecState::mathTable): (KJS::ExecState::numberTable): (KJS::ExecState::RegExpImpTable): (KJS::ExecState::RegExpObjectImpTable): (KJS::ExecState::stringTable):
  • kjs/InitializeThreading.cpp: (KJS::initializeThreadingOnce):
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::init):
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): (KJS::JSGlobalObject::head): (KJS::JSGlobalObject::globalData):
  • kjs/Parser.cpp: (KJS::Parser::parse):
  • kjs/Parser.h:
  • kjs/function.cpp: (KJS::FunctionImp::getParameterName): (KJS::IndexToNameMap::unMap): (KJS::globalFuncEval):
  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct):
  • kjs/interpreter.cpp: (KJS::Interpreter::checkSyntax): (KJS::Interpreter::evaluate):
  • kjs/lexer.cpp: (kjsyylex):
  • kjs/lexer.h:
  • kjs/testkjs.cpp: (prettyPrintScript): Updated for the above changes. Most of threadInstance uses here will need to be replaced with explicitly passed pointers to support legacy JSC clients.
21:51 Changeset [34411] by cwzwarich@webkit.org

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

Reviewed by Oliver.

Bug 19424: Add support for logging opcode pair counts
<https://bugs.webkit.org/show_bug.cgi?id=19424>

JavaScriptCore:

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.cpp: (KJS::OpcodeStats::OpcodeStats): (KJS::compareOpcodeIndices): (KJS::compareOpcodePairIndices): (KJS::OpcodeStats::~OpcodeStats): (KJS::OpcodeStats::recordInstruction): (KJS::OpcodeStats::resetLastInstruction):
  • VM/Opcode.h:
19:11 Changeset [34410] by jchaffraix@webkit.org

WebCore:

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

Reviewed by Eric.

Part of bug 19200: *.in files should embed more information
https://bugs.webkit.org/show_bug.cgi?id=19200

  • Switched *.in files to XML format.
  • Added (simple) parsing facilities in make_names.pl using the XML::Tiny Perl parser.
  • Updated the build systems to include bindings/scripts when executing make_names.pl (for XMLTiny dependency).
  • Cleaned-up make_names.pl a little.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • bindings/scripts/XMLTiny.pm: Added.
  • dom/make_names.pl:
  • html/HTMLAttributeNames.in:
  • html/HTMLTagNames.in:
  • svg/svgattrs.in:
  • svg/svgtags.in:
  • svg/xlinkattrs.in:
  • xml/xmlattrs.in:
15:51 Changeset [34409] by mrowe@apple.com

2008-06-06 Robert Blaut <webkit@blaut.biz>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=19407
CSS3 Selector Test: *= ~= = $= should all accept the empty string, but match nothing

Test: fast/css/begin-end-contain-selector-empty-value.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):

2008-06-06 Robert Blaut <webkit@blaut.biz>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=19407
CSS3 Selector Test: *= ~= = $= should all accept the empty string, but match nothing.

  • fast/css/begin-end-contain-selector-empty-value.html: Added.
  • platform/mac/fast/css/begin-end-contain-selector-empty-value-expected.txt: Added.
15:09 Changeset [34408] by eric@webkit.org

Reviewed by mitz.

More cleanup of CSSParser.
Rename CSSParser::numParsedProperties and maxNumParsedProperites to m_*

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::addProperty): (WebCore::CSSParser::rollbackLastProperties): (WebCore::CSSParser::clearProperties): (WebCore::CSSParser::parse4Values): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule):
  • css/CSSParser.h:
  • css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue):
15:03 Changeset [34407] by eric@webkit.org

Reviewed by mitz.

More cleanup of CSSParser.
Rename CSSParser::parsedProperties to m_parsedProperties.

  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::~CSSParser): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseDeclaration): (WebCore::CSSParser::addProperty): (WebCore::CSSParser::rollbackLastProperties): (WebCore::CSSParser::clearProperties): (WebCore::CSSParser::parse4Values): (WebCore::CSSParser::createStyleRule): (WebCore::CSSParser::createFontFaceRule):
  • css/CSSParser.h:
  • css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue):
14:49 Changeset [34406] by eric@webkit.org

Reviewed by mitz.

Start the cleanup of CSSParser.
Rename CSSParser::styleElement to CSSParser::m_styleElement

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::document): (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseContent): (WebCore::CSSParser::parseFillImage): (WebCore::CSSParser::parseFontFaceSrc): (WebCore::CSSParser::parseBorderImage): (WebCore::CSSParser::createCharsetRule): (WebCore::CSSParser::createImportRule): (WebCore::CSSParser::createMediaRule): (WebCore::CSSParser::createStyleRule):
  • css/CSSParser.h:
14:07 Changeset [34405] by eric@webkit.org

Reviewed by adele. Landed by eseidel.

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

Calls listBoxOnChange() in typeAheadFind() when the <select> tag is a listBox.

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::typeAheadFind):
13:39 Changeset [34404] by justin.garcia@apple.com

WebCore:

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

Reviewed by John.

<rdar://problem/5890684> REGRESSION(r23969): Deleting a line break changes the style of text after the break


Serialization of font-family:-webkit-monospace when it came from a
CSSMutableStyleDeclaration would wrap the value in single quotes but
serialization of the same property value pair from a CSSComputedStyleDeclaration
wouldn't, which kept code that checked for and removed non-redundant styles from
style spans from working correctly.

A redundant style left on a style span would not normally create a rendering
difference, but it did in this case because an element with
font-family:-webkit-monospace does not appear to inherit font-size.
Added a FIXME about how we might need to keep font-size on a style span if its
non-redundant styles include font-family:-webkit-monospace, although I couldn't
create a test case to produce this scenario.

  • css/FontFamilyValue.cpp: (WebCore::isValidCSSIdentifier): Don't return false if the String starts with a '-'. This function now appears identical to isCSSTokenizerIdentifier, so perhaps we should use a single function.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::handleStyleSpans): Added FIXME. Removed the creation of two Strings that were never used.

LayoutTests:

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

Reviewed by John.

<rdar://problem/5890684> REGRESSION(r23969): Deleting a line break changes the style of text after the break


  • editing/deleting/5890684-expected.txt: Added.
  • editing/deleting/5890684.html: Added.
10:06 Changeset [34403] by justin.garcia@apple.com

WebCore:

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

Reviewed by Darin.

<https://bugs.webkit.org/show_bug.cgi?id=19087>
Editing crash in IndentOutdentCommand::prepareBlockquoteLevelForInsertion, ASSERT in debug mode

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): applyStyle can destroy insertedPlaceholder if it needs to move it, but it will set an endingSelection() at [movedPlaceholder, 0] if it does so. Re-fetch insertedPlaceholder if that happens. The long term solution for these crashes is to make moveParagraphs not copy/destroy/move content, and to make VisiblePositions update themselves on DOM mutations.
  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): Early return to avoid crashes like this in the future, but ASSERT to catch them in debug builds.

LayoutTests:

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

Reviewed by Darin.

<https://bugs.webkit.org/show_bug.cgi?id=19087>
Editing crash in IndentOutdentCommand::prepareBlockquoteLevelForInsertion, ASSERT in debug mode


  • editing/execCommand/19087-expected.txt: Added.
  • editing/execCommand/19087.html: Added.
10:01 WikiStart edited by iain@openedhand.com
Added a link to the Clutter page (diff)
09:58 clutter created by iain@openedhand.com
09:48 Changeset [34402] by kmccullough@apple.com

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

Reviewed by Adam.

<rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
profiler.

  • Change the remaining functions that do not take arguments, from using recursion to using iteration.
  • JavaScriptCore.exp:
  • profiler/Profile.cpp: (KJS::stopProfiling): (KJS::restoreAll): (KJS::Profile::stopProfiling): Use foreach instead of recursion. (KJS::Profile::restoreAll): Ditto.
  • profiler/Profile.h:
  • profiler/ProfileNode.cpp: Remove recursion. (KJS::ProfileNode::stopProfiling): (KJS::ProfileNode::restore):
  • profiler/ProfileNode.h:
07:48 Changeset [34401] by jchaffraix@webkit.org

LayoutTests:

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

Reviewed by Alexey.

xmlhttprequest-onProgress-open-should-zero-length.html supposes that the onprogress event
is dispatched 3 times to test that the position is reset when XMLHttpRequest.open() is
called.
The test was failing because CoreFoundation keeps the data if they are not big enough
(which led to only 1 progress event dispatched).

We now generate a big response instead of a small one.

Warning: this test is not guaranteed to succeed as we cannot guarantee that the server

will send responses' sizes that are close for 2 different requests to the same
resource.

  • http/tests/xmlhttprequest/resources/big-response.php: Added.
  • http/tests/xmlhttprequest/resources/five-tiny-chunk-one-second-delay.php: Removed.
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length-expected.txt: Added a warning about the possible failure of the test.
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html: Ditto.

06/05/08:

22:09 Changeset [34400] by oliver@apple.com

Fix Greater and GreaterEq nodes to emit code in the correct order.

Reviewed by Alexey.

21:44 Changeset [34399] by justin.garcia@apple.com

WebCore:

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

Reviewed by Eric.

<https://bugs.webkit.org/show_bug.cgi?id=19403>
ASSERT in InsertIntoTextNodeCommand::InsertIntoTextNodeCommand during RemoveFormat call

  • editing/RemoveFormatCommand.cpp: (WebCore::RemoveFormatCommand::doApply): If the selection was all formatting (like an empty list) the format-less text will be empty. Early return to avoid the ASSERT that fires if input(...) is called with an empty String.

LayoutTests:

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

Reviewed by Eric.


<https://bugs.webkit.org/show_bug.cgi?id=19403>
ASSERT in InsertIntoTextNodeCommand::InsertIntoTextNodeCommand during RemoveFormat call


  • editing/execCommand/19403-expected.txt: Added.
  • editing/execCommand/19403.html: Added.
18:43 Changeset [34398] by alp@webkit.org

2008-06-05 Alp Toker <alp@nuanti.com>

Add 'Since' documentation for API versioning functions.

  • webkit/webkitversion.cpp:
18:09 Changeset [34397] by alp@webkit.org

2008-06-05 Alp Toker <alp@nuanti.com>

Build fix for r34387.

  • GNUmakefile.am:
18:00 Changeset [34396] by antti@apple.com

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Alp Toker.


Fix whitespaces.

  • kjs/collector.cpp: (KJS::getPlatformThreadRegisters):
17:50 Changeset [34395] by antti@apple.com

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Darin.


Support compiling JavaScriptCore for ARM.

  • kjs/collector.cpp: (KJS::getPlatformThreadRegisters): (KJS::otherThreadStackPointer):
17:49 Changeset [34394] by antti@apple.com

Oops, accidentally commited ChangeLog only.

17:47 Changeset [34393] by antti@apple.com

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Darin.


Support compiling JavaScriptCore for ARM.

  • kjs/collector.cpp: (KJS::getPlatformThreadRegisters): (KJS::otherThreadStackPointer):
17:33 Changeset [34392] by kmccullough@apple.com

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

Reviewed by Jon.

  • Name changes.
  • JavaScriptCore.exp:
  • profiler/Profile.cpp: (KJS::Profile::Profile): (KJS::Profile::stopProfiling): (KJS::Profile::didExecute): (KJS::Profile::forEach): (KJS::Profile::debugPrintData): (KJS::Profile::debugPrintDataSampleStyle):
  • profiler/Profile.h: (KJS::Profile::callTree): (KJS::Profile::totalTime): (KJS::Profile::sortTotalTimeDescending): (KJS::Profile::sortTotalTimeAscending): (KJS::Profile::sortSelfTimeDescending): (KJS::Profile::sortSelfTimeAscending): (KJS::Profile::sortCallsDescending): (KJS::Profile::sortCallsAscending): (KJS::Profile::sortFunctionNameDescending): (KJS::Profile::sortFunctionNameAscending): (KJS::Profile::focus): (KJS::Profile::exclude): (KJS::Profile::restoreAll):
17:28 Changeset [34391] by ggaren@apple.com

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

Reviewed by Stephanie Lewis.

Added the -fno-move-loop-invariants flag to the pcre_exec.cpp build, to
tell GCC not to perform loop invariant motion, since GCC's loop
invariant motion doesn't do very well with computed goto code.


SunSpider reports no change.

17:20 Changeset [34390] by justin.garcia@apple.com

WebCore:

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

Reviewed by Eric.

<https://bugs.webkit.org/show_bug.cgi?id=19089> Editing ASSERT in Range::compareBoundaryPoints


ApplyStyleCommand::applyInlineStyle does some work and then checks to see
if the start offset of the Range it's operating on is now past the caretMaxOffset
of the start container. If it is, applyInlineStyle updates the position to
[startContainer->traverseNextNode(), 0] and then operates on that new start
position.


caretMaxOffset was incorrect for horizontal rules. It should be 1 and it was 0. So,
if the horizontal rule was the last node in the document, applyInlineStyle would update
its start position to [0, 0] and then try to operate on that position, assuming it was
non-null, leading to the ASSERT.


  • rendering/RenderObject.cpp: (WebCore::RenderObject::caretMaxOffset):

LayoutTests:

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

Reviewed by Eric.


<https://bugs.webkit.org/show_bug.cgi?id=19089> Editing ASSERT in Range::compareBoundaryPoints

  • editing/execCommand/19089-expected.txt: Added.
  • editing/execCommand/19089.html: Added.
16:19 Changeset [34389] by cfleizach@apple.com

<rdar://problem/5947396> AccessibilityListBoxOptions should return their string as AXValue, not AXTitle

16:13 Changeset [34388] by ggaren@apple.com

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

Reviewed by Stephanie Lewis.


Added the -fno-tree-pre flag to the Machine.cpp build, to tell GCC not
to perform Partial Redundancy Elimination (PRE) on trees in Machine.cpp,
since GCC's PRE doesn't do very well with computed goto code.


SunSpider reports a .7% speedup.

15:50 Changeset [34387] by christian@webkit.org

Please add a version to the Gtk port
https://bugs.webkit.org/show_bug.cgi?id=14141

Reviewed by Alp Toker.

15:40 Changeset [34386] by ggaren@apple.com

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

Reviewed by Stephanie Lewis (or maybe the other way around).


Minor change to PCRE to help out certain compilers.


SunSpider reports no change, maybe a small speedup.

  • pcre/pcre_exec.cpp: (match): Use instructionPtr++ a little less, to avoid confusing the optimizer.
15:34 Changeset [34385] by justin.garcia@apple.com

WebCore:

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

Reviewed by Harrison.

<rdar://problem/5658933> GoogleDocs: Crash indenting a particular selection twice
<rdar://problem/5831310> CrashTracer: [USER] 4 crashes in Mail at WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion
<rdar://problem/5480141> GoogleDocs: Attempting to indent content in <td> closes <table> element


A crash would occur when indenting a selection that started just before a table
and ended inside that table. With a selection like this, we'd indent the entire
table, then try and indent paragraphs inside it, but the stored position for the
next paragraph to indent was inside content that had been removed from the document
during the first Indent.


Fixed the crash adjusting the selection to perform the indent on to prepare it
for paragraph iteration using selectionForParagraphIteration. We do this adjustment
for paragraph iteration in InsertList as well.


Also, indenting paragraphs inside table cells would break table structure because
we were splitting the DOM all the way up to the root editable element to insert
a blockquote. Fixed this by only splitting up to the enclosing table cell. This
matches FF. Lastly, fixed a bug where indenting several paragraphs inside different
table cells would move all the selected text into the same table cell. FF still has
this bug.

  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion):

LayoutTests:

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

Reviewed by Harrison.


<rdar://problem/5658933> GoogleDocs: Crash indenting a particular selection twice

  • editing/execCommand/5658933-1-expected.txt: Added.
  • editing/execCommand/5658933-1.html: Added.
  • editing/execCommand/5658933-2-expected.txt: Added.
  • editing/execCommand/5658933-2.html: Added.
  • editing/execCommand/5658933-3-expected.txt: Added.
  • editing/execCommand/5658933-3.html: Added.
15:17 Changeset [34384] by cfleizach@apple.com

<rdar://problem/5979998> AXList controls should have AXSelectedChildren and its children's AXSelected attribute writable

15:01 Changeset [34383] by eric@webkit.org

Reviewed by mjs.

Get rid of Uninitialized Memory Reads (UMRs) in the XPath::Value copy constructor.

No functional changes, thus no tests.

  • xml/XPathValue.h: (WebCore::XPath::Value::Value): initialize all values in each constructor
13:51 Changeset [34382] by hyatt@apple.com

2008-06-04 David Hyatt <hyatt@apple.com>

Fix for <rdar://problem/5957994> Height doesn't animate

Improve the behavior when transitions are dynamically changed. Make sure to leave older transitions
running and let them obsolete themselves when they finish.

Reviewed by Dan Bernstein

Added WebCore/manual-tests/transitions2.html (must be tested manually)

  • manual-tests/transitions.html:
  • manual-tests/transitions2.html: Added.
  • page/AnimationController.cpp: (WebCore::ImplicitAnimation::property): (WebCore::ImplicitAnimation::setFinished): (WebCore::ImplicitAnimation::markedForDeath): (WebCore::ImplicitAnimation::setMarkedForDeath): (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::ImplicitAnimation::reset): (WebCore::ImplicitAnimation::animate): (WebCore::CompositeImplicitAnimation::animate):
13:33 Changeset [34381] by eric@webkit.org

Reviewed by hyatt.

No functional changes, thus no tests.

  • platform/graphics/Color.h: remove unnecessary bitfield use
13:03 Changeset [34380] by ap@webkit.org

Re-landing an independent part of a previously rolled out threading patch.

  • wtf/ThreadSpecific.h: Make sure to initialize POD thread-specific varaibles, too (replaced "new T" with "new T()").
12:56 Changeset [34379] by antti@apple.com

WebCore:

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Dave Hyatt.


Make hasFeature() return true for the animation stuff.

  • dom/DOMImplementation.cpp: (WebCore::isSVG11Feature):

LayoutTests:

2008-06-05 Antti Koivisto <antti@apple.com>

Reviewed by Dave Hyatt.


Make hasFeature() return true for the animation stuff.

  • svg/custom/svg-features-expected.txt:
10:54 Changeset [34378] by mjs@apple.com

2008-06-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Hyatt.


  • force inlining of a template function that only has one call site per specialization 1.3% speedup on SunSpider
  • kjs/collector.cpp: (KJS::Collector::heapAllocate): This template function is only called from allocate() and allocateNumber() (once per specialization) and the extra call overhead for GC allocation shows up, so force inlining.
09:55 Changeset [34377] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

Test: fast/transforms/shadows.html

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setPlatformShadow): In Core Graphics, shadow dimensions are always in device space. Account for that, and apply the current context transform to shadow offset, and multiply the blur radius by the inverse of the operator norm of the inverse transform (which is the radius of the circle inscribed in the transformed unit circle).
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintBoxShadow): Added 1px separation between the edge of the filled shape and the edge of the clipped-out shape, because in a transformed context, due to antialiasing, the fill can bleed into the clip if they touch.

LayoutTests:

Reviewed by Darin Adler.

  • fast/transforms/shadows.html: Added.
  • platform/mac/fast/transforms/shadows-expected.checksum: Added.
  • platform/mac/fast/transforms/shadows-expected.png: Added.
  • platform/mac/fast/transforms/shadows-expected.txt: Added.
04:45 Changeset [34376] by hausmann@webkit.org

2008-06-05 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Update layout tests on Mac based on the changes to html4.css
in r34299. The missing backgroundClip and outlineClip in the
new results is strange, but visually it looks the same.

03:36 Changeset [34375] by hausmann@webkit.org

2008-06-05 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Prevent cycles when converting from DOM objects to
QVariant, due to cycles in the DOM tree.

03:30 Changeset [34374] by mjs@apple.com

2008-06-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Alexey and Oliver.


  • remove profiler fetch hack I measure an 0.5% progression from this, others show a wash. It seems not needed any more.
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
02:19 Changeset [34373] by cwzwarich@webkit.org

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

Reviewed by Maciej.

Bug 19400: subscript operator does not protect base when necessary
<https://bugs.webkit.org/show_bug.cgi?id=19400>

Use a temporary for the base in BracketAccessorNode if the subscript
might possibly modify it.

JavaScriptCore:

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::BracketAccessorNode::emitCode):
  • kjs/nodes.h: (KJS::BracketAccessorNode::):

LayoutTests:

  • fast/js/codegen-temporaries-expected.txt:
  • fast/js/resources/codegen-temporaries.js:

06/04/08:

22:36 Changeset [34372] by weinig@apple.com

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

Reviewed by Maciej Stachowiak.

Big cleanup of formatting and whitespace.

21:39 Changeset [34371] by cwzwarich@webkit.org

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

Reviewed by Oliver.

Add an option to dump statistics on executed instructions.

JavaScriptCore:

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.cpp: (KJS::): (KJS::OpcodeStats::~OpcodeStats): (KJS::OpcodeStats::recordInstruction):
  • VM/Opcode.h:

WebKitTools:

  • Scripts/check-for-global-initializers:
18:03 Changeset [34370] by andersca@apple.com

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

Reviewed by Mitz.

Get rid of DeprecatedPtrList from StyleSheetList.


  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector):
  • css/StyleSheetList.cpp: (WebCore::StyleSheetList::~StyleSheetList): (WebCore::StyleSheetList::length): (WebCore::StyleSheetList::item):
  • css/StyleSheetList.h: (WebCore::StyleSheetList::swap):
  • dom/Document.cpp: (WebCore::Document::recalcStyleSelector):
17:31 Changeset [34369] by andersca@apple.com

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

Reviewed by Darin.

Convert more classes over to start out with a ref count of 1.


  • css/CSSImageGeneratorValue.cpp: (WebCore::CSSImageGeneratorValue::generatedImage):
  • css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage):
  • css/CSSMediaRule.cpp: (WebCore::CSSMediaRule::CSSMediaRule):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseFillSize): (WebCore::CSSParser::parseCounter): (WebCore::CSSParser::createRuleList):
  • css/CSSRuleList.cpp: (WebCore::CSSRuleList::CSSRuleList):
  • css/CSSRuleList.h: (WebCore::CSSRuleList::create):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): (WebCore::CSSStyleSelector::styleRulesForElement):
  • css/CSSStyleSelector.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules): (WebCore::CSSStyleSheet::addSubresourceURLStrings):
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::rules):
  • css/Pair.h: (WebCore::Pair::create): (WebCore::Pair::Pair):
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::buffered): (WebCore::HTMLMediaElement::played): (WebCore::HTMLMediaElement::seekable):
  • html/TimeRanges.cpp: (TimeRanges::TimeRanges):
  • html/TimeRanges.h: (WebCore::TimeRanges::create): (WebCore::TimeRanges::TimeRanges):
  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::addCursor): (WebCore::RenderStyle::clearCursorList):
  • rendering/style/RenderStyle.h: (WebCore::StyleImage::~StyleImage): (WebCore::StyleImage::StyleImage): (WebCore::StyleCachedImage::create): (WebCore::StyleCachedImage::StyleCachedImage): (WebCore::StyleGeneratedImage::create): (WebCore::StyleGeneratedImage::StyleGeneratedImage): (WebCore::CursorList::create): (WebCore::CursorList::CursorList):
16:45 Changeset [34368] by cfleizach@apple.com

<rdar://problem/5983804> Editable web areas do not properly report the AXFocused attribute

15:04 Changeset [34367] by bdakin@apple.com

2008-06-03 Beth Dakin <bdakin@apple.com>

Reviewed by Adele.

Fix for https://bugs.webkit.org/show_bug.cgi?id=19381 WebKit
Crashing Constantly on Gmail with accessibility turned on

There was a missing null-check!

  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::roleValue):
14:12 Changeset [34366] by andersca@apple.com

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

Reviewed by Sam.

Convert more classes to start with a ref count of 1.


  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::toVoidCallback):
  • bindings/js/JSCustomVoidCallback.h: (WebCore::JSCustomVoidCallback::create):
  • css/StyleSheetList.cpp: (WebCore::StyleSheetList::StyleSheetList):
  • css/StyleSheetList.h: (WebCore::StyleSheetList::create):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::createNodeIterator): (WebCore::Document::createTreeWalker):
  • dom/NodeIterator.h: (WebCore::NodeIterator::create):
  • dom/Traversal.cpp: (WebCore::Traversal::Traversal):
  • dom/Traversal.h:
  • dom/TreeWalker.h: (WebCore::TreeWalker::create):
  • history/CachedPage.cpp: (WebCore::CachedPage::create): (WebCore::CachedPage::CachedPage):
  • html/CanvasGradient.cpp: (WebCore::CanvasGradient::CanvasGradient):
  • html/CanvasGradient.h: (WebCore::CanvasGradient::create):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): (WebCore::CanvasRenderingContext2D::createLinearGradient): (WebCore::CanvasRenderingContext2D::createRadialGradient):
  • html/CanvasRenderingContext2D.h: (WebCore::CanvasRenderingContext2D::create):
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext):
  • html/VoidCallback.h: (WebCore::VoidCallback::VoidCallback):
  • loader/FormState.cpp: (WebCore::FormState::create): (WebCore::FormState::FormState):
  • platform/text/RegularExpression.cpp: (WebCore::RegularExpression::Private::create): (WebCore::RegularExpression::Private::Private): (WebCore::RegularExpression::RegularExpression):
  • storage/SQLResultSet.cpp: (WebCore::SQLResultSet::SQLResultSet):
  • storage/SQLResultSetRowList.h: (WebCore::SQLResultSetRowList::create): (WebCore::SQLResultSetRowList::SQLResultSetRowList):
13:47 Changeset [34365] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5962118> Crash in RenderBlock::calcColumnWidth()

Test: fast/multicol/gap-non-negative.html

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5962118> Crash in RenderBlock::calcColumnWidth()
  • fast/multicol/gap-non-negative-expected.txt: Added.
  • fast/multicol/gap-non-negative.html: Added.
13:45 Changeset [34364] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5962270> Crash in WebCore::RenderTableCell::computeAbsoluteRepaintRect()

Test: fast/reflections/table-cell.html

  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::computeAbsoluteRepaintRect): Null-check parent(). (WebCore::RenderTableCell::absolutePosition): Ditto.

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5962270> Crash in WebCore::RenderTableCell::computeAbsoluteRepaintRect()
  • fast/reflections/table-cell.html: Added.
  • platform/mac/fast/reflections/table-cell-expected.checksum: Added.
  • platform/mac/fast/reflections/table-cell-expected.png: Added.
  • platform/mac/fast/reflections/table-cell-expected.txt: Added.
13:00 Changeset [34363] by dino@apple.com

Added index.html files to specification directories so
things are easier to find.

11:53 Changeset [34362] by kmccullough@apple.com

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

Reviewed by Geoff.

<rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
profiler.

  • This patch removes the use of recursion for the sort functions.
  • JavaScriptCore.exp: Change the signatures of the functions being exported.
  • profiler/Profile.cpp: (KJS::Profile::sort): This generic function will accept any of the static sort functions and apply them to the whole tree.
  • profiler/Profile.h: All of the sorting functions now call the new sort() function. (KJS::Profile::sortTotalTimeDescending): (KJS::Profile::sortTotalTimeAscending): (KJS::Profile::sortSelfTimeDescending): (KJS::Profile::sortSelfTimeAscending): (KJS::Profile::sortCallsDescending): (KJS::Profile::sortCallsAscending): (KJS::Profile::sortFunctionNameDescending): (KJS::Profile::sortFunctionNameAscending):
  • profiler/ProfileNode.cpp: (KJS::ProfileNode::ProfileNode): m_head used to point to the head node if this was the head node. It now points to null to make iteration easy (KJS::ProfileNode::willExecute): Now must check if m_head is null, this check used to happend in the constructor. (KJS::ProfileNode::stopProfiling): Again the check is slightly different to determine if this is the head. (KJS::ProfileNode::traverseNextNode): This function returns the next node in post order. (KJS::ProfileNode::sort): This generic function will sort according to the comparator passed in, then reset the children pointers to macth the new order.
  • profiler/ProfileNode.h: The sorting function were removed from the definition file and instead use the new generic sort() function (KJS::ProfileNode::totalPercent): because the head can now be empty we need to check here too for the head node. (KJS::ProfileNode::selfPercent): Ditto (KJS::ProfileNode::firstChild): This function is necessary for the iterative algorithm in Profile.cpp. (KJS::ProfileNode::sortTotalTimeDescending): (KJS::ProfileNode::sortTotalTimeAscending): (KJS::ProfileNode::sortSelfTimeDescending): (KJS::ProfileNode::sortSelfTimeAscending): (KJS::ProfileNode::sortCallsDescending): (KJS::ProfileNode::sortCallsAscending): (KJS::ProfileNode::sortFunctionNameDescending): (KJS::ProfileNode::sortFunctionNameAscending): (KJS::ProfileNode::childrenBegin): (KJS::ProfileNode::childrenEnd): (KJS::ProfileNode::totalTimeDescendingComparator): (KJS::ProfileNode::totalTimeAscendingComparator): (KJS::ProfileNode::selfTimeDescendingComparator): (KJS::ProfileNode::selfTimeAscendingComparator): (KJS::ProfileNode::callsDescendingComparator): (KJS::ProfileNode::callsAscendingComparator): (KJS::ProfileNode::functionNameDescendingComparator): (KJS::ProfileNode::functionNameAscendingComparator):
11:10 Changeset [34361] by ap@webkit.org

Reviewed by Darin.

Fix JSClassCreate to work with old JSCore API threading model.

No change on SunSpider.

  • API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass): Since JSClass is constructed without a context, there is no way for it to create Identifiers. Also, added initializeThreading(), just for good measure.
  • API/JSCallbackObjectFunctions.h: (KJS::::getPropertyNames): Make an Identifier out of the string here, because propertyNames.add() needs that.
  • kjs/identifier.cpp:
  • kjs/identifier.h: (KJS::Identifier::equal):
  • kjs/ustring.cpp: (KJS::equal): Moved equal() from identifier.h to ustring.h, because it's not really about Identifiers, and to make it possible to use it from StrHash. Include StrHash.h from ustring.h to avoid having the behavior depend on headers that happen to be included.
  • wtf/StrHash.h: Removed.
  • kjs/ustring.h: Made RefPtr<UString::Rep> use the same default hash as UString::Rep* (it used to default to pointer equality). Moved the whole StrHash header into ustring.h.
  • JavaScriptCore.exp: Export equal() for WebCore use (this StrHash is used in c_class.cpp, jni_class.cpp, and npruntime.cpp).
09:29 Changeset [34360] by ap@webkit.org

Rubber-stamped by Darin.

Fix spacing in collector.{h,cpp}.

  • kjs/collector.cpp:
  • kjs/collector.h:
06:40 Changeset [34359] by hausmann@webkit.org

2008-06-04 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Fix a failing assertion when calling QWebFrame::evaluateJavaScript.

The starting line number has to be 1 instead of 0.

06/03/08:

19:57 Changeset [34358] by antti@apple.com

WebCore:

2008-06-03 Antti Koivisto <antti@apple.com>

Reviewed by Darin.


https://bugs.webkit.org/show_bug.cgi?id=19384
Implement path morphing for SVG animation


You can animate smoothly between paths that have equal number of control points of matching type.

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

  • svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::determinePropertyType): (WebCore::SVGAnimateElement::calculateAnimatedValue): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::resetToBaseValue): (WebCore::SVGAnimateElement::applyResultsToTarget):
  • svg/SVGAnimateElement.h: (WebCore::SVGAnimateElement::):
  • svg/SVGPathSegList.cpp: (WebCore::blendFunc): (WebCore::SVGPathSegList::createAnimated):
  • svg/SVGPathSegList.h:

LayoutTests:

2008-06-03 Antti Koivisto <antti@apple.com>

Reviewed by Darin.


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


Test for path morphing.

  • platform/mac/svg/custom/animate-path-morphing-expected.txt: Added.
  • svg/custom/animate-path-morphing.svg: Added.
19:09 Changeset [34357] by darin@apple.com

2008-06-03 Darin Adler <darin@apple.com>

  • try to fix the Qt build
  • bridge/qt/qt_runtime.cpp: (KJS::Bindings::QtRuntimeMetaMethod::lengthGetter): Remove the originalObject argument. (KJS::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto. (KJS::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto. (KJS::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto. (KJS::Bindings::QtConnectionObject::execute): Use callAsFunction.
  • bridge/qt/qt_runtime.h: More of the same.
18:03 Changeset [34356] by cwzwarich@webkit.org

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

Reviewed by Maciej.

Build fix. The cleanup in r34355 missed a method.

  • kjs/nodes.cpp:
  • kjs/nodes.h:
17:40 Changeset [34355] by darin@apple.com

JavaScriptCore:

2008-06-03 Darin Adler <darin@apple.com>

Reviewed by Geoff.

Makes standalone SunSpider 1.025x as fast as before.

The getOwnPropertySlot virtual function now takes care of the toObject call
for get. Similarly, the put function (and later deleteProperty) does the
same for those operations. To do this, the virtual functions were moved from
the JSObject class to the JSCell class. Also, since the caller no longer knows
the identity of the "original object", which is used by JavaScript-function
based getters, changed the PropertySlot class so the original object is
already stored in the slot when getOwnPropertySlot is called, if the caller
intends to call getValue.

This affected the old interpreter code enough that the easiest thing for me
was to just delete it. While I am not certain the mysterious slowdown is not
still occurring, the net change is definitely a significant speedup.

  • VM/Machine.cpp: Moved the UNLIKELY macro into AlwaysInline.h. (KJS::resolve): Set up the originalObject in the PropertySlot before calling getPropertySlot. Also removed the originalObject argument from getValue. (KJS::resolve_skip): Ditto. (KJS::resolveBaseAndProperty): Ditto. (KJS::resolveBaseAndFunc): Ditto. (KJS::Machine::privateExecute): Removed the toObject calls from the get and put functions where possible, instead calling directly with JSValue and letting the JSValue and JSCell calls handle toObject. Same for toThisObject.
  • kjs/ExecState.h: Removed OldInterpreterExecState.
  • API/JSBase.cpp: Updated includes.
  • kjs/LocalStorageEntry.h: Removed contents. Later we can remove the file too.
  • kjs/array_instance.cpp: (KJS::ArrayInstance::lengthGetter): Removed originalObject argumet. (KJS::ArrayInstance::inlineGetOwnPropertySlot): Don't pass a base value to setValueSlot. Also use UNLIKELY around the "getting elements past the end of the array" code path; less common than successfully getting an element.
  • kjs/array_object.cpp: (KJS::getProperty): Initialize the PropertySlot with the original object. Don't pass the original object to the get function. (KJS::arrayProtoFuncFilter): Ditto. (KJS::arrayProtoFuncMap): Ditto. (KJS::arrayProtoFuncEvery): Ditto. (KJS::arrayProtoFuncForEach): Ditto. (KJS::arrayProtoFuncSome): Ditto.
  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct): Removed an obsolete comment.
  • kjs/grammar.y: Eliminated support for some of the node types that were used to optimize executing from the syntax tree.
  • kjs/internal.cpp: (KJS::StringImp::toThisObject): Added. Same as toObject. (KJS::NumberImp::toThisObject): Ditto. (KJS::GetterSetterImp::getOwnPropertySlot): Added. Not reached. (KJS::GetterSetterImp::put): Ditto. (KJS::GetterSetterImp::toThisObject): Ditto.
  • kjs/internal.h: Added toThisObject to NumberImp for speed.
  • kjs/lexer.cpp: (KJS::Lexer::shift): Changed shift to just do a single character, to unroll the loop and especially to make the one character case faster. (KJS::Lexer::setCode): Call shift multiple times instead of passing a number. (KJS::Lexer::lex): Ditto. (KJS::Lexer::matchPunctuator): Ditto. Also removed unneeded elses after returns. (KJS::Lexer::scanRegExp): Ditto.
  • kjs/lexer.h: Removed the count argument from shift.
  • kjs/math_object.cpp: (KJS::mathProtoFuncPow): Call jsNaN instead of jsNumber(NaN).
  • kjs/nodes.cpp: Removed some of the things needed only for the pre-SquirrelFish execution model. (KJS::ForNode::emitCode): Handle cases where some expressions are missing by not emitting any code at all. The old way was to emit code for "true", but this is an unnecessary remnant of the old way of doing things.
  • kjs/nodes.h: Removed some of the things needed only for the pre-SquirrelFish execution model.
  • kjs/object.cpp: (KJS::JSObject::fillGetterPropertySlot): Changed to only pass in the getter function. The old code passed in a base, but it was never used when actually getting the property; the toThisObject call was pointless. Also changed to not pass a base for setUndefined.
  • kjs/object.h: Added the new JSCell operations to GetterSetterImp. Never called. (KJS::JSObject::get): Initialize the object in the PropertySlot and don't pass it in getValue. (KJS::JSObject::getOwnPropertySlotForWrite): Removed the base argument in calls to setValueSlot. (KJS::JSObject::getOwnPropertySlot): Ditto. (KJS::JSValue::get): Added. Here because it calls through to JSObject. A version of JSObject::get that also handles the other types of JSValue by creating the appropriate wrapper. Saves the virtual call to toObject. (KJS::JSValue::put): Ditto. (KJS::JSValue::deleteProperty): Ditto.
  • kjs/property_slot.cpp: (KJS::PropertySlot::undefinedGetter): Removed the originalObject argument. (KJS::PropertySlot::ungettableGetter): Ditto. (KJS::PropertySlot::functionGetter): Ditto. Use the value in the base as the "this" object, which will be set to the original object by the new PropertySlot initialization code. Also call toThisObject. The old code did not do this, but needed to so we can properly handle the activation object like the other similar code paths.
  • kjs/property_slot.h: (KJS::PropertySlot::PropertySlot): Added a constructor that takes a base object. In debug builds, set the base to 0 if you don't pass one. (KJS::PropertySlot::getValue): Don't take or pass the originalObject. (KJS::PropertySlot::setValueSlot): Don't take a base object, and clear the base object in debug builds. (KJS::PropertySlot::setGetterSlot): Ditto. (KJS::PropertySlot::setUndefined): Ditto. (KJS::PropertySlot::setUngettable): Ditto. (KJS::PropertySlot::slotBase): Assert that a base object is present. This will fire if someone actually calls the get function without having passed in a base object and the getter needs it. (KJS::PropertySlot::setBase): Added. Used by the code that implements toObject so it can supply the original object after the fact. (KJS::PropertySlot::clearBase): Added. Clears the base, but is debug-only code because it's an error to fetch the base if you don't have a guarantee it was set.
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h: (KJS::JSCallbackObject::cachedValueGetter): (KJS::JSCallbackObject::staticValueGetter): (KJS::JSCallbackObject::staticFunctionGetter): (KJS::JSCallbackObject::callbackGetter):
  • kjs/JSActivation.cpp: (KJS::JSActivation::getOwnPropertySlot): (KJS::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableGet):
  • kjs/array_instance.h:
  • kjs/function.cpp: (KJS::FunctionImp::argumentsGetter): (KJS::FunctionImp::callerGetter): (KJS::FunctionImp::lengthGetter): (KJS::Arguments::mappedIndexGetter):
  • kjs/function.h:
  • kjs/lookup.h: (KJS::staticFunctionGetter): (KJS::staticValueGetter):
  • kjs/string_object.cpp: (KJS::StringInstance::lengthGetter): (KJS::StringInstance::indexGetter): (KJS::stringInstanceNumericPropertyGetter):
  • kjs/string_object.h: Removed originalObject arguments from getters. Don't pass base values to the various PropertySlot functions that no longer take them.
  • kjs/value.cpp: (KJS::JSCell::getOwnPropertySlot): Added. Calls toObject and then sets the slot. This function has to always return true, because the caller can't walk the prototype chain. Because of that, we do a getPropertySlot, not getOwnPropertySlot, which works for the caller. This is private, only called by getOwnPropertySlotInternal. (KJS::JSCell::put): Added. Calls toObject and then put. (KJS::JSCell::toThisObject): Added. Calls toObject.
  • kjs/value.h: Added get, put, and toThisObject to both JSValue and JSCell. These take care of the toObject operation without an additional virtual function call, and so make the common "already an object" case faster.
  • wtf/AlwaysInline.h: Moved the UNLIKELY macro here for now. Maybe we can find a better place later, or rename this header.

JavaScriptGlue:

2008-06-03 Darin Adler <darin@apple.com>

  • UserObjectImp.cpp: (UserObjectImp::userObjectGetter): Removed originalObject argument.
  • UserObjectImp.h: Ditto.

WebCore:

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

Reviewed by John.

<rdar://problem/5763082> GMail: Hang when removing indent from nested list
<rdar://problem/5775449> In Gmail and GoogleDocs, a hang occurs when I attempt to apply a list style to a large selection of text
<rdar://problem/5937624> 9D32: Hang in Safari. Using 100% of processor

  • editing/InsertListCommand.cpp: (WebCore::InsertListCommand::modifyRange): doApply() may operate on and remove the last paragraph of the selection from the document if it's in the same list item as startOfCurrentParagraph. Return early to avoid an infinite loop and because there is no more work to be done. Added a FIXME (<rdar://problem/5983974>) about the incorrect endingSelection()s.
17:36 Changeset [34354] by justin.garcia@apple.com

WebCore:

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

Reviewed by John.

<rdar://problem/5763082> GMail: Hang when removing indent from nested list
<rdar://problem/5775449> In Gmail and GoogleDocs, a hang occurs when I attempt to apply a list style to a large selection of text
<rdar://problem/5937624> 9D32: Hang in Safari. Using 100% of processor

  • editing/InsertListCommand.cpp: (WebCore::InsertListCommand::modifyRange): doApply() may operate on and remove the last paragraph of the selection from the document if it's in the same list item as startOfCurrentParagraph. Return early to avoid an infinite loop and because there is no more work to be done. Added a FIXME (<rdar://problem/5983974>) about the incorrect endingSelection()s.

LayoutTests:

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

Reviewed by John.


<rdar://problem/5763082> GMail: Hang when removing indent from nested list

  • editing/execCommand/5763082-expected.txt: Added.
  • editing/execCommand/5763082.html: Added.
15:53 Changeset [34353] by mrowe@apple.com

Versioning.

15:52 Changeset [34352] by mrowe@apple.com

Merge r34347.

15:48 Changeset [34351] by oliver@apple.com

Bug 12983: Web Inspector break on the debugger keyword
<https://bugs.webkit.org/show_bug.cgi?id=12983>

Reviewed by Tim

Added a DebuggerStatementNode to handle codegen, and added a new
DidReachBreakPoint debug event (which will hopefully be useful
if we ever move breakpoint management into JSC proper). Also
added didReachBreakpoint to Debugger to allow us to actually respond
to this event.

15:46 Changeset [34350] by mrowe@apple.com

New tag.

14:43 Changeset [34349] by darin@apple.com

2008-06-03 Darin Adler <darin@apple.com>

Fix build with GCC.

  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren): Put a default case back in the switch statement so we don't get warned about all the unhandled cases with GCC. Remove the unreachable code that was causing a warning in Visual Studio.
14:01 Changeset [34348] by darin@apple.com

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

Reviewed by Darin.

  • Api/qwebhistoryinterface.cpp: Remove WebCore::historyContains(). This function is not used anywhere internally and is only a convenience function that can still be accomplished using QWebHistoryInterface::historyContains();
12:25 Changeset [34347] by andersca@apple.com

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

Reviewed by Darin.

<rdar://problem/5980961>


In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
newBottom to be larger than oldBottom which is illegal.


  • WebView/WebHTMLView.mm: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
11:46 Changeset [34346] by sfalken@apple.com

2008-05-30 Steve Falkenburg <sfalken@apple.com>

Registry-free COM.


WebKit no longer requires COM registration.
Registry-free COM information is read from the application manifest.

Only 1 set of CLSIDs are now used, since we don't need to worry about registry collisions.
The second set remains, but only temporarily so nightlies continue to work.

This is supported for XPSP2 and later. Earlier systems require an installer
to write the required registry keys. Nightlies and developer builds require
XPSP2, Server 2003, or later.

Reviewed by Adam.

  • ForEachCoClass.cpp: Moved COM registration code here from WebKitDLL.cpp. This is ONLY used in the nightly case. (substituteGUID): Moved here from WebKitDLL.cpp. (registerWebKit): Moved here from WebKitDLL.cpp. (setUseOpenSourceWebKit): Call registerWebKit instead of swapping progids. There is only 1 set of progids now - for the nightly.
  • ForEachCoClass.h: Removed production progids.
  • Interfaces/WebKit.idl: Added prototype for shutDownWebKit.
  • WebKit.vcproj/Interfaces.vcproj: Changed path to type library to move it out of project directory.
  • WebKit.vcproj/WebKit.vcproj: Changed path to type library to move it out of project directory.
  • WebKitDLL.cpp: (DllUnregisterServer): Does nothing. Entry point is still present for backward compatibility. (DllRegisterServer): Does nothing. Entry point is still present for backward compatibility. (RunAsLocalServer): Does nothing. Entry point is still present for backward compatibility. (shutDownWebKit): Moved from ForEachCoClass.
  • WebKitDLL.h:

2008-05-30 Steve Falkenburg <sfalken@apple.com>

Generate an isolated COM manifest for registry free COM.


  • DumpRenderTree/win/DumpRenderTree.vcproj:
11:29 Changeset [34345] by sfalken@apple.com

Fix build.

10:12 Changeset [34344] by justin.garcia@apple.com

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

Reviewed by John Sullivan.

<rdar://problem/5943515> SelectionController()->modify Backward/Forward with LineGranularity sometimes don't work


next/previousLinePosition didn't work if the input position was the last line in its
block. The code for handling such a position assumed that the input position was
editable, and that the position to be returned needed to also be editable. Changed
this code to just maintain the same editability.


No test case for now because we haven't enabled selection extension operations for
non-editable selections. I enabled them temporarily to test the fix, however.

  • dom/Node.cpp: Removed the now unused nextEditable(int).
  • dom/Node.h:
  • editing/visible_units.cpp: (WebCore::previousLeafWithSameEditability): Added. Like previousEditable but just returns a node of the same editability. (WebCore::previousLinePosition): Call previousLeaf instead of previousEditable. (WebCore::nextLeafWithSameEditability): Added. (WebCore::nextLinePosition): Same as above.
10:07 Changeset [34343] by andersca@apple.com

WebCore:

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

Reviewed by John and Sam.

<rdar://problem/5955218>
Assertion failure in ApplicationCacheGroup::addEntry when reloading a page with a cache manifest (19182)


  • loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheGroup::hasNewestCache): Add new accessor.


  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): Don't call newestCache since it will always be null. Instead, call hasNewestCache which returns the saved newest cache pointer.

LayoutTests:

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

Reviewed by John and Sam.

<rdar://problem/5955218>
Assertion failure in ApplicationCacheGroup::addEntry when reloading a page with a cache manifest (19182)

  • http/tests/appcache/crash-when-navigating-away-then-back-expected.txt: Added.
  • http/tests/appcache/crash-when-navigating-away-then-back.html: Added.
  • http/tests/appcache/resources/crash-when-navigating-away-then-back.html: Added.
  • http/tests/appcache/resources/crash-when-navigating-away-then-back.manifest: Added.
08:56 Changeset [34342] by ap@webkit.org

Rubber-stamped by Mark Rowe.

Roll out r31215 - with Mac OS X 10.5.3, there is no need to pause update daemon any more.

  • sunspider:
08:29 Changeset [34341] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5965410> In fixed table layout, the width of cells with auto width should be proportional to their column span, to match Firefox and IE.

Test: fast/table/fixed-with-auto-with-colspan.html

  • rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::layout):

LayoutTests:

Reviewed by Dave Hyatt.

  • test and updated results for <rdar://problem/5965410> In fixed table layout, the width of cells with auto width should be proportional to their column span, to match Firefox and IE.
  • fast/table/fixed-with-auto-with-colspan.html: Added.
  • platform/mac/fast/table/fixed-with-auto-with-colspan-expected.checksum: Added.
  • platform/mac/fast/table/fixed-with-auto-with-colspan-expected.png: Added.
  • platform/mac/fast/table/fixed-with-auto-with-colspan-expected.txt: Added.
  • platform/mac/tables/mozilla_expected_failures/bugs/bug220653-expected.checksum:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug220653-expected.png:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug220653-expected.txt:
02:01 Changeset [34340] by alp@webkit.org

2008-06-03 Alp Toker <alp@nuanti.com>

Rubber-stamped by Alexey.

Remove GenerateNativeConverter added in r34331 to fix JS regressions.
(JSTextCustom.cpp added in r34141 is now unused in any code path.)

  • dom/Text.idl:
01:47 Changeset [34339] by mjs@apple.com

2008-06-03 Maciej Stachowiak <mjs@apple.com>

Add a snapshot of the squirrelfish bytecode docs.

  • specs/squirrelfish-bytecode.html: Added.
01:44 Changeset [34338] by mjs@apple.com

2008-06-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • document remaining opcodes.
  • VM/Machine.cpp: (KJS::Machine::privateExecute): Document call, call_eval, construct, ret and end opcodes.
01:42 Changeset [34337] by ap@webkit.org

<rdar://problem/5621979> editing/selection/5241148.html crashes on Windows

Try removing it from the Skipped list, as this is not reproducible with current closed
source libraries.

  • platform/win/Skipped:
00:56 Changeset [34336] by ap@webkit.org

2008-06-03 Alexander Vassilev <avasilev@voipgate.com>

Reviewed, tweaked and landed by Alexey.

https://bugs.webkit.org/show_bug.cgi?id=19363
Compiler error in Entity.h

  • dom/Entity.h: (WebCore::Entity::Entity): Add a private constructor to shut down the errors.
00:46 Changeset [34335] by mjs@apple.com

2008-06-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Document throw and catch opcodes.

06/02/08:

23:26 Changeset [34334] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Alexey Proskuryakov.

Removed JSObject::call, since it just called JSObject::callAsFunction.

SunSpider reports no change.

JavaScriptGlue:

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

Reviewed by Alexey Proskuryakov.

Removed JSObject::call, since it just called JSObject::callAsFunction.

SunSpider reports no change.

WebCore:

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

Reviewed by Alexey Proskuryakov.


Removed JSObject::call, since it just called JSObject::callAsFunction.


SunSpider reports no change.

20:48 Changeset [34333] by mjs@apple.com

2008-06-02 Maciej Stachowiak <mjs@apple.com>

  • config.ini: Correct URL for just-added blog.
20:15 Changeset [34332] by mjs@apple.com

2008-06-02 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Mark.

19:17 Changeset [34331] by alp@webkit.org

2008-06-02 Alp Toker <alp@nuanti.com>

Reviewed by Maciej.

Two of the toJSNewlyCreated() optimisations in r34141 were never
reached due to a generator bug and missing IDL attribute.

Fix header generation to provide the necessary toJSNewlyCreated()
overloads.

Patch includes a related build fix by Jan Michael Alonzo.

  • GNUmakefile.am:
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Text.idl:
18:05 Changeset [34330] by ggaren@apple.com

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

Transparent background!

  • blog-files/squirrelfish.png:
17:30 Changeset [34329] by alp@webkit.org

2008-06-02 Alp Toker <alp@nuanti.com>

GTK+/autotools Windows build system fixes.

  • GNUmakefile.am:
  • configure.ac:
16:04 Changeset [34328] by alice.liu@apple.com

2008-06-02 Alice Liu <alice.liu@apple.com>

Reviewed by Beth Dakin.

Some ARIA roles are designated to have presentational children, which
means that their descendants aren't exposed to assistive technologies
on an individual basis. What this means in webcore is that descendants
of such roles need to be ignored in terms of accessibility.

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole): (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
  • page/AccessibilityObject.h:
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): (WebCore::RoleEntry::): (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole): (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
  • page/AccessibilityRenderObject.h:
15:28 Changeset [34327] by ggaren@apple.com

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

Crop!

  • blog-files/squirrelfish-webkit-graph.png:
15:07 Changeset [34326] by ggaren@apple.com

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

Renamed this file quiet down the peanut gallery.

  • blog-files/squirrelfish-webkit-graph.png: Copied from blog-files/webkit-graph.png.
  • blog-files/webkit-graph.png: Removed.
15:02 Changeset [34325] by ggaren@apple.com

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

Added a graph.

  • blog-files/webkit-graph.png: Added.
14:54 Changeset [34324] by hyatt@apple.com

2008-06-02 David Hyatt <hyatt@apple.com>

Fix for https://bugs.webkit.org/show_bug.cgi?id=19303

When the right slice value is omitted in border-image it should use the value of the left slice and not
the top slice.

Reviewed by darin

Added fast/borders/border-image-omit-right-slice.html

  • css/CSSParser.cpp: (WebCore::BorderImageParseContext::commitBorderImage)
14:46 Changeset [34323] by andersca@apple.com

WebCore:

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

Reviewed by David Hyatt and Mitz.

<rdar://problem/5704119>
repro crash in WebCore::RenderPart::setWidget (plugin-related?)


Test: platform/mac/plugins/update-widget-from-style-recalc.html

Make sure to update the document's rendering before calling updateWidget.


  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::updateWidget):
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::updateWidget):

WebKitTools:

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

Reviewed by David Hyatt and Mitz.

<rdar://problem/5704119>
repro crash in WebCore::RenderPart::setWidget (plugin-related?)


Call -[WebView display] in the "plug-in" failed delegate method, simulating
the sheet that Safari puts up.


  • DumpRenderTree/mac/ResourceLoadDelegate.mm: (-[ResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):

LayoutTests:

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

Reviewed by David Hyatt and Mitz.

<rdar://problem/5704119>
repro crash in WebCore::RenderPart::setWidget (plugin-related?)


  • platform/mac/plugins/update-widget-from-style-recalc-expected.txt: Added.
  • platform/mac/plugins/update-widget-from-style-recalc.html: Added.
14:45 Changeset [34322] by ggaren@apple.com

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

Moved the squirrelfish mascot to the right place.

  • blog-files/squirrelfish.png: Copied from images/squirrelfish.png.
  • images/squirrelfish.png: Removed.
14:41 Changeset [34321] by ggaren@apple.com

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

Uploaded the squirrelfish mascot.

  • images/squirrelfish.png: Added.
13:47 Changeset [34320] by jchaffraix@webkit.org

LayoutTests:

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

Reviewed by Darin.

Bug 18655: [XHR] OnProgress needs more test case
https://bugs.webkit.org/show_bug.cgi?id=18655

  • http/tests/xmlhttprequest/resources/five-tiny-chunk-one-second-delay.php: Added.
  • http/tests/xmlhttprequest/resources/noContentLength.asis: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-LSProgressEvent-ProgressEvent-should-match-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-LSProgressEvent-ProgressEvent-should-match.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-addEventListener-onProgress-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-addEventListener-onProgress.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-no-content-length-onProgress-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-no-content-length-onProgress.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html: Added.
13:45 Changeset [34319] by ggaren@apple.com

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

Reviewed by Darin Adler.


A little cleanup in the CodeGenerator.

  • VM/CodeGenerator.cpp: A few changes here.

(1) Removed remaining cases of the old hack of putting "this" into the
symbol table; replaced with explicit tracking of m_thisRegister.

(2) Made m_thisRegister behave the same for function, eval, and program
code, removing the static programCodeThis() function.

(3) Added a feature to nix a ScopeNode's declaration stacks when done
compiling, to save memory.

(4) Removed code that copied eval declarations into special vectors: we
just use the originals in the ScopeNode now.


  • VM/CodeGenerator.h: Removed unneded parameters from the CodeGenerator constructor: we just use get that data from the ScopeNode now.
  • VM/Machine.cpp: (KJS::Machine::execute): When executing an eval node, don't iterate a special copy of its declarations; iterate the originals, instead.
  • kjs/nodes.cpp: Moved responsibility for knowing what AST data to throw away into the CodeGenerator. Nodes no longer call shrinkCapacity on their data directly.


  • kjs/nodes.h: Changed FunctionStack to ref its contents, so declaration data stays around even after we've thrown away the AST, unless we explicitly throw away the declaration data, too. This is useful for eval code, which needs to reference its declaration data at execution time. (Soon, it will be useful for program code, too, since program code should do the same.)
13:15 Changeset [34318] by kmccullough@apple.com

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

Reviewed by Adam.

<rdar://problem/5954226> JSProfiler: Move the calls from
JavaScriptProfileNode to JavaScriptProfile in WebCore (19231)

  • This Makes the profiler now call sorting function s on a per-profile basis instead of on a node in the profile.
  • This is also needed to remove the recursion limit in the profiler <rdar://problem/5969992> JSProfiler: Remove the recursion limit in the profiler since once the limit is removed calling sort on a node will only sort that node's children not the entire sub-tree of that node.
  • page/JavaScriptProfile.cpp: All of these functions were moved from JavaScriptProfileNode. (WebCore::sortTotalTimeDescending): (WebCore::sortTotalTimeAscending): (WebCore::sortSelfTimeDescending): (WebCore::sortSelfTimeAscending): (WebCore::sortCallsDescending): (WebCore::sortCallsAscending): (WebCore::sortFunctionNameDescending): (WebCore::sortFunctionNameAscending): (WebCore::ProfileClass):
  • page/JavaScriptProfileNode.cpp: (WebCore::ProfileNodeClass):
  • page/inspector/ProfileView.js: Change uses of JavaScriptProfileNode for sorting to JavaScriptProfile.
13:00 Changeset [34317] by mitz@apple.com

WebCore:

Reviewed by Oliver Hunt.

Tests: fast/canvas/shadow-offset-1.html

fast/canvas/shadow-offset-2.html
fast/canvas/shadow-offset-3.html
fast/canvas/shadow-offset-4.html
fast/canvas/shadow-offset-5.html
fast/canvas/shadow-offset-6.html
fast/canvas/shadow-offset-7.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::adjustedShadowSize): Added this helper function. (WebCore::CanvasRenderingContext2D::setShadow): Changed to call adjustedShadowSize(). (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/canvas/resources/shadow-offset.js: Added.
  • fast/canvas/shadow-offset-1.html: Copied from LayoutTests/fast/canvas/shadow-offset.html.
  • fast/canvas/shadow-offset-2.html: Added.
  • fast/canvas/shadow-offset-3.html: Added.
  • fast/canvas/shadow-offset-4.html: Added.
  • fast/canvas/shadow-offset-5.html: Added.
  • fast/canvas/shadow-offset-6.html: Added.
  • fast/canvas/shadow-offset-7.html: Added.
  • fast/canvas/shadow-offset.html: Removed.
  • platform/mac/fast/canvas/shadow-offset-1-expected.checksum: Added.
  • platform/mac/fast/canvas/shadow-offset-1-expected.png: Added.
  • platform/mac/fast/canvas/shadow-offset-1-expected.txt: Added.
  • platform/mac/fast/canvas/shadow-offset-2-expected.checksum: Added.
  • platform/mac/fast/canvas/shadow-offset-2-expected.png: Added.
  • platform/mac/fast/canvas/shadow-offset-2-expected.txt: Added.
  • platform/mac/fast/canvas/shadow-offset-3-expected.checksum: Added.
  • platform/mac/fast/canvas/shadow-offset-3-expected.png: Added.
  • platform/mac/fast/canvas/shadow-offset-3-expected.txt: Added.
  • platform/mac/fast/canvas/shadow-offset-4-expected.checksum: Added.
  • platform/mac/fast/canvas/shadow-offset-4-expected.png: Added.
  • platform/mac/fast/canvas/shadow-offset-4-expected.txt: Added.
  • platform/mac/fast/canvas/shadow-offset-5-expected.checksum: Added.
  • platform/mac/fast/canvas/shadow-offset-5-expected.png: Added.
  • platform/mac/fast/canvas/shadow-offset-5-expected.txt: Added.
  • platform/mac/fast/canvas/shadow-offset-6-expected.checksum: Added.
  • platform/mac/fast/canvas/shadow-offset-6-expected.png: Added.
  • platform/mac/fast/canvas/shadow-offset-6-expected.txt: Added.
  • platform/mac/fast/canvas/shadow-offset-7-expected.checksum: Added.
  • platform/mac/fast/canvas/shadow-offset-7-expected.png: Added.
  • platform/mac/fast/canvas/shadow-offset-7-expected.txt: Added.
  • platform/mac/fast/canvas/shadow-offset-expected.checksum: Removed.
  • platform/mac/fast/canvas/shadow-offset-expected.png: Removed.
  • platform/mac/fast/canvas/shadow-offset-expected.txt: Removed.
12:58 Changeset [34316] by aroben@apple.com

Build fix for non-AllInOne builds

  • kjs/array_object.cpp: Added a missing #include.
12:51 Changeset [34315] by jchaffraix@webkit.org

WebCore:

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

Reviewed by Darin.

Bug 18066: REGRESSION: createAttribute throws NAMESPACE_ERR exception
https://bugs.webkit.org/show_bug.cgi?id=18066

Test: fast/dom/createAttribute-exception.html

  • dom/Document.cpp: (WebCore::Document::createAttributeNS):
  • dom/Document.h: Add a bool parameter shouldIgnoreNamespaceChecks to createNamespaceNS() used by createAttribute() to bypass namespace checking.

LayoutTests:

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

Reviewed by Darin.

Bug 18066: REGRESSION: createAttribute throws NAMESPACE_ERR exception
https://bugs.webkit.org/show_bug.cgi?id=18066

  • fast/dom/createAttribute-exception-expected.txt: Added.
  • fast/dom/createAttribute-exception.html: Added.
11:13 Changeset [34314] by andersca@apple.com

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

Reviewed by Mitz.

Speculative fix for <rdar://problem/5661112>
CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62


Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
layouts to be triggered.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView _createPlugin]):
10:32 Changeset [34313] by kmccullough@apple.com

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

Took out accidental confilct lines I checked in.

  • ChangeLog:
10:30 Changeset [34312] by darin@apple.com

WebCore:

2008-06-02 Darin Adler <darin@apple.com>

Reviewed by John Sullivan.

Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::hasCSSPropertyNamePrefix): Tweak implementation a tiny bit for improved performance when the first character does not match. (WebCore::cssPropertyName): Reject property names with a leading uppercase letter.

LayoutTests:

2008-06-02 Darin Adler <darin@apple.com>

Reviewed by John Sullivan.

  • fast/dom/CSSStyleDeclaration: Added.
  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive-expected.txt: Added.
  • fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html: Added.
  • fast/dom/CSSStyleDeclaration/resources: Added.
  • fast/dom/CSSStyleDeclaration/resources/TEMPLATE.html: Copied from LayoutTests/fast/dom/Element/resources/TEMPLATE.html.
  • fast/dom/CSSStyleDeclaration/resources/css-properties-case-sensitive.js: Added.
  • fast/dom/CSSStyleDeclaration-empty-string-property-expected.txt: Removed.
  • fast/dom/CSSStyleDeclaration-empty-string-property.html: Removed.
  • fast/dom/CSSStyleDeclaration/empty-string-property-expected.txt: Copied from LayoutTests/fast/dom/CSSStyleDeclaration-empty-string-property-expected.txt.
  • fast/dom/CSSStyleDeclaration/empty-string-property.html: Copied from LayoutTests/fast/dom/CSSStyleDeclaration-empty-string-property.html.
  • fast/js/duplicate-param-crash.html: Allowed the make-js-test-wrappers script to update this file.
  • fast/js/duplicate-param-gc-crash.html: Ditto.
  • fast/js/resources/tostring-exception-in-property-access.js: Ditto.
  • fast/js/var-shadows-arg-crash.html: Ditto.
  • fast/js/var-shadows-arg-gc-crash.html: Ditto.
10:26 Changeset [34311] by darin@apple.com

WebCore:

2008-06-02 Darin Adler <darin@apple.com>

Reviewed by Mitz.

Test: fast/parser/pre-first-line-break.html

  • editing/markup.cpp: (WebCore::appendStartMarkup): Fix handling of <listing>. Not part of the bug mentioned above, but uncovered by the regression test.
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write): Clear the "discardLF" flag when processing a new tag.

LayoutTests:

2008-06-02 Darin Adler <darin@apple.com>

Reviewed by Mitz.

  • fast/parser/pre-first-line-break-expected.txt: Added.
  • fast/parser/pre-first-line-break.html: Added.
  • fast/parser/resources/TEMPLATE.html: Copied from fast/dom/resources/TEMPLATE.html.
  • fast/parser/resources/pre-first-line-break.js: Added.
10:11 Changeset [34310] by kmccullough@apple.com

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

Reviewed by Darin.

<rdar://problem/5969992> JSProfiler: Remove the recursion limit in the
profiler
Implement Next Sibling pointers as groundwork for removing the recursion
limit in the profiler.

  • profiler/ProfileNode.cpp: Also I renamed parentNode and headNode since 'node' is redundant. (KJS::ProfileNode::ProfileNode): Initialize the nextSibling. (KJS::ProfileNode::willExecute): If there are already children then the new child needs to be the nextSibling of the last child. (KJS::ProfileNode::didExecute): (KJS::ProfileNode::addChild): Ditto. (KJS::ProfileNode::stopProfiling): (KJS::ProfileNode::sortTotalTimeDescending): For all of the sorting algorithms once the children are sorted their nextSibling pointers need to be reset to reflect the new order. (KJS::ProfileNode::sortTotalTimeAscending): (KJS::ProfileNode::sortSelfTimeDescending): (KJS::ProfileNode::sortSelfTimeAscending): (KJS::ProfileNode::sortCallsDescending): (KJS::ProfileNode::sortCallsAscending): (KJS::ProfileNode::sortFunctionNameDescending): (KJS::ProfileNode::sortFunctionNameAscending): (KJS::ProfileNode::resetChildrensSiblings): This new function simply loops over all of the children and sets their nextSibling pointers to the next child in the Vector (KJS::ProfileNode::debugPrintData):
  • profiler/ProfileNode.h: (KJS::ProfileNode::parent): (KJS::ProfileNode::setParent): (KJS::ProfileNode::nextSibling): (KJS::ProfileNode::setNextSibling): (KJS::ProfileNode::totalPercent): (KJS::ProfileNode::selfPercent):
10:08 Changeset [34309] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.

Removed the recursion limit from JSObject::call, since the VM does
recursion checking now.

This should allow us to remove JSObject::call entirely, netting a small
speedup.

  • kjs/object.cpp: (KJS::JSObject::call):
09:40 Changeset [34308] by timothy@apple.com

Fixes a bug where only the last breakpoint would be hit after reloading
the page. Also fixes a bug where disabled breakpoints would be hit
after reloading the page.

Reviewed by Darin Adler.

  • page/inspector/BreakpointsSidebarPane.js: (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): Don't call InspectorController.addBreakpoint() unless the breakpoint is enabled.
  • page/inspector/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.addScript): Move the addBreakpoint() call inside the for loop so each breakpoint is added. Also check the breakpoint's enabled state before calling addBreakpoint().
09:40 Changeset [34307] by timothy@apple.com

Fixes a bug where the line highlight and the execution line were conflicting.
The line highlight no longer shows up when the execution line changes, only
when showResource or showScript is called with a line number.

Reviewed by Darin Adler.

  • page/inspector/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.showScript): Pass true for shouldHighlightLine. (WebInspector.ScriptsPanel.prototype.showResource): Ditto. (WebInspector.ScriptsPanel.prototype._showScriptOrResource): Added a shouldHighlightLine argument that triggers the highlightLine() call on the SourceFrame. (WebInspector.ScriptsPanel.prototype._goBack): Pass false for shouldHighlightLine since we need to pass true for fromBackForwardAction. (WebInspector.ScriptsPanel.prototype._goForward): Ditto.
09:39 Changeset [34306] by timothy@apple.com

Bring the Web Inspector forward when the debugger pauses.

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

Reviewed by Darin Adler.

  • page/inspector/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.debuggerPaused): Call window.focus() and make the Scripts panel the current panel.
09:36 Changeset [34305] by alp@webkit.org

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

Reviewed by Alp Toker.

Build WebCore GTK+ sources as part of WebCore, not WebKit.
Split common and GTK+-specific sources into separate file lists.

09:36 Changeset [34304] by ggaren@apple.com

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

Reviewed by Adele Peterson.

Added a specific affordance for avoiding stack overflow when converting
recursive arrays to string, in preparation for removing generic stack
overflow checking from JSObject::call.


Tested by fast/js/toString-stack-overflow.html.

09:32 Changeset [34303] by ggaren@apple.com

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

Reviewed by Alice Liu.


Refactored some hand-rolled code to call ScopeChain::globalObject instead.

09:30 Changeset [34302] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Darin Adler.


Fixed ASSERT due to execution continuing after an exception is thrown
during array sort.

  • kjs/array_instance.cpp: (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key): Don't call the custom comparator function if an exception has been thrown. Just return 1 for everything, so the sort completes quickly. (The result will be thrown away.)

LayoutTests:

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

Reviewed by Darin Adler.


Test for an exception thrown from an array sort comparator function.

  • fast/js/throw-from-array-sort-expected.txt: Added.
  • fast/js/throw-from-array-sort.html: Added.
06:39 Changeset [34301] by ap@webkit.org

2008-06-02 Simon Pieters <zcorpan@hotmail.com>

Reviewed and landed by Alexey.

https://bugs.webkit.org/show_bug.cgi?id=19355
createElement() with colon and localName

WebKit behavior has changed to expected during Acid3 work (r31230, r31231), but this
specific case appears to have been an untested side effect, landing it now.

  • fast/dom/createElement-with-column-expected.txt: Added.
  • fast/dom/createElement-with-column.xml: Added.
  • fast/dom/createElement-with-column.html: Added.
03:23 Changeset [34300] by hausmann@webkit.org

2008-05-30 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Implement basic media element controls for the QtWebKit port.

03:23 Changeset [34299] by hausmann@webkit.org

2008-05-30 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Change default styling of media elements to allow controls
to be placed at any position within the media element

03:17 Changeset [34298] by hausmann@webkit.org

2008-05-30 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Use intrinsic size for media elements with no natural size.

03:16 Changeset [34297] by hausmann@webkit.org

2008-05-28 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Allow platform specific adjustments to the default style sheet.

Clients will change the ifdef in RenderTheme.cpp and implement
any platform specific adjustments in RenderThemeXXX.cpp, either
by loading a file as the Qt port does, or by modifying the style
directly.

03:08 Changeset [34296] by hausmann@webkit.org

2008-06-02 Siraj Razick <siraj.razick@collabora.co.uk>

Reviewed by Simon

Allow button fonts to scale based on the text size multiplier.

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

00:25 Changeset [34295] by mrowe@apple.com

Versioning.

00:20 Changeset [34294] by mrowe@apple.com

New tag.

00:19 Changeset [34293] by mrowe@apple.com

Merge r34205.

Note: See TracTimeline for information about the timeline view.