Timeline


and

11/20/08:

23:16 Changeset [38655] by weinig@apple.com
  • 2 edits in trunk/WebKit/qt

2008-11-20 Sam Weinig <sam@webkit.org>

Fix Qt build.

  • Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript):
21:51 Changeset [38654] by weinig@apple.com
  • 16 edits in trunk/WebCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

First step in https://bugs.webkit.org/show_bug.cgi?id=22394
Be more eager in destroying script decoded data

Pass data to be used in script execution around as JSC::SourceCode instead
of a source, url, and starting line.

  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/ScriptController.h:
  • bindings/js/StringSourceProvider.h: (WebCore::makeSource):
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • bindings/js/WorkerScriptController.h:
  • dom/ScriptElement.cpp: (WebCore::ScriptElement::insertedIntoDocument): (WebCore::ScriptElement::childrenChanged): (WebCore::ScriptElementData::evaluateScript): (WebCore::ScriptElementData::notifyFinished):
  • dom/ScriptElement.h:
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::notifyFinished):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::endElementNs):
  • dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::parseEndElement):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript):
  • loader/FrameLoader.h:
21:35 Changeset [38653] by weinig@apple.com
  • 3 edits in trunk/WebCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String

  • Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::responseText):
  • xml/XMLHttpRequest.idl:
21:04 Changeset [38652] by barraclough@apple.com
  • 8 edits in trunk/JavaScriptCore

2008-11-19 Gavin Barraclough <barraclough@apple.com>

Reviewed by Darin Adler.

Add support for (really) polymorphic caching of prototype accesses.


If a cached prototype access misses, cti_op_get_by_id_proto_list is called.
When this occurs the Structure pointers from the instruction stream are copied
off into a new ProtoStubInfo object. A second prototype access trampoline is
generated, and chained onto the first. Subsequent missed call to
cti_op_get_by_id_proto_list_append, which append futher new trampolines, up to
PROTOTYPE_LIST_CACHE_SIZE (currently 4). If any of the misses result in an
access other than to a direct prototype property, list formation is halted (or
for the initial miss, does not take place at all).

Separate fail case functions are provided for each access since this contributes
to the performance progression (enables better processor branch prediction).

Overall this is a near 5% progression on v8, with around 10% wins on richards
and deltablue.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::derefStructures):
  • bytecode/Instruction.h: (JSC::ProtoStructureList::ProtoStubInfo::set): (JSC::ProtoStructureList::ProtoStructureList): (JSC::Instruction::Instruction): (JSC::Instruction::):
  • bytecode/Opcode.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::Interpreter::cti_op_get_by_id_proto_list): (JSC::Interpreter::cti_op_get_by_id_proto_list_append): (JSC::Interpreter::cti_op_get_by_id_proto_list_full): (JSC::Interpreter::cti_op_get_by_id_proto_fail): (JSC::Interpreter::cti_op_get_by_id_chain_fail): (JSC::Interpreter::cti_op_get_by_id_array_fail): (JSC::Interpreter::cti_op_get_by_id_string_fail):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::privateCompilePatchGetArrayLength):
  • jit/JIT.h: (JSC::JIT::compileGetByIdProtoList):
17:57 Changeset [38651] by simon.fraser@apple.com
  • 3 edits
    4 adds in trunk

2008-11-20 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

When an non-layer object gained a transform, it would only repaint
the bounds of the new layer, which could result in redraw artifacts
if the new layer was smaller. So if we're gaining a transform, we
repaint.

Test: fast/repaint/change-transform.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):
17:54 Changeset [38650] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-11-20 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for <rdar://problem/6111436> Support upload progress events on Windows

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::didSendBodyData): Added. (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
17:53 Changeset [38649] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Try and fix the tiger build.

  • parser/Grammar.y:
17:37 Changeset [38648] by justin.garcia@apple.com
  • 7 edits
    6 adds in trunk

WebCore:

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

Reviewed by Darin Adler.

<rdar://problem/2610675> Blank line that is quoted can't be deleted


If the caret is in an empty quoted paragraph, and either there is nothing before that
paragraph, or what is before is unquoted, and the user presses delete, unquote that
paragraph.

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added. Removes the line break that holds open an empty paragraph and then attempts to prune the blockquote(s) that held that line break in case they have been emptied out. Places a line break to create in empty unquoted paragraph in place of the quoted one that was removed.
  • editing/CompositeEditCommand.h:
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
  • editing/htmlediting.cpp: (WebCore::highestEnclosingNodeOfType): Added.
  • editing/htmlediting.h:

LayoutTests:

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

Reviewed by Darin Adler.


<rdar://problem/2610675> Blank line that is quoted can't be deleted

  • editing/deleting/2610675-1-expected.txt: Added.
  • editing/deleting/2610675-1.html: Added.
  • editing/deleting/2610675-2-expected.txt: Added.
  • editing/deleting/2610675-2.html: Added.
  • editing/deleting/2610675-3-expected.txt: Added.
  • editing/deleting/2610675-3.html: Added.
17:10 Changeset [38647] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

Make JavaScriptCore Chromium build under Windows (cmd only, cygwin almost works)
https://bugs.webkit.org/show_bug.cgi?id=22347

  • JavaScriptCore.scons:
  • parser/Parser.cpp: Add using std::auto_ptr since we use auto_ptr
17:06 Changeset [38646] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix build.


Reviewed by Sam Weinig.

  • parser/Parser.cpp: (JSC::Parser::reparse):
16:48 Changeset [38645] by simon.fraser@apple.com
  • 3 edits
    2 adds in trunk

2008-11-20 Dean Jackson <dino@apple.com>

Reviewed by Antti Koivisto

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

Make transition shorthand property accept transition-delay.

Test: transitions/transition-shorthand-delay.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseTransitionShorthand):
16:44 Changeset [38644] by simon.fraser@apple.com
  • 3 edits
    2 adds in trunk

2008-11-20 Dean Jackson <dino@apple.com>

Reviewed by Antti Koivisto

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

Make sure pauseTransition API takes transition delay into account.

Test: transitions/transition-drt-api-delay.html

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::pauseAtTime):
16:35 Changeset [38643] by cwzwarich@webkit.org
  • 5 edits in trunk/LayoutTests

2008-11-20 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Add some tests for issues found while developing reparsing of function
bodies. Also modify existing tests to be more robust in the face of
possible changes to parsing.

  • fast/js/arguments-expected.txt:
  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/arguments.js:
  • fast/js/resources/function-dot-arguments.js:
16:26 Changeset [38642] by simon.fraser@apple.com
  • 7 edits
    4 adds in trunk

2008-11-20 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

Implement getComputedStyle for animation properties. Remove individual
computed values for transform-origin-x, transform-origin-y, and just
return transform-origin instead. Return "none" for default animation-name,
and fix the initial value.

Tests: animations/computed-style.html

transforms/computed-style-origin.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::getDelayValue): (WebCore::getDurationValue): (WebCore::getTimingFunctionValue): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::initialAnimationName):
16:23 Changeset [38641] by ggaren@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-11-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

A little more RegExp refactoring.


Created a helper function in the assembler for linking a vector of
JmpSrc to a location, and deployed it in a bunch of places.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/X86Assembler.h: (JSC::X86Assembler::link):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::terminateAlternative): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECParser.cpp:
  • wrec/WRECParser.h: (JSC::WREC::Parser::consumeHex):
15:51 Changeset [38640] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22371
Add a test for accessing form element items by index.

  • fast/dom/HTMLFormElement/htmlformelement-indexed-getter-expected.txt: Added.
  • fast/dom/HTMLFormElement/htmlformelement-indexed-getter.html: Added.
15:47 Changeset [38639] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?22370
Add a test to check detectability of HTMLCollections.

  • fast/dom/htmlcollection-detectability-expected.txt: Added.
  • fast/dom/htmlcollection-detectability.html: Added.
15:33 Changeset [38638] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Fix non-mac builds.

  • parser/Lexer.cpp:
  • parser/Parser.cpp:
15:31 Changeset [38637] by pam@chromium.org
  • 3 edits in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22369
Add test cases covering more basic operations.

  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/function-dot-arguments.js: (basicTest): Added (lengthTest): Added
15:27 Changeset [38636] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22363
Add a test for DOM1 and DOM2 versions of add() on a select control.

  • fast/dom/dom-add-optionelement-expected.txt: Added.
  • fast/dom/dom-add-optionelement.html: Added.
15:23 Changeset [38635] by weinig@apple.com
  • 12 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=22385
<rdar://problem/6390179>
Lazily reparse FunctionBodyNodes on first execution.

  • Saves 57MB on Membuster head.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): Remove vector shrinking since this is now handled by destroying the ScopeNodeData after generation.
  • parser/Grammar.y: Add alternate NoNode version of the grammar that does not create nodes. This is used to lazily create FunctionBodyNodes on first execution.
  • parser/Lexer.cpp: (JSC::Lexer::setCode): Fix bug where on reparse, the Lexer was confused about what position and length meant. Position is the current position in the original data buffer (important for getting correct line/column information) and length the end offset in the original buffer.
  • parser/Lexer.h: (JSC::Lexer::sourceCode): Positions are relative to the beginning of the buffer.
  • parser/Nodes.cpp: (JSC::ScopeNodeData::ScopeNodeData): Move initialization of ScopeNode data here. (JSC::ScopeNode::ScopeNode): Add constructor that only sets the JSGlobalData for FunctionBodyNode stubs. (JSC::ScopeNode::~ScopeNode): Release m_children now that we don't inherit from BlockNode. (JSC::ScopeNode::releaseNodes): Ditto. (JSC::EvalNode::generateBytecode): Only shrink m_children, as we need to keep around the rest of the data. (JSC::FunctionBodyNode::FunctionBodyNode): Add constructor that only sets the JSGlobalData. (JSC::FunctionBodyNode::create): Ditto. (JSC::FunctionBodyNode::generateBytecode): If we don't have the data, do a reparse to construct it. Then after generation, destroy the data. (JSC::ProgramNode::generateBytecode): After generation, destroy the AST data.
  • parser/Nodes.h: (JSC::ExpressionNode::): Add isFuncExprNode for FunctionConstructor. (JSC::StatementNode::): Add isExprStatementNode for FunctionConstructor. (JSC::ExprStatementNode::): Ditto. (JSC::ExprStatementNode::expr): Add accessor for FunctionConstructor. (JSC::FuncExprNode::): Add isFuncExprNode for FunctionConstructor

(JSC::ScopeNode::adoptData): Adopts a ScopeNodeData.
(JSC::ScopeNode::data): Accessor for ScopeNodeData.
(JSC::ScopeNode::destroyData): Deletes the ScopeNodeData.
(JSC::ScopeNode::setFeatures): Added.
(JSC::ScopeNode::varStack): Added assert.
(JSC::ScopeNode::functionStack): Ditto.
(JSC::ScopeNode::children): Ditto.
(JSC::ScopeNode::neededConstants): Ditto.
Factor m_varStack, m_functionStack, m_children and m_numConstants into ScopeNodeData.

  • parser/Parser.cpp: (JSC::Parser::reparse): Reparse the SourceCode in the FunctionBodyNode and set set up the ScopeNodeData for it.
  • parser/Parser.h:
  • parser/SourceCode.h: (JSC::SourceCode::endOffset): Added for use in the lexer.
  • runtime/FunctionConstructor.cpp: (JSC::getFunctionBody): Assuming a ProgramNode with one FunctionExpression in it, get the FunctionBodyNode. Any issues signifies a parse failure in constructFunction. (JSC::constructFunction): Make parsing functions in the form new Function(""), easier by concatenating the strings together (with some glue) and parsing the function expression as a ProgramNode from which we can receive the FunctionBodyNode. This has the added benefit of not having special parsing code for the arguments and lazily constructing the FunctionBodyNode's AST on first execution.
  • runtime/Identifier.h: (JSC::operator!=): Added.
15:23 Changeset [38634] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22359
Add test for document.write() with multiple parameters.

  • fast/dom/document_write_params-expected.txt: Added.
  • fast/dom/document_write_params.html: Added.
15:19 Changeset [38633] by pam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

2008-11-20 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22387
Add a test for HTMLOptionsCollection indexed getter and setter.

  • fast/dom/HTMLOptionElement/collection-setter-getter-expected.txt: Added.
  • fast/dom/HTMLOptionElement/collection-setter-getter.html: Added.
14:27 Changeset [38632] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Speedup the lexer to offset coming re-parsing patch.

  • .6% progression on Sunspider.
  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::shrink): Fixed bug where m_size would not be set when shrinking to 0.
  • parser/Lexer.cpp: (JSC::Lexer::Lexer): (JSC::Lexer::isIdentStart): Use isASCIIAlpha and isASCII to avoid going into ICU in the common cases. (JSC::Lexer::isIdentPart): Use isASCIIAlphanumeric and isASCII to avoid going into ICU in the common cases (JSC::isDecimalDigit): Use version in ASCIICType.h. Inlining it was a regression. (JSC::Lexer::isHexDigit): Ditto. (JSC::Lexer::isOctalDigit): Ditto. (JSC::Lexer::clear): Resize the m_identifiers SegmentedVector to initial capacity
  • parser/Lexer.h: Remove unused m_strings vector. Make m_identifiers a SegmentedVector<Identifier> to avoid allocating a new Identifier* for each identifier found. The SegmentedVector is need so we can passes references to the Identifier to the parser, which remain valid even when the vector is resized. (JSC::Lexer::makeIdentifier): Inline and return a reference to the added Identifier.
14:02 Changeset [38631] by justin.garcia@apple.com
  • 11 edits in trunk

WebCore:

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

Reviewed by Beth Dakin.


Preparation for:
<rdar://problem/2610675> Blank line that is quoted can't be deleted


To fix this we need to make changes to the code that creates selections to delete
when the user does a backward or forward delete with a caret selection. For certain
caret positions, we now want to remove something other than the standard "caret extended
backward/forward by one unit". The problem is that there were two pieces of code
responsible for doing this, one in Editor::deleteWithDirection, and another inside
TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent
addition (r19172), and adding it there caused regressions because it prevented the
code in deleteKeyPressed from ever running. The regressions were never caught because
JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.


This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
can handle it. That required moving code to handle the kill ring down into deleteKeyPressed.


Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
discrepancies between the behavior of JS deletions and manual deletions, so that we
have better test coverage.

  • editing/Editor.cpp: (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead of checking for that periodically throughout the function. There's really nothing to be done if it's null anyway. Move kill ring code down into deleteKeyPressed.
  • editing/Editor.h:
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::TypingCommand): (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed): (WebCore::TypingCommand::doApply):
  • editing/TypingCommand.h: (WebCore::TypingCommand::create):

LayoutTests:

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

Reviewed by Beth Dakin.


<rdar://problem/2610675> Blank line that is quoted can't be deleted


The old selection modification code for caret case deletions set the selection
about to be deleted on the frame, instead of just setting the endingSelection.

  • platform/mac/editing/deleting/delete-by-word-001-expected.txt:
  • platform/mac/editing/deleting/delete-by-word-002-expected.txt:
  • platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt:
  • platform/mac/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt:
  • platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
13:51 Changeset [38630] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Add isASCII to ASCIICType. Use coming soon!

  • wtf/ASCIICType.h: (WTF::isASCII):
13:41 Changeset [38629] by darin@apple.com
  • 7 edits in trunk

WebCore:

2008-11-20 Darin Adler <darin@apple.com>

Earlier version reviewed by Justin Garcia.

  • fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
  • editing/Editor.cpp: (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be handled even when the selection is not in an editable area. (WebCore::Editor::handleInputMethodKeydown): Ditto.
  • editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to allow use when there's a selection even if it's not in an editable area. This includes commands like shift-arrow keys to extend the slection, but not commands like arrow keys to move the insertion point.

WebKit/mac:

2008-11-20 Darin Adler <darin@apple.com>

Earlier version reviewed by Justin Garcia.

  • part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode Also resolves <rdar://problem/5000134>.
  • WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278 be Tiger-only. (-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag. (-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES. (-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used to prevent even processing the input, but that's not practical since some commands need to work even in non-editable regions.

LayoutTests:

2008-11-20 Darin Adler <darin@apple.com>

  • update test result for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
  • editing/selection/selection-actions.html: Removed the actions that are supposed to modify selections now.
13:25 Changeset [38628] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-20 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Add OwnPtr constructor and OwnPtr::adopt that take an auto_ptr.

  • wtf/OwnPtr.h: (WTF::OwnPtr::OwnPtr): (WTF::OwnPtr::adopt):
12:52 Changeset [38627] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

2008-11-20 Anders Carlsson <andersca@apple.com>

Reviewed by Jon Honeycutt.

Move some frame/page checking code down to the base class.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView start]):
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView _createPlugin]):
12:36 Changeset [38626] by ap@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22380
Fix WorkerContext refcounting

  • dom/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext):
  • dom/WorkerContext.h: (WebCore::WorkerContext::script): (WebCore::WorkerContext::clearScript): Added a method to manually destroy WorkerSctriptController.
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Destroy WorkerScriptController to release any references to WorkerContext.
11:40 Changeset [38625] by jchaffraix@webkit.org
  • 3 edits in trunk/WebCore

2008-11-19 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin Adler.

Last part of bug 21106: .in format discussed changes
https://bugs.webkit.org/show_bug.cgi?id=21106

  • Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
  • Cleaned up additionnal function parameters that were unneeded.
  • dom/make_names.pl:
  • html/HTMLTagNames.in:
10:52 Changeset [38624] by cwzwarich@webkit.org
  • 3 edits in trunk/LayoutTests

2008-11-20 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Add tests for bug 22148: nytime.com page crashes browser during load
<https://bugs.webkit.org/show_bug.cgi?id=22148>

This bug was unknowingly fixed in r38322 by a rewrite of the recursion
limit code.

  • fast/js/deep-recursion-test-expected.txt:
  • fast/js/deep-recursion-test.html:
10:18 Changeset [38623] by ap@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22383
Worker tests spill error messages over to consequent tests

  • dom/Worker.cpp: (WebCore::Worker::Worker): Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL in this case, and there is no sense in starting a thread and trying to parse document source as JavaScript.
  • bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker): Return quickly if toString() raised an exception.
10:11 Changeset [38622] by ap@webkit.org
  • 7 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22364
Crashes seen on Tiger buildbots due to worker threads exhausting pthread keys

  • runtime/Collector.cpp: (JSC::Heap::Heap): (JSC::Heap::destroy): (JSC::Heap::makeUsableFromMultipleThreads): (JSC::Heap::registerThread):
  • runtime/Collector.h: Pthread key for tracking threads is only created on request now, because this is a limited resource, and thread tracking is not needed for worker heaps, or for WebCore heap.
  • API/JSContextRef.cpp: (JSGlobalContextCreateInGroup): Call makeUsableFromMultipleThreads().
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::sharedInstance): Ditto.
  • runtime/JSGlobalData.h: (JSC::JSGlobalData::makeUsableFromMultipleThreads): Just forward the call to Heap, which clients need not know about, ideally.
09:38 Changeset [38621] by ggaren@apple.com
  • 6 edits in trunk/JavaScriptCore

2008-11-20 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more WREC refactoring.


Removed the "Register" suffix from register names in WREC, and renamed:

currentPosition => index
currentValue => character
quantifierCount => repeatCount


Added a top-level parsePattern function to the WREC parser, which
allowed me to remove the error() and atEndOfPattern() accessors.


Factored out an MSVC customization into a constant.


Renamed nextLabel => beginPattern.

  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateBacktrack1): (JSC::WREC::Generator::generateBacktrackBackreference): (JSC::WREC::Generator::generateBackreferenceQuantifier): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::generateBackreference): (JSC::WREC::Generator::generateDisjunction): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: (JSC::WREC::Parser::parsePattern):
08:43 Changeset [38620] by simon.fraser@apple.com
  • 8 edits
    4 adds in trunk

2008-11-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Adele Peterson.

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

Fix the painting and event handling in transformed search fields.
When painting the cancel and results button parts, get the rect from AppKit
relative to the input bounds (rather than in absolute coords), then convert
it into the coords of the part's renderer (which is the one that is painting).
To do this we need to compute an offset relative to some container, so expose
a method on RenderObject for that.

Also fix the location at which the search popup shows up to take transforms
into account, and fix the math that is used to figure out if the search
results button, or the cancel button should get the mouse events.

Test: fast/forms/search-transformed.html

  • rendering/RenderBox.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::offsetFromContainer):
  • rendering/RenderObject.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::forwardEvent): (WebCore::RenderTextControl::showPopup):
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::convertToPaintingRect): (WebCore::RenderThemeMac::paintSearchFieldCancelButton): (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
05:50 Changeset [38619] by hausmann@webkit.org
  • 1 edit in trunk/WebCore/platform/text/RegularExpression.cpp

Fix the previous submit and re-add accidential pcre/pcre.h inclusion

05:44 Changeset [38618] by hausmann@webkit.org
  • 13 edits in trunk

2008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon Hausmann.

Steps towards making the the Qt port of WebKit compile on Windows CE

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

02:47 Changeset [38617] by antti@apple.com
  • 7 edits in trunk/WebCore

2008-11-20 Antti Koivisto <antti@apple.com>

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=22379
Make CSSOM use less memory


  • Shrink CSSProperty by half by using bitfields.
  • Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::operator=):
  • css/CSSMutableStyleDeclaration.h: (WebCore::CSSMutableStyleDeclaration::setStrictParsing): (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
  • css/CSSProperty.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet):
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::setStrictParsing): (WebCore::CSSStyleSheet::useStrictParsing):
  • css/StyleBase.h: (WebCore::StyleBase::useStrictParsing): (WebCore::StyleBase::StyleBase):

11/19/08:

20:46 Changeset [38616] by darin@chromium.org
  • 2 edits in trunk/WebKit/qt

2008-11-19 Darin Fisher <darin@chromium.org>

Fix bustage.

https://bugs.webkit.org/show_bug.cgi?id=22373
Ports busted by addition of ScriptValue.{h,cpp}

  • Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript):
19:31 Changeset [38615] by darin@chromium.org
  • 2 edits in trunk/WebKit/qt

2008-11-19 Darin Fisher <darin@chromium.org>

Fix bustage.

https://bugs.webkit.org/show_bug.cgi?id=22373
Ports busted by addition of ScriptValue.{h,cpp}

  • Api/qwebframe.cpp:
19:27 Changeset [38614] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-19 Darin Fisher <darin@chromium.org>

Fix bustage.

https://bugs.webkit.org/show_bug.cgi?id=22373
Ports busted by addition of ScriptValue.{h,cpp}


  • plugins/PluginView.cpp: (WebCore::PluginView::performRequest):
19:19 Changeset [38613] by darin@chromium.org
  • 8 edits in trunk

2008-11-19 Darin Fisher <darin@chromium.org>

Bustage fix.

https://bugs.webkit.org/show_bug.cgi?id=22373
Ports busted by addition of ScriptValue.{h,cpp}

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCoreSources.bkl:
  • dom/XMLTokenizerQt.cpp:
  • plugins/PluginView.cpp:
18:44 Changeset [38612] by simon.fraser@apple.com
  • 4 edits
    2 adds in trunk

Reviewed by Antti Koivisto

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

Fix hit testing in controls on transformed video elements
by replacing absoluteBoundingBoxRect().contains() with
code that maps the point into local coords, taking
transforms into account.

Test: media/video-controls-transformed.html

  • platform/graphics/MediaPlayer.h:
  • rendering/RenderMedia.cpp: (WebCore::rendererContainsPoint): (WebCore::RenderMedia::forwardEvent):
18:33 Changeset [38611] by andersca@apple.com
  • 3 edits
    1 copy
    1 add in trunk

WebKit/mac:

2008-11-19 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Test: plugins/netscape-plugin-setwindow-size-2.html


Fix bug where NPP_SetWindow wasn't getting called for some plug-ins.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView updateAndSetWindow]): Don't bail if the drawing model is not the CA drawing model. Remove some code that was doing the wrong thing.

LayoutTests:

2008-11-19 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Add NPP_SetWindow test.


  • plugins/netscape-plugin-setwindow-size-2-expected.txt: Added.
  • plugins/netscape-plugin-setwindow-size-2.html: Copied from plugins/netscape-plugin-setwindow-size.html.
18:05 Changeset [38610] by darin@chromium.org
  • 19 edits
    2 adds in trunk

2008-11-18 Darin Fisher <darin@chromium.org>

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22345
Define ScriptValue as a thin container for a JSC::Value*.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScheduledAction.cpp:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptValue.cpp: Added. (WebCore::ScriptValue::getString):
  • bindings/js/ScriptValue.h: Added. (WebCore::ScriptValue::ScriptValue): (WebCore::ScriptValue::jsValue):
  • dom/ScriptElement.cpp:
  • dom/XMLTokenizer.cpp:
  • dom/XMLTokenizerLibxml2.cpp:
  • html/HTMLTokenizer.cpp:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeIfJavaScriptURL): (WebCore::FrameLoader::executeScript):
  • loader/FrameLoader.h:
17:53 Changeset [38609] by wsiegrist@apple.com
  • 1 edit in trunk/BugsSite/data/params

2008-11-19 William Siegrist <wsiegrist@apple.com>

Reviewed by David Kilzer

Sync config changes made to bugzilla on the server

17:33 Changeset [38608] by bdakin@apple.com
  • 2 edits in trunk/WebCore

2008-11-19 Beth Dakin <bdakin@apple.com>

Reviewed by Justin Garcia.

Fix for <rdar://problem/5472507> Remove color property when a user
sets color to black

This patch prevents us from inserting font nodes during the
ApplyStyleCommand if they will not change the computed style of an
element.

  • editing/ApplyStyleCommand.cpp: (WebCore::fontColorChangesComputedStyle): (WebCore::fontSizeChangesComputedStyle): (WebCore::fontFaceChangesComputedStyle): (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
17:30 Changeset [38607] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-19 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

<rdar://problem/6383762> WebKit r38340 crash on key press in plugin


Set the value to 0 before calling NPP_GetValue, in case the plug-in returns NPERR_NO_ERROR but does not
update the value.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]):
16:45 Changeset [38606] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2008-11-19 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

For transparent views, clear the dirty rect instead of painting it white.


  • WebView.cpp: (WebView::paintIntoBackingStore):
14:11 Changeset [38605] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-19 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Make sure to copy the MIME type.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
13:59 Changeset [38604] by ggaren@apple.com
  • 4 edits in trunk/WebKit/mac

2008-11-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


First step toward fixing <rdar://problem/6263293> WebScriptDebugDelegate
should use intptr_t for sourceId, not int


Added a conditional typedef (currently disabled) to switch sourceId to
intptr_t in non-Tiger, non-Leopard builds.

  • DefaultDelegates/WebDefaultScriptDebugDelegate.m: (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]): (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
  • WebView/WebScriptDebugDelegate.h:
  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): (WebScriptDebugger::callEvent): (WebScriptDebugger::atStatement): (WebScriptDebugger::returnEvent): (WebScriptDebugger::exception):
13:08 Changeset [38603] by ggaren@apple.com
  • 6 edits
    2 adds in trunk

JavaScriptCore:

2008-11-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=22361
A little more RegExp refactoring.


Consistently named variables holding the starting position at which
regexp matching should begin to "startOffset".


A few more "regExpObject" => "regExpConstructor" changes.


Refactored RegExpObject::match for clarity, and replaced a slow "get"
of the "global" property with a fast access to the global bit.


Made the error message you see when RegExpObject::match has no input a
little more informative, as in Firefox.

  • runtime/RegExp.cpp: (JSC::RegExp::match):
  • runtime/RegExp.h:
  • runtime/RegExpObject.cpp: (JSC::RegExpObject::match):
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):

LayoutTests:

2008-11-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


Test for https://bugs.webkit.org/show_bug.cgi?id=22361
A little more RegExp refactoring

  • fast/js/regexp-test-null-string.html: Added.
  • fast/js/regexp-test-null-expected.txt: Added.
13:07 Changeset [38602] by simon.fraser@apple.com
  • 5 edits in trunk/WebCore

2008-11-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

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

Need to educate style sharing about autofill, so that style does not
get shared between input elements that are autofilled, and those
that are not. Setting autofill should also do a setChanged on the node.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
  • dom/Node.h: (WebCore::Node::isAutofilled):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setAutofilled):
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::isAutofilled):
12:44 Changeset [38601] by brettw@chromium.org
  • 2 edits in trunk/WebCore

Reviewed by Antti Koivisto.

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

Clear the subresource loader client when the client is removed in
response to a 304 (not modified). This prevents an inconsistent state
where the loader thinks it's active and the loader::Host doesn't.

11:16 Changeset [38600] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-11-19 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


A little more refactoring.


Removed the "emit" and "emitUnlinked" prefixes from the assembler.


Moved the JmpSrc and JmpDst class definitions to the top of the X86
assembler class, in accordance with WebKit style guidelines.

  • assembler/X86Assembler.h: (JSC::X86Assembler::JmpSrc::JmpSrc): (JSC::X86Assembler::JmpDst::JmpDst): (JSC::X86Assembler::int3): (JSC::X86Assembler::pushl_m): (JSC::X86Assembler::popl_m): (JSC::X86Assembler::movl_rr): (JSC::X86Assembler::addl_rr): (JSC::X86Assembler::addl_i8r): (JSC::X86Assembler::addl_i8m): (JSC::X86Assembler::addl_i32r): (JSC::X86Assembler::addl_mr): (JSC::X86Assembler::andl_rr): (JSC::X86Assembler::andl_i32r): (JSC::X86Assembler::cmpl_i8r): (JSC::X86Assembler::cmpl_rr): (JSC::X86Assembler::cmpl_rm): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::cmpl_i32r): (JSC::X86Assembler::cmpl_i32m): (JSC::X86Assembler::cmpl_i8m): (JSC::X86Assembler::cmpw_rm): (JSC::X86Assembler::orl_rr): (JSC::X86Assembler::orl_mr): (JSC::X86Assembler::orl_i32r): (JSC::X86Assembler::subl_rr): (JSC::X86Assembler::subl_i8r): (JSC::X86Assembler::subl_i8m): (JSC::X86Assembler::subl_i32r): (JSC::X86Assembler::subl_mr): (JSC::X86Assembler::testl_i32r): (JSC::X86Assembler::testl_i32m): (JSC::X86Assembler::testl_rr): (JSC::X86Assembler::xorl_i8r): (JSC::X86Assembler::xorl_rr): (JSC::X86Assembler::sarl_i8r): (JSC::X86Assembler::sarl_CLr): (JSC::X86Assembler::shl_i8r): (JSC::X86Assembler::shll_CLr): (JSC::X86Assembler::imull_rr): (JSC::X86Assembler::imull_i32r): (JSC::X86Assembler::idivl_r): (JSC::X86Assembler::negl_r): (JSC::X86Assembler::movl_mr): (JSC::X86Assembler::movzbl_rr): (JSC::X86Assembler::movzwl_mr): (JSC::X86Assembler::movl_rm): (JSC::X86Assembler::movl_i32r): (JSC::X86Assembler::movl_i32m): (JSC::X86Assembler::leal_mr): (JSC::X86Assembler::jmp_r): (JSC::X86Assembler::jmp_m): (JSC::X86Assembler::movsd_mr): (JSC::X86Assembler::xorpd_mr): (JSC::X86Assembler::movsd_rm): (JSC::X86Assembler::movd_rr): (JSC::X86Assembler::cvtsi2sd_rr): (JSC::X86Assembler::cvttsd2si_rr): (JSC::X86Assembler::addsd_mr): (JSC::X86Assembler::subsd_mr): (JSC::X86Assembler::mulsd_mr): (JSC::X86Assembler::addsd_rr): (JSC::X86Assembler::subsd_rr): (JSC::X86Assembler::mulsd_rr): (JSC::X86Assembler::ucomis_rr): (JSC::X86Assembler::pextrw_irr): (JSC::X86Assembler::call): (JSC::X86Assembler::jmp): (JSC::X86Assembler::jne): (JSC::X86Assembler::jnz): (JSC::X86Assembler::je): (JSC::X86Assembler::jl): (JSC::X86Assembler::jb): (JSC::X86Assembler::jle): (JSC::X86Assembler::jbe): (JSC::X86Assembler::jge): (JSC::X86Assembler::jg): (JSC::X86Assembler::ja): (JSC::X86Assembler::jae): (JSC::X86Assembler::jo): (JSC::X86Assembler::jp): (JSC::X86Assembler::js): (JSC::X86Assembler::predictNotTaken): (JSC::X86Assembler::convertToFastCall): (JSC::X86Assembler::restoreArgumentReference): (JSC::X86Assembler::restoreArgumentReferenceForTrampoline): (JSC::X86Assembler::modRm_rr): (JSC::X86Assembler::modRm_rr_Unchecked): (JSC::X86Assembler::modRm_rm): (JSC::X86Assembler::modRm_rm_Unchecked): (JSC::X86Assembler::modRm_rmsib): (JSC::X86Assembler::modRm_opr): (JSC::X86Assembler::modRm_opr_Unchecked): (JSC::X86Assembler::modRm_opm): (JSC::X86Assembler::modRm_opm_Unchecked): (JSC::X86Assembler::modRm_opmsib):
  • jit/JIT.cpp: (JSC::JIT::emitNakedCall): (JSC::JIT::emitNakedFastCall): (JSC::JIT::emitCTICall): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::emitArithIntToImmWithJump): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::JIT::compileBinaryArithOp): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::privateCompilePatchGetArrayLength):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateBackreferenceQuantifier): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesNonGreedy): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::generateBackreference): (JSC::WREC::Generator::generateDisjunction):
10:28 Changeset [38599] by ap@webkit.org
  • 4 edits
    2 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22355
Systematize code for replacing global constructors

Test: fast/workers/worker-replace-global-constructor.html

  • bindings/js/JSDOMWindowBase.cpp: (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated code for global constructor setters does. (setJSDOMWindowBaseAudio): Ditto. (setJSDOMWindowBaseImage): Ditto. (setJSDOMWindowBaseMessageChannel): Ditto. (setJSDOMWindowBaseOption): Ditto. (setJSDOMWindowBaseWorker): Ditto. (setJSDOMWindowBaseXMLHttpRequest): Ditto. (setJSDOMWindowBaseXSLTProcessor): Ditto. (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
  • bindings/js/JSWorkerContext.cpp: (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties, as it is done for Window. (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global constructors are. (WebCore::setJSWorkerContextWorkerLocation): Ditto.
10:09 Changeset [38598] by bolsinga@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-19 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

All static C++ objects that create atexit calls are gone. Update script
to indicate how to fix the problem should a new one appear.


  • Scripts/check-for-exit-time-destructors:
09:57 Changeset [38597] by ap@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22341
Text codecs should not use static data without locking

  • platform/text/TextCodecICU.cpp:
  • platform/text/mac/TextCodecMac.cpp: Made cached converters per-thread.
  • platform/text/TextEncodingRegistry.cpp: (WebCore::encodingRegistryMutex): Added a mutex for codec maps access. (WebCore::addToTextCodecMap): Don't use TextEncoding just to cacnonicalize the name, as it causes a dedalock due to a recursive call into registry. (WebCore::buildBaseTextCodecMaps): Added assertions. (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps. (WebCore::atomicCanonicalTextEncodingName): Ditto. (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not necessary here.
09:57 Changeset [38596] by ap@webkit.org
  • 2 edits in trunk/WebCore

Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.

  • WebCorePrefix.h:
09:42 Changeset [38595] by ap@webkit.org
  • 25 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22310
Worker exceptions should be printed to console

  • dom/Document.cpp: (WebCore::Document::reportException):
  • dom/Document.h:
  • dom/ScriptExecutionContext.h:
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
  • dom/WorkerContext.h: Added a reportException() method on ScriptExecutionContext. It forwards the exception info up until it finds a Document context, and then it prints it to console.
  • bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering() could be called from workers. (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): Report exceptions to ScriptExecutionContext.
  • dom/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerTask::performTask): (WebCore::WorkerExceptionTask::create): (WebCore::WorkerExceptionTask::WorkerExceptionTask): (WebCore::WorkerExceptionTask::performTask): (WebCore::WorkerMessagingProxy::postWorkerException):
  • dom/WorkerMessagingProxy.h: Added a task for posting exception information.
  • bindings/js/JSDOMBinding.cpp: (WebCore::reportException): (WebCore::reportCurrentException):
  • bindings/js/JSDOMBinding.h: Added helper methods for reporting exceptions via ScriptExecutionContext.
  • page/Console.cpp:
  • page/Console.h: Removed methods for directly reporting exceptions to console.
  • bindings/js/JSCustomPositionCallback.cpp: (WebCore::JSCustomPositionCallback::handleEvent):
  • bindings/js/JSCustomPositionErrorCallback.cpp: (WebCore::JSCustomPositionErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLStatementCallback.cpp: (WebCore::JSCustomSQLStatementCallback::handleEvent):
  • bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent):
  • bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
  • bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::handleEvent):
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): Switch to JSDOMBinding methods for reporting exceptions.
08:19 Changeset [38594] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-11-19 Simon Hausmann <hausmann@webkit.org>

Sun CC build fix, removed trailing comman for last enum value.

04:17 Changeset [38593] by hausmann@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-11-19 Simon Hausmann <hausmann@webkit.org>

Fix the Qt build, remove file referenced in the qrc file that does not
exist and is not needed.

01:06 Changeset [38592] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Expand the workaround for Apple GCC compiler bug <rdar://problem/6354696> to all versions of GCC 4.0.1.
It has been observed with builds 5465 (Xcode 3.0) and 5484 (Xcode 3.1), and there is no evidence
that it has been fixed in newer builds of GCC 4.0.1.

This addresses <https://bugs.webkit.org/show_bug.cgi?id=22351> (WebKit nightly crashes on launch on 10.4.11).

Reviewed by Alexey Proskuryakov.

  • wtf/StdLibExtras.h:

11/18/08:

23:51 Changeset [38591] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Mark Rowe.

  • platform/ContextMenuItem.h: (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with the one in WebUIDelegate.h.
20:04 Changeset [38590] by cwzwarich@webkit.org
  • 3 edits
    3 adds in trunk

2008-11-18 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak and Geoff Garen.

Bug 22287: ASSERTION FAILED: Not enough jumps linked in slow case codegen in CTI::privateCompileSlowCases())
<https://bugs.webkit.org/show_bug.cgi?id=22287>

Fix a typo in the number cell reuse code where the first and second
operands are sometimes confused.

JavaScriptcore:

  • jit/JIT.cpp: (JSC::JIT::compileBinaryArithOpSlowCase):

LayoutTests:

  • fast/js/number-cell-reuse-expected.txt: Added.
  • fast/js/number-cell-reuse.html: Added.
  • fast/js/resources/number-cell-reuse.js: Added.
17:58 Changeset [38589] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22346
PlatformString should also include HashSet.h for non-JSC builds

  • platform/text/PlatformString.h:
17:22 Changeset [38588] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2008-11-18 Adele Peterson <adele@apple.com>

Reverting last change. I just realized it causes the view to never get cleared out.

  • WebView.cpp: (WebView::paintIntoBackingStore):
17:11 Changeset [38587] by adele@apple.com
  • 2 edits in trunk/WebKit/win

2008-11-18 Adele Peterson <adele@apple.com>

Reviewed by John Sullivan.

Don't fill the view with white if its transparent.


  • WebView.cpp: (WebView::paintIntoBackingStore):
16:57 Changeset [38586] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Mark Rowe.

  • WebView/WebUIDelegatePrivate.h: Reorder new enum values after existing ones.
16:46 Changeset [38585] by zecke@webkit.org
  • 2 edits in trunk/LayoutTests

2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Mark Rowe.

Skip some more tests to make the Gtk+ build bot pass. We will
have to investigate why some tests only fail on the build bot.

  • platform/gtk/Skipped:
16:25 Changeset [38584] by adele@apple.com
  • 2 edits in trunk/WebCore

2008-11-18 Adele Peterson <adele@apple.com>

Reviewed by Holger Hans Peter Freyther.

Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.

  • loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
16:05 Changeset [38583] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

2008-11-18 Sam Weinig <sam@webkit.org>

Fix incorrect result.

  • fast/dom/Window/window-properties-expected.txt:
15:52 Changeset [38582] by darin@chromium.org
  • 2 edits in trunk/WebCore

Reverting r38574 since it caused some layout test failures.

15:51 Changeset [38581] by zimmermann@webkit.org
  • 2 edits in trunk/LayoutTests

Not reviewed. Checked in wrong result in last commit.

15:39 Changeset [38580] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22343
Remove unused runtime/Collector, JSLock includes in Page.cpp

  • page/Page.cpp:
15:30 Changeset [38579] by adachan@apple.com
  • 2 edits in trunk/WebCore

Bug 22344: Make select popup window opaque
https://bugs.webkit.org/show_bug.cgi?id=22344

Reviewed by Steve Falkenburg.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show):
15:16 Changeset [38578] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-18 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22342
Remove unused JSLock.h include

  • dom/Document.cpp:
14:15 Changeset [38577] by zimmermann@webkit.org
  • 14 edits
    93 adds in trunk

Reviewed by Sam Weinig.

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

Add WMLBRElement, correcting <br/> behaviour in WML.
Enable entity replacment for WML documents.
Handle WML specific <p> 'mode' attribute.

Generate layout tests results for fast/wml.

Tests cases that pass now:
fast/wml/br-element-in-table.wml
fast/wml/br-element-in-text.wml
fast/wml/case-sensitivity.wml
fast/wml/cdata-section.wml
fast/wml/comment.wml
fast/wml/entity.wml
fast/wml/p-align.wml
fast/wml/p-mode.wml
fast/wml/text-emphasis.wml
fast/wml/validate-dtd.wml

14:04 Changeset [38576] by mitz@apple.com
  • 2 edits in trunk/JavaScriptCore
  • try to fix the Windows build
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
13:52 Changeset [38575] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Minor RegExp cleanup.


SunSpider says no change.

  • runtime/RegExpObject.cpp: (JSC::RegExpObject::match): Renamed "regExpObj" to "regExpConstructor".
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp): Instead of checking for a NULL output vector, ASSERT that the output vector is not NULL. (The rest of WREC is not safe to use with a NULL output vector, and we probably don't want to spend the time and/or performance to make it safe.)
13:21 Changeset [38574] by darin@chromium.org
  • 2 edits in trunk/WebCore

2008-11-18 Aaron Boodman aa@chromium.org

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=22301
Always call dispatchDidFinishDocumentLoad before Window's onload event.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedParsing):
12:38 Changeset [38573] by ggaren@apple.com
  • 2 edits in trunk/LayoutTests

2008-11-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Alexey Proskuryakov.


Updated layout test result for addition of window.Worker.

  • fast/js/global-constructors-expected.txt:
12:07 Changeset [38572] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-11-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


A little more renaming and refactoring.


VM_CHECK_EXCEPTION() => CHECK_FOR_EXCEPTION().
NEXT_INSTRUCTION => NEXT_INSTRUCTION().

Removed the "Error_" and "TempError_" prefixes from WREC error types.

Refactored the WREC parser so it doesn't need a "setError" function,
and changed "isEndOfPattern" and its use -- they read kind of backwards
before.


Changed our "TODO:" error messages at least to say something, since you
can't say "TODO:" in shipping software.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::cti_op_convert_this): (JSC::Interpreter::cti_op_add): (JSC::Interpreter::cti_op_pre_inc): (JSC::Interpreter::cti_op_loop_if_less): (JSC::Interpreter::cti_op_loop_if_lesseq): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second): (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id): (JSC::Interpreter::cti_op_get_by_id_second): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_fail): (JSC::Interpreter::cti_op_instanceof): (JSC::Interpreter::cti_op_del_by_id): (JSC::Interpreter::cti_op_mul): (JSC::Interpreter::cti_op_call_NotJSFunction): (JSC::Interpreter::cti_op_resolve): (JSC::Interpreter::cti_op_construct_NotJSConstruct): (JSC::Interpreter::cti_op_get_by_val): (JSC::Interpreter::cti_op_resolve_func): (JSC::Interpreter::cti_op_sub): (JSC::Interpreter::cti_op_put_by_val): (JSC::Interpreter::cti_op_put_by_val_array): (JSC::Interpreter::cti_op_lesseq): (JSC::Interpreter::cti_op_loop_if_true): (JSC::Interpreter::cti_op_negate): (JSC::Interpreter::cti_op_resolve_skip): (JSC::Interpreter::cti_op_resolve_global): (JSC::Interpreter::cti_op_div): (JSC::Interpreter::cti_op_pre_dec): (JSC::Interpreter::cti_op_jless): (JSC::Interpreter::cti_op_not): (JSC::Interpreter::cti_op_jtrue): (JSC::Interpreter::cti_op_post_inc): (JSC::Interpreter::cti_op_eq): (JSC::Interpreter::cti_op_lshift): (JSC::Interpreter::cti_op_bitand): (JSC::Interpreter::cti_op_rshift): (JSC::Interpreter::cti_op_bitnot): (JSC::Interpreter::cti_op_resolve_with_base): (JSC::Interpreter::cti_op_mod): (JSC::Interpreter::cti_op_less): (JSC::Interpreter::cti_op_neq): (JSC::Interpreter::cti_op_post_dec): (JSC::Interpreter::cti_op_urshift): (JSC::Interpreter::cti_op_bitxor): (JSC::Interpreter::cti_op_bitor): (JSC::Interpreter::cti_op_push_scope): (JSC::Interpreter::cti_op_to_jsnumber): (JSC::Interpreter::cti_op_in): (JSC::Interpreter::cti_op_del_by_val):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseGreedyQuantifier): (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::parseCharacterClass): (JSC::WREC::Parser::parseEscape):
  • wrec/WRECParser.h: (JSC::WREC::Parser::): (JSC::WREC::Parser::atEndOfPattern):
11:58 Changeset [38571] by bdakin@apple.com
  • 1 edit in trunk/WebKit/mac/ChangeLog

2008-11-17 Beth Dakin <bdakin@apple.com>

Reviewed by Adele Peterson.

Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail
message, the caret appears in message body by default

This fixes a regression caused by http://trac.webkit.org/changeset/36919.
That change was too sweeping; we do not want to
unconditionally set the page to be active, but we can be looser
than the original constraints. This patch set the window active if
the first responder is or is a descendant of the main frame's frame
view.

  • WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]):
11:57 Changeset [38570] by bdakin@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-17 Beth Dakin <bdakin@apple.com>

Reviewed by Adele Peterson.

Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail
message, the caret appears in message body by default

This fixes a regression caused by http://trac.webkit.org/changeset/

  1. That change was too sweeping; we do not want to unconditionally set the page to be active, but we can be looser than the original constraints. This patch set the window active if the first responder is or is a descendant of the main frame's frame view.
  • WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]):
11:23 Changeset [38569] by ap@webkit.org
  • 2 edits in trunk/WebCore

Windows build fix.

  • WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
10:26 Changeset [38568] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-11-18 Darin Adler <darin@apple.com>

  • try to fix Wx build
  • WebCoreSources.bkl: Added FrameLoaderClient.cpp.
10:25 Changeset [38567] by ap@webkit.org
  • 11 edits
    12 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22337
Enable workers by default

10:23 Changeset [38566] by darin@apple.com
  • 11 edits
    3 adds in trunk

WebCore:

2008-11-18 Darin Adler <darin@apple.com>

Reviewed by Alexey Proskuryakov.

Test: http/tests/xmlhttprequest/get-dangerous-headers.html

No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
require an updated CFNetwork.

  • platform/mac/CookieJar.mm: (WebCore::isHTTPOnly): Added. (WebCore::filterCookies): Added. (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies. (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
  • platform/network/win/CookieJarCFNetWin.cpp: (WebCore::isHTTPOnly): Added. (WebCore::filterCookies): Added. (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies. (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
  • xml/XMLHttpRequest.cpp: (WebCore::isSetCookieHeader): Added. (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from clients that don't have local-resource privileges. (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
  • clean soup-specific details out of shared cookie jar header
  • platform/CookieJar.h: Removed the soup-specific parts of this.
  • platform/network/soup/CookieJarSoup.cpp: Changed to include CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
  • platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified part of CookieJar.h.
  • platform/network/soup/ResourceHandleSoup.cpp: Changed to include CookieJarSoup.h.

LayoutTests:

2008-11-18 Darin Adler <darin@apple.com>

Reviewed by Alexey Proskuryakov.

  • add a test for XMLHttpRequest Set-Cookie blocking
  • http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt: Updated since we now log attempts to get headers that are not allowed cross-domain to the console.
  • http/tests/xmlhttprequest/get-dangerous-headers-expected.txt: Added.
  • http/tests/xmlhttprequest/get-dangerous-headers.html: Added.
  • http/tests/xmlhttprequest/resources/get-set-cookie.cgi: Tweak script a bit.
09:59 Changeset [38565] by sfalken@apple.com
  • 2 edits in trunk/WebCore

2008-11-18 Steve Falkenburg <sfalken@apple.com>

https://bugs.webkit.org/show_bug.cgi?id=22329
Improper bitwise and tests against 0 in Windows context menu code

Reviewed by John Sullivan.

  • platform/win/ContextMenuItemWin.cpp: (WebCore::ContextMenuItem::type): (WebCore::ContextMenuItem::enabled):
09:32 Changeset [38564] by sullivan@apple.com
  • 2 edits in trunk/WebCore

2008-11-18 John Sullivan <sullivan@apple.com>

Yet more Mac build fixing

  • WebCore.base.exp: Export ZTVN7WebCore17FrameLoaderClientE
08:19 Changeset [38563] by vestbo@webkit.org
  • 2 edits
    1 add in trunk/WebKit/qt

2008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>

Rubber-stamped by Tor Arne Vestbø.

Missing file in new unit test for QWebFrame (r38493).

  • tests/qwebframe/qwebframe.pro:
  • tests/qwebframe/qwebframe.qrc: Added.
08:09 Changeset [38562] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Make sure QWidget based plugins are invisible until placed into the layout

06:43 Changeset [38561] by ap@webkit.org
  • 4 edits in trunk/JavaScriptCore
  • Windows build fix
  • wrec/WRECFunctors.h:
  • wrec/WRECGenerator.h:
  • wrec/WRECParser.h: CharacterClass is a struct, not a class, fix forward declarations.
06:41 Changeset [38560] by vestbo@webkit.org
  • 4 edits in trunk

2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

React properly to frame rect changes for QWidget based plugins

We now set the geometry of the QWidget in frameRectsChanged,
intead of setFrameRect, which means we pick up the changes to
the frame rect when scrolling. We also set a mask on the
widget to keep it from painting over scrollbars and the like

06:41 Changeset [38559] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Don't mark scrollbars as focused in QtWebKit

When initing from the widget we also got the focus state,
but this does not make sense for scrollbars.

06:30 Changeset [38558] by zecke@webkit.org
  • 2 edits in trunk/WebKit/win

Try to fix the Windows build.

05:46 Changeset [38557] by ap@webkit.org
  • 2 edits in trunk/WebCore

More Mac build fixing.

  • WebCore.base.exp: Export FrameLoaderClient destructor.
04:53 Changeset [38556] by ap@webkit.org
  • 2 edits in trunk/WebCore

Mac build fix.

  • WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
04:37 Changeset [38555] by vestbo@webkit.org
  • 2 edits in trunk/WebKit/qt

2008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

Fix crash when trying to pick a file using the file chooser.

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::runOpenPanel):

2008-11-17 Geoffrey Garen <ggaren@apple.com>

04:33 Changeset [38554] by zecke@webkit.org
  • 14 edits
    1 add in trunk

Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports

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

After Hyatt's work on Widget and ScrollView there is little difference
between the implementation of Qt, Gtk+ and Win. In fact any kind of
difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
port and the Qt port has at least one of them left.

The only difference between the implementations is in getting the the
IntSize for the new FrameView, the background color to be applied and
eventually some post processing.

Unify the implementations by providing a static helper function that
takes a Frame, IntSize, color and transparency bit and calling it from
the Gtk+, the Qt and the Windows port.

04:32 Changeset [38553] by zecke@webkit.org
  • 5 edits in trunk

Move setting the background color and transparency to WebCore

Move setting the background color and transparency from WebKit/win
to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
to share this code.

03:36 Changeset [38552] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-17 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø.

Fix the bug where select elements are painted without border.
http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry

  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::paintMenuList):
02:06 Changeset [38551] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-11-18 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix. Not reviewed.

  • GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/, not in wml/.
00:53 Changeset [38550] by ap@webkit.org
  • 2 edits in trunk/WebKitTools

Rubber-stamped by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22306
Disable channel messaging support

  • Scripts/build-webkit: Add an option to enable channel messaging.
00:44 Changeset [38549] by ap@webkit.org
  • 12 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22308
Improve Worker GC behavior

  • dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
  • dom/ActiveDOMObject.h: Made hasPendingActivity() virtual, letting Worker add behavior to it.
  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Tell message proxy whether there are active objects in the worker whenever JS execution finishes.
  • dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects): Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
  • dom/Worker.h:
  • dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
  • dom/WorkerContext.h:
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered active objects for pending activity.
  • dom/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerContextTask::performTask): (WebCore::WorkerThreadActivityReportTask::create): (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): (WebCore::WorkerThreadActivityReportTask::performTask): (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): (WebCore::WorkerMessagingProxy::workerObjectDestroyed): (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage): (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity): (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
  • dom/WorkerMessagingProxy.h: Track outstanding messages, and activity reported by worker thread.
00:25 Changeset [38548] by mitz@apple.com
  • 2 edits in trunk/JavaScriptCore
  • Windows build fix
  • assembler/X86Assembler.h:
00:03 Changeset [38547] by ap@webkit.org
  • 8 edits
    12 moves
    1 add in trunk

Rubber-stamped by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22306
Disable channel messaging support

WebCore:

  • bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseMessageChannel):
  • page/DOMWindow.idl: Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel constructor is added, it remains enumerable, but undefined.

LayoutTests:

  • fast/events/message-port-no-wrapper.html-disabled: Added a test that I had in my tree.
  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/constructors-cached-expected.txt:
  • fast/dom/constructors-cached-navigate-expected.txt:
  • fast/js/global-constructors-expected.txt: Updated results.
  • fast/events/destroyed-atomic-string.html: Removed.
  • fast/events/destroyed-atomic-string.html-disabled: Copied from LayoutTests/fast/events/destroyed-atomic-string.html.
  • fast/events/message-channel-gc-2.html: Removed.
  • fast/events/message-channel-gc-2.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc-2.html.
  • fast/events/message-channel-gc-3.html: Removed.
  • fast/events/message-channel-gc-3.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc-3.html.
  • fast/events/message-channel-gc.html: Removed.
  • fast/events/message-channel-gc.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc.html.
  • fast/events/message-channel-listener-circular-ownership.html: Removed.
  • fast/events/message-channel-listener-circular-ownership.html-disabled: Copied from LayoutTests/fast/events/message-channel-listener-circular-ownership.html.
  • fast/events/message-port-constructor-for-deleted-document.html: Removed.
  • fast/events/message-port-constructor-for-deleted-document.html-disabled: Copied from LayoutTests/fast/events/message-port-constructor-for-deleted-document.html.
  • fast/events/message-port-deleted-document.html: Removed.
  • fast/events/message-port-deleted-document.html-disabled: Copied from LayoutTests/fast/events/message-port-deleted-document.html.
  • fast/events/message-port-deleted-frame.html: Removed.
  • fast/events/message-port-deleted-frame.html-disabled: Copied from LayoutTests/fast/events/message-port-deleted-frame.html.
  • fast/events/message-port-inactive-document.html: Removed.
  • fast/events/message-port-inactive-document.html-disabled: Copied from LayoutTests/fast/events/message-port-inactive-document.html.
  • fast/events/message-port-onclose.html: Removed.
  • fast/events/message-port-onclose.html-disabled: Copied from LayoutTests/fast/events/message-port-onclose.html.
  • fast/events/message-port.html: Removed.
  • fast/events/message-port.html-disabled: Copied from LayoutTests/fast/events/message-port.html.
  • http/tests/security/MessagePort/event-listener-context.html: Removed.
  • http/tests/security/MessagePort/event-listener-context.html-disabled: Copied from LayoutTests/http/tests/security/MessagePort/event-listener-context.html. Disabled MessagePort tests.

11/17/08:

19:34 Changeset [38546] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • wrec/Quantifier.h:
19:25 Changeset [38545] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • assembler/AssemblerBuffer.h:
19:17 Changeset [38544] by ggaren@apple.com
  • 11 edits
    9 copies in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Split WREC classes out into individual files, with a few modifications
to more closely match the WebKit coding style.

  • GNUmakefile.am:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/X86Assembler.h:
  • runtime/RegExp.cpp:
  • wrec/CharacterClass.cpp: Copied from wrec/CharacterClassConstructor.cpp. (JSC::WREC::CharacterClass::newline): (JSC::WREC::CharacterClass::digits): (JSC::WREC::CharacterClass::spaces): (JSC::WREC::CharacterClass::wordchar): (JSC::WREC::CharacterClass::nondigits): (JSC::WREC::CharacterClass::nonspaces): (JSC::WREC::CharacterClass::nonwordchar):
  • wrec/CharacterClass.h: Copied from wrec/CharacterClassConstructor.h.
  • wrec/CharacterClassConstructor.cpp: (JSC::WREC::CharacterClassConstructor::addSortedRange): (JSC::WREC::CharacterClassConstructor::append):
  • wrec/CharacterClassConstructor.h:
  • wrec/Quantifier.h: Copied from wrec/WREC.h.
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WREC.h:
  • wrec/WRECFunctors.cpp: Copied from wrec/WREC.cpp.
  • wrec/WRECFunctors.h: Copied from wrec/WREC.cpp. (JSC::WREC::GenerateAtomFunctor::~GenerateAtomFunctor): (JSC::WREC::GeneratePatternCharacterFunctor::GeneratePatternCharacterFunctor): (JSC::WREC::GenerateCharacterClassFunctor::GenerateCharacterClassFunctor): (JSC::WREC::GenerateBackreferenceFunctor::GenerateBackreferenceFunctor): (JSC::WREC::GenerateParenthesesNonGreedyFunctor::GenerateParenthesesNonGreedyFunctor):
  • wrec/WRECGenerator.cpp: Copied from wrec/WREC.cpp. (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateCharacterClass): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary):
  • wrec/WRECGenerator.h: Copied from wrec/WREC.h.
  • wrec/WRECParser.cpp: Copied from wrec/WREC.cpp. (JSC::WREC::Parser::parseGreedyQuantifier): (JSC::WREC::Parser::parseCharacterClassQuantifier): (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::parseCharacterClass): (JSC::WREC::Parser::parseEscape): (JSC::WREC::Parser::parseTerm):
  • wrec/WRECParser.h: Copied from wrec/WREC.h. (JSC::WREC::Parser::): (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::setError): (JSC::WREC::Parser::error): (JSC::WREC::Parser::recordSubpattern): (JSC::WREC::Parser::numSubpatterns): (JSC::WREC::Parser::ignoreCase): (JSC::WREC::Parser::multiline):
16:46 Changeset [38543] by zimmermann@webkit.org
  • 5 edits in trunk/WebCore

Reviewed by Mark Rowe.

Remove WBXML code. MainResourceLoader is not an appropriate location.
Revert until we find a better place.

The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.

16:23 Changeset [38542] by zimmermann@webkit.org
  • 2 edits in trunk/WebCore

Not reviewed. Build fix.
Oops, disable WML by default on Qt.

16:04 Changeset [38541] by zimmermann@webkit.org
  • 33 edits
    84 adds in trunk

Reviewed by George Staikos.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)

Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
Support for most other elements will be added step-by-step (merging in small chunks from a big patch).

WML is not build by default. Enabling possible in Qt, Gtk & Mac. Win/Wx are TODO.

15:57 Changeset [38540] by mitz@apple.com
  • 3 edits in trunk/LayoutTests

Reviewed by Mark Rowe.

Updated the expected results to the correct ones.

  • platform/mac/svg/text/text-text-08-b-expected.checksum:
  • platform/mac/svg/text/text-text-08-b-expected.png:
15:50 Changeset [38539] by ggaren@apple.com
  • 2 edits in trunk/WebKitSite

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig and Antti Koivisto.


Clarified the last coding style rule, which was a baffling in its
initial form.


(Now let's see if our code ever starts following this rule!)

  • coding/coding-style.html:
15:39 Changeset [38538] by beidson@apple.com
  • 2 edits in trunk/WebKitSite

2008-11-17 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

Clarify an edge case for acronym capitalization.

  • coding/coding-style.html:
15:37 Changeset [38537] by ggaren@apple.com
  • 2 edits in trunk/WebKit/qt

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix qt build.

  • Api/qwebframe.cpp:
15:36 Changeset [38536] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix a few builds.

  • JavaScriptCoreSources.bkl:
15:35 Changeset [38535] by ggaren@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
15:24 Changeset [38534] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix a few builds.

15:23 Changeset [38533] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

15:20 Changeset [38532] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.27.1

New tag.

15:16 Changeset [38531] by ggaren@apple.com
  • 18 edits
    2 copies
    1 add
    1 delete in trunk

JavaScriptCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/CTI.* => jit/JIT.*.


Removed VM.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp: Removed.
  • VM/CTI.h: Removed.
  • bytecode/CodeBlock.cpp:
  • interpreter/Interpreter.cpp:
  • jit: Added.
  • jit/JIT.cpp: Copied from VM/CTI.cpp.
  • jit/JIT.h: Copied from VM/CTI.h.
  • runtime/RegExp.cpp:

WebCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • WebCore.pro:
  • webcore-base.bkl:

WebKit/wx:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • presets/wxwebkit.bkl:
14:58 Changeset [38530] by ggaren@apple.com
  • 2 edits in trunk/WebKit/mac

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Mac build.

  • WebView/WebScriptDebugDelegate.mm:
14:40 Changeset [38529] by justin.garcia@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

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

Reviewed by Beth Dakin.

<rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level


There was code to intentionally avoid quoting pasted content if less than a paragraph of
it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because
that bug was about Paste and Match style for single paragraphs. And quote stripping for
Paste and Match style is handled elsewhere.

  • editing/markup.cpp: (WebCore::createMarkup):

LayoutTests:

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

Reviewed by Beth Dakin.


<rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level

  • editing/pasteboard/4922709-expected.txt: Added.
  • editing/pasteboard/4922709.html: Added.
  • editing/pasteboard/5006779.html:
14:11 Changeset [38528] by ggaren@apple.com
  • 35 edits
    4 moves in trunk

JavaScriptCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved runtime/ExecState.* => interpreter/CallFrame.*.

  • API/JSBase.cpp:
  • API/OpaqueJSString.cpp:
  • GNUmakefile.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • debugger/DebuggerCallFrame.h:
  • interpreter/CallFrame.cpp: Copied from runtime/ExecState.cpp.
  • interpreter/CallFrame.h: Copied from runtime/ExecState.h.
  • interpreter/Interpreter.cpp:
  • parser/Nodes.cpp:
  • profiler/ProfileGenerator.cpp:
  • profiler/Profiler.cpp:
  • runtime/ClassInfo.h:
  • runtime/Collector.cpp:
  • runtime/Completion.cpp:
  • runtime/ExceptionHelpers.cpp:
  • runtime/ExecState.cpp: Removed.
  • runtime/ExecState.h: Removed.
  • runtime/Identifier.cpp:
  • runtime/JSFunction.cpp:
  • runtime/JSGlobalObjectFunctions.cpp:
  • runtime/JSLock.cpp:
  • runtime/JSNumberCell.h:
  • runtime/JSObject.h:
  • runtime/JSString.h:
  • runtime/Lookup.h:
  • runtime/PropertyNameArray.h:

JavaScriptGlue:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore rename.

  • ForwardingHeaders/runtime/CallFrame.h: Copied from JavaScriptGlue/ForwardingHeaders/runtime/ExecState.h.
  • ForwardingHeaders/runtime/ExecState.h: Removed.
  • config.h:

WebCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore rename.

  • ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
  • ForwardingHeaders/runtime/ExecState.h: Removed.
  • bindings/objc/WebScriptObject.mm:
  • bridge/c/c_instance.cpp:
  • bridge/jni/jni_jsobject.mm:
  • dom/Node.cpp:
  • dom/NodeFilter.cpp:
  • dom/NodeIterator.cpp:
  • dom/TreeWalker.cpp:
  • inspector/JavaScriptCallFrame.h:
14:10 Changeset [38527] by dino@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Maciej.

Pixel tests should use a default tolerance of 0.1% on Leopard and 1.0%
on Tiger.

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

  • Scripts/run-webkit-tests:
14:05 Changeset [38526] by dino@apple.com
  • 20 edits
    5 adds in trunk

WebCore:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Added functionality to AnimationController to allow pausing a running
animation or transition at a given time for testing purposes.

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

Tests: animations/animation-drt-api.html

transitions/transition-drt-api.html

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine): (WebCore::AnimationBase::progress): (WebCore::AnimationBase::pauseAtTime):
  • page/animation/AnimationBase.h:
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): (WebCore::AnimationController::pauseAnimationAtTime): (WebCore::AnimationController::pauseTransitionAtTime):
  • page/animation/AnimationController.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::isAnimating): (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime): (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime): (WebCore::CompositeAnimation::pauseAnimationAtTime): (WebCore::CompositeAnimation::pauseTransitionAtTime):
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::animate):

WebKit/mac:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Added SPI to allow pausing a running CSS transition or animation
at a given time for testing purposes.

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

  • WebView/WebFrame.mm: (-[WebFrame _pauseAnimation:onNode:atTime:]): (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]):
  • WebView/WebFramePrivate.h:

WebKitTools:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Added new JavaScript API on LayoutController to pause a running
CSS transition or animation at a given time.

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

  • DumpRenderTree/LayoutTestController.cpp: (pauseAnimationAtTimeOnElementWithIdCallback): (pauseTransitionAtTimeOnElementWithIdCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):

LayoutTests:
2008-11-17 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Sam Weinig.

Added tests to cover the new LayoutController JavaScript API available
in DRT (Mac only).

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

  • animations/animation-drt-api.html: Added.
  • platform/mac/animations/animation-drt-api-expected.txt: Added.
  • platform/mac/transitions/transition-drt-api-expected.txt: Added.
  • platform/win/Skipped:
  • transitions/transition-drt-api.html: Added.
13:53 Changeset [38525] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • API/APICast.h:
13:51 Changeset [38524] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • API/APICast.h:
  • runtime/ExecState.h:
13:44 Changeset [38523] by ggaren@apple.com
  • 8 edits
    2 moves in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/SamplingTool.* => bytecode/SamplingTool.*.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/SamplingTool.cpp: Removed.
  • VM/SamplingTool.h: Removed.
  • bytecode/SamplingTool.cpp: Copied from VM/SamplingTool.cpp.
  • bytecode/SamplingTool.h: Copied from VM/SamplingTool.h.
  • jsc.cpp: (runWithScripts):
13:35 Changeset [38522] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • runtime/ExecState.h:
13:34 Changeset [38521] by ggaren@apple.com
  • 7 edits
    1 move in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/ExceptionHelpers.cpp => runtime/ExceptionHelpers.cpp.

  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/ExceptionHelpers.cpp: Removed.
  • runtime/ExceptionHelpers.cpp: Copied from VM/ExceptionHelpers.cpp.
13:29 Changeset [38520] by ggaren@apple.com
  • 8 edits
    1 move in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/RegisterFile.cpp => interpreter/RegisterFile.cpp.

  • AllInOneFile.cpp:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/RegisterFile.cpp: Removed.
  • interpreter/RegisterFile.cpp: Copied from VM/RegisterFile.cpp.
13:28 Changeset [38519] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch/WebKit/mac

Merge r31925.

13:28 Changeset [38518] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

Versioning.

13:22 Changeset [38517] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

13:20 Changeset [38516] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

13:19 Changeset [38515] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

13:09 Changeset [38514] by ggaren@apple.com
  • 4 edits
    3 moves in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved:

VM/ExceptionHelpers.h => runtime/ExceptionHelpers.h
VM/Register.h => interpreter/Register.h
VM/RegisterFile.h => interpreter/RegisterFile.h



  • GNUmakefile.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/ExceptionHelpers.h: Removed.
  • VM/Register.h: Removed.
  • VM/RegisterFile.h: Removed.
  • interpreter/Register.h: Copied from VM/Register.h.
  • interpreter/RegisterFile.h: Copied from VM/RegisterFile.h.
  • runtime/ExceptionHelpers.h: Copied from VM/ExceptionHelpers.h.
13:03 Changeset [38513] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

13:02 Changeset [38512] by ggaren@apple.com
  • 8 edits
    1 move in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/Machine.cpp => interpreter/Interpreter.cpp.

  • DerivedSources.make:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/Machine.cpp: Removed.
  • interpreter/Interpreter.cpp: Copied from VM/Machine.cpp.
12:57 Changeset [38511] by ggaren@apple.com
  • 34 edits
    1 copy
    1 move
    2 adds
    1 delete in trunk

JavaScriptCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved VM/Machine.h => interpreter/Interpreter.h

  • GNUmakefile.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/ExceptionHelpers.cpp:
  • VM/Machine.cpp:
  • VM/Machine.h: Removed.
  • VM/SamplingTool.cpp:
  • bytecode/CodeBlock.cpp:
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • debugger/DebuggerCallFrame.cpp:
  • interpreter: Added.
  • interpreter/Interpreter.h: Copied from VM/Machine.h.
  • profiler/ProfileGenerator.cpp:
  • runtime/Arguments.h:
  • runtime/ArrayPrototype.cpp:
  • runtime/Collector.cpp:
  • runtime/Completion.cpp:
  • runtime/ExecState.h:
  • runtime/FunctionPrototype.cpp:
  • runtime/JSActivation.cpp:
  • runtime/JSFunction.cpp:
  • runtime/JSGlobalData.cpp:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObjectFunctions.cpp:
  • wrec/WREC.cpp:

WebCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • ForwardingHeaders/VM: Removed.
  • ForwardingHeaders/VM/Machine.h: Removed.
  • ForwardingHeaders/interpreter: Added.
  • ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
  • WebCore.pro:
  • bindings/js/JSXMLHttpRequestCustom.cpp:
  • page/Console.cpp:
  • webcore-base.bkl:

WebKit/wx:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Updated for JavaScriptCore renames.

  • presets/wxwebkit.bkl:
10:32 Changeset [38510] by ggaren@apple.com
  • 2 edits in trunk/WebKit/wx

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix wx build.

  • presets/wxwebkit.bkl:
09:55 Changeset [38509] by ggaren@apple.com
  • 24 edits
    2 moves
    2 deletes in trunk

JavaScriptCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved runtime/Interpreter.cpp => runtime/Completion.cpp.

Moved functions from Interpreter.h to Completion.h, and removed
Interpreter.h from the project.

  • API/JSBase.cpp:
  • AllInOneFile.cpp:
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • jsc.cpp:
  • runtime/Completion.cpp: Copied from runtime/Interpreter.cpp.
  • runtime/Completion.h:
  • runtime/Interpreter.cpp: Removed.
  • runtime/Interpreter.h: Removed.

WebCore:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Updated for JavaScriptCore renames.

  • ForwardingHeaders/runtime/Interpreter.h: Removed.
  • WebCore.vcproj/WebCore.vcproj:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/WorkerScriptController.cpp:
  • bindings/objc/WebScriptObject.mm:
  • bridge/NP_jsobject.cpp:
  • bridge/jni/jni_jsobject.mm:
  • html/CanvasRenderingContext2D.cpp:
  • inspector/JavaScriptCallFrame.cpp:
  • page/Console.cpp:

WebKit/mac:

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Updated for JavaScriptCore renames.

  • ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/runtime/Interpreter.h.
  • ForwardingHeaders/runtime/Interpreter.h: Removed.
  • WebView/WebScriptDebugDelegate.mm:
09:36 Changeset [38508] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler.

<https://bugs.webkit.org/show_bug.cgi?id=22312>
Fix PCRE include path problem on Qt-port

09:34 Changeset [38507] by ggaren@apple.com
  • 3 edits in trunk/WebKitTools

2008-11-17 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler.

<https://bugs.webkit.org/show_bug.cgi?id=22309>
Pass the remaining options to build system on Qt-port

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:
09:34 Changeset [38506] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Darin Adler.

<https://bugs.webkit.org/show_bug.cgi?id=22313>
Add missing CTI source to the build system on Qt-port

09:31 Changeset [38505] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix JSGlue build.

09:23 Changeset [38504] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Try to fix wx build.

  • webcore-base.bkl:
09:22 Changeset [38503] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

  • jsc.pro:
09:11 Changeset [38502] by bolsinga@apple.com
  • 6 edits in trunk/WebCore

2008-11-17 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Find some missing DEFINE_STATIC_LOCAL use cases.

09:00 Changeset [38501] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Try to fix Qt build.

  • WebCore.pro:
08:55 Changeset [38500] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

08:50 Changeset [38499] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

08:43 Changeset [38498] by ggaren@apple.com
  • 9 edits
    6 moves
    1 add in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


More file moves:


VM/CodeBlock.* => bytecode/CodeBlock.*
VM/EvalCodeCache.h => bytecode/EvalCodeCache.h
VM/Instruction.h => bytecode/Instruction.h
VM/Opcode.* => bytecode/Opcode.*

  • GNUmakefile.am:
  • JavaScriptCore.scons:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.vcproj/jsc/jsc.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • VM/CodeBlock.cpp: Removed.
  • VM/CodeBlock.h: Removed.
  • VM/EvalCodeCache.h: Removed.
  • VM/Instruction.h: Removed.
  • VM/Opcode.cpp: Removed.
  • VM/Opcode.h: Removed.
  • bytecode: Added.
  • bytecode/CodeBlock.cpp: Copied from VM/CodeBlock.cpp.
  • bytecode/CodeBlock.h: Copied from VM/CodeBlock.h.
  • bytecode/EvalCodeCache.h: Copied from VM/EvalCodeCache.h.
  • bytecode/Instruction.h: Copied from VM/Instruction.h.
  • bytecode/Opcode.cpp: Copied from VM/Opcode.cpp.
  • bytecode/Opcode.h: Copied from VM/Opcode.h.
  • jsc.pro:
  • jscore.bkl:
08:24 Changeset [38497] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix a few more builds.

08:22 Changeset [38496] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • GNUmakefile.am:
08:20 Changeset [38495] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

08:18 Changeset [38494] by ggaren@apple.com
  • 6 edits
    5 moves in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Some file moves:


VM/LabelID.h => bytecompiler/Label.h
VM/RegisterID.h => bytecompiler/RegisterID.h
VM/SegmentedVector.h => bytecompiler/SegmentedVector.h
bytecompiler/CodeGenerator.* => bytecompiler/BytecodeGenerator.*

  • AllInOneFile.cpp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/LabelID.h: Removed.
  • VM/RegisterID.h: Removed.
  • VM/SegmentedVector.h: Removed.
  • bytecompiler/BytecodeGenerator.cpp: Copied from bytecompiler/CodeGenerator.cpp.
  • bytecompiler/BytecodeGenerator.h: Copied from bytecompiler/CodeGenerator.h.
  • bytecompiler/CodeGenerator.cpp: Removed.
  • bytecompiler/CodeGenerator.h: Removed.
  • bytecompiler/Label.h: Copied from VM/LabelID.h.
  • bytecompiler/LabelScope.h:
  • bytecompiler/RegisterID.h: Copied from VM/RegisterID.h.
  • bytecompiler/SegmentedVector.h: Copied from VM/SegmentedVector.h.
  • jsc.cpp:
  • parser/Nodes.cpp:
07:13 Changeset [38493] by hausmann@webkit.org
  • 3 edits
    1 add in trunk/WebKit/qt

2008-11-17 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Tor Arne Vestbø and Simon Hausmann.

Fix regression when loading resources from Qt resource system using qrc:/.

Added a unit test to catch future regression.

  • Api/qwebpage.cpp: (QWebPagePrivate::QWebPagePrivate):
  • tests/qwebframe/image.png: Added.
  • tests/qwebframe/tst_qwebframe.cpp:
00:46 Changeset [38492] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

00:34 Changeset [38491] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

00:03 Changeset [38490] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-17 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

11/16/08:

22:53 Changeset [38489] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

22:34 Changeset [38488] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

22:27 Changeset [38487] by ggaren@apple.com
  • 4 edits
    2 copies
    1 add
    1 delete in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Moved masm => assembler and split "AssemblerBuffer.h" out of "X86Assembler.h".


Also renamed ENABLE_MASM to ENABLE_ASSEMBLER.

  • GNUmakefile.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler: Added.
  • assembler/AssemblerBuffer.h: Copied from masm/X86Assembler.h. (JSC::AssemblerBuffer::AssemblerBuffer): (JSC::AssemblerBuffer::~AssemblerBuffer): (JSC::AssemblerBuffer::ensureSpace): (JSC::AssemblerBuffer::isAligned): (JSC::AssemblerBuffer::putByteUnchecked): (JSC::AssemblerBuffer::putByte): (JSC::AssemblerBuffer::putShortUnchecked): (JSC::AssemblerBuffer::putShort): (JSC::AssemblerBuffer::putIntUnchecked): (JSC::AssemblerBuffer::putInt): (JSC::AssemblerBuffer::data): (JSC::AssemblerBuffer::size): (JSC::AssemblerBuffer::reset): (JSC::AssemblerBuffer::executableCopy): (JSC::AssemblerBuffer::grow):
  • assembler/X86Assembler.h: Copied from masm/X86Assembler.h.
  • masm: Removed.
  • masm/X86Assembler.h: Removed.
  • wtf/Platform.h:
22:19 Changeset [38486] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Changed "window." to "this." to unbreak these test I just broke in
non-browser builds.

  • fast/js/resources/duplicate-param-gc-crash.js: (gc):
  • fast/js/resources/var-shadows-arg-gc-crash.js: (gc):
22:15 Changeset [38485] by ggaren@apple.com
  • 3 edits in trunk/LayoutTests

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Sped up two of the slowest JS layout tests by replacing some hand-rolled
"force GC" code with something orders of magnitude faster.

  • fast/js/resources/duplicate-param-gc-crash.js: (gc):
  • fast/js/resources/var-shadows-arg-gc-crash.js: (gc):
21:52 Changeset [38484] by ggaren@apple.com
  • 2 edits in trunk

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • configure.ac:
21:49 Changeset [38483] by ggaren@apple.com
  • 2 edits in trunk/WebKit/win

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Windows build.

  • WebCoreSupport/WebFrameLoaderClient.cpp:
21:44 Changeset [38482] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • GNUmakefile.am:
21:30 Changeset [38481] by ggaren@apple.com
  • 1 edit
    3 deletes in trunk/LayoutTests

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Removed ascii-regexp-subject.html because it was the slowest JS test (20s
on my iMac) and it didn't actually verify anything.


Filed https://bugs.webkit.org/show_bug.cgi?id=22303 to cover fixing
the bug that ascii-regexp-subject.html purported to test for, and
then relanding a faster version of ascii-regexp-subject.html once it
would pass (currently, it would fail).

  • fast/js/ascii-regexp-subject-expected.txt: Removed.
  • fast/js/ascii-regexp-subject.html: Removed.
  • fast/js/resources/ascii-regexp-subject.js: Removed.
21:03 Changeset [38480] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Fixed tyop.

  • VM/CTI.cpp:
20:59 Changeset [38479] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix windows build.

  • VM/CTI.cpp:
20:50 Changeset [38478] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • GNUmakefile.am:
20:25 Changeset [38477] by ggaren@apple.com
  • 13 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Renamed ENABLE_CTI and ENABLE(CTI) to ENABLE_JIT and ENABLE(JIT).

  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::~CodeBlock):
  • VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock):
  • VM/Machine.cpp: (JSC::Interpreter::Interpreter): (JSC::Interpreter::initialize): (JSC::Interpreter::~Interpreter): (JSC::Interpreter::execute): (JSC::Interpreter::privateExecute):
  • VM/Machine.h:
  • bytecompiler/CodeGenerator.cpp: (JSC::prepareJumpTableForStringSwitch):
  • runtime/JSFunction.cpp: (JSC::JSFunction::~JSFunction):
  • runtime/JSGlobalData.h:
  • wrec/WREC.h:
  • wtf/Platform.h:
  • wtf/TCSystemAlloc.cpp:
20:17 Changeset [38476] by bolsinga@apple.com
  • 2 edits in trunk/WebKitTools

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Remove .o files from the exclude list that have had their exit-time destructors removed.
Handle case when there is no current symbol.

20:09 Changeset [38475] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix gtk build.

  • VM/CTI.cpp:
19:44 Changeset [38474] by simon.fraser@apple.com
  • 5 edits
    4 adds in trunk

2008-11-16 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

Fix resize corner tracking in transformed elements by using
mapping the point into local coords using absoluteToLocal,
rather than convertToLayerCoords.

Test: fast/css/resize-corner-tracking-transformed.html

  • page/EventHandler.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::absoluteToContents): (WebCore::RenderLayer::offsetFromResizeCorner): (WebCore::RenderLayer::isPointInResizeControl):
  • rendering/RenderLayer.h:
19:34 Changeset [38473] by ggaren@apple.com
  • 20 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by a few people on squirrelfish-dev.


Renamed CTI => JIT.

  • VM/CTI.cpp: (JSC::JIT::killLastResultRegister): (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitGetVirtualRegisters): (JSC::JIT::emitPutCTIArgFromVirtualRegister): (JSC::JIT::emitPutCTIArg): (JSC::JIT::emitGetCTIArg): (JSC::JIT::emitPutCTIArgConstant): (JSC::JIT::getConstantImmediateNumericArg): (JSC::JIT::emitPutCTIParam): (JSC::JIT::emitGetCTIParam): (JSC::JIT::emitPutToCallFrameHeader): (JSC::JIT::emitGetFromCallFrameHeader): (JSC::JIT::emitPutVirtualRegister): (JSC::JIT::emitInitRegister): (JSC::JIT::printBytecodeOperandTypes): (JSC::JIT::emitAllocateNumber): (JSC::JIT::emitNakedCall): (JSC::JIT::emitNakedFastCall): (JSC::JIT::emitCTICall): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::linkSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitJumpSlowCaseIfNotImmNums): (JSC::JIT::getDeTaggedConstantImmediate): (JSC::JIT::emitFastArithDeTagImmediate): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithReTagImmediate): (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitFastArithImmToInt): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::emitFastArithIntToImmNoCheck): (JSC::JIT::emitArithIntToImmWithJump): (JSC::JIT::emitTagAsBoolImmediate): (JSC::JIT::JIT): (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCallEvalSetupArgs): (JSC::JIT::compileOpConstructSetupArgs): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileLinkPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::unlinkCall): (JSC::JIT::linkCall): (JSC::JIT::privateCompileCTIMachineTrampolines): (JSC::JIT::freeCTIMachineTrampolines): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::emitGetVariableObjectRegister): (JSC::JIT::emitPutVariableObjectRegister):
  • VM/CTI.h: (JSC::JIT::compile): (JSC::JIT::compileGetByIdSelf): (JSC::JIT::compileGetByIdProto): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compilePutByIdReplace): (JSC::JIT::compilePutByIdTransition): (JSC::JIT::compileCTIMachineTrampolines): (JSC::JIT::compilePatchGetArrayLength):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::unlinkCallers):
  • VM/Machine.cpp: (JSC::Interpreter::initialize): (JSC::Interpreter::~Interpreter): (JSC::Interpreter::execute): (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_call_JSFunction): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall):
  • VM/Machine.h:
  • VM/RegisterFile.h:
  • parser/Nodes.h:
  • runtime/JSArray.h:
  • runtime/JSCell.h:
  • runtime/JSFunction.h:
  • runtime/JSImmediate.h:
  • runtime/JSNumberCell.h:
  • runtime/JSObject.h:
  • runtime/JSString.h:
  • runtime/JSVariableObject.h:
  • runtime/ScopeChain.h:
  • runtime/Structure.h:
  • runtime/TypeInfo.h:
  • runtime/UString.h:
19:28 Changeset [38472] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix wx build.

  • jscore.bkl:
19:21 Changeset [38471] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Nixed X86
and X86Assembler:: prefixes in a lot of places using typedefs.
  • VM/CTI.cpp: (JSC::CTI::emitGetVirtualRegister): (JSC::CTI::emitGetVirtualRegisters): (JSC::CTI::emitPutCTIArgFromVirtualRegister): (JSC::CTI::emitPutCTIArg): (JSC::CTI::emitGetCTIArg): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutVirtualRegister): (JSC::CTI::emitNakedCall): (JSC::CTI::emitNakedFastCall): (JSC::CTI::emitCTICall): (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::emitJumpSlowCaseIfNotImmNum): (JSC::CTI::emitJumpSlowCaseIfNotImmNums): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithDeTagImmediateJumpIfZero): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::emitArithIntToImmWithJump): (JSC::CTI::emitTagAsBoolImmediate): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::emitGetVariableObjectRegister): (JSC::CTI::emitPutVariableObjectRegister):
  • VM/CTI.h: (JSC::CallRecord::CallRecord): (JSC::JmpTable::JmpTable): (JSC::SlowCaseEntry::SlowCaseEntry): (JSC::CTI::JSRInfo::JSRInfo):
  • wrec/WREC.h:
19:17 Changeset [38470] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Try to fix Qt build.

  • WebCore.pro:
19:13 Changeset [38469] by bolsinga@apple.com
  • 4 edits in trunk/WebKit/mac

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Use DEFINE_STATIC_LOCAL for static RetainPtr<T>

19:05 Changeset [38468] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Try to fix Qt build.

19:02 Changeset [38467] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed OBJECT_OFFSET => FIELD_OFFSET

Nixed use of OBJECT_OFFSET outside of CTI.cpp by making CTI a friend in
more places.

  • VM/CTI.cpp: (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::emitGetVariableObjectRegister): (JSC::CTI::emitPutVariableObjectRegister):
  • runtime/JSValue.h:
  • runtime/JSVariableObject.h:
18:40 Changeset [38466] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renames:


X86Assembler::copy => X86Assembler::executableCopy
AssemblerBuffer::copy => AssemblerBuffer::executableCopy

  • VM/CTI.cpp: (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::privateCompilePatchGetArrayLength):
  • masm/X86Assembler.h: (JSC::AssemblerBuffer::executableCopy): (JSC::X86Assembler::executableCopy):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
18:33 Changeset [38465] by ggaren@apple.com
  • 7 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed WREC => JSC::WREC, removing JSC:: prefix in a lot of places.
Renamed WRECFunction => WREC::CompiledRegExp, and deployed this type
name in place of a few casts.

  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::~RegExp): (JSC::RegExp::match):
  • runtime/RegExp.h:
  • wrec/CharacterClassConstructor.cpp:
  • wrec/CharacterClassConstructor.h:
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WREC.h: (JSC::WREC::Generator::Generator): (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::parseAlternative):
18:21 Changeset [38464] by ggaren@apple.com
  • 19 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Renamed BytecodeInterpreter => Interpreter.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::freeCTIMachineTrampolines): (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace): (JSC::CTI::privateCompilePatchGetArrayLength):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructures): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures):
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::Interpreter::resolve): (JSC::Interpreter::resolveSkip): (JSC::Interpreter::resolveGlobal): (JSC::Interpreter::resolveBase): (JSC::Interpreter::resolveBaseAndProperty): (JSC::Interpreter::resolveBaseAndFunc): (JSC::Interpreter::slideRegisterWindowForCall): (JSC::Interpreter::callEval): (JSC::Interpreter::Interpreter): (JSC::Interpreter::initialize): (JSC::Interpreter::~Interpreter): (JSC::Interpreter::dumpCallFrame): (JSC::Interpreter::dumpRegisters): (JSC::Interpreter::isOpcode): (JSC::Interpreter::unwindCallFrame): (JSC::Interpreter::throwException): (JSC::Interpreter::execute): (JSC::Interpreter::debug): (JSC::Interpreter::resetTimeoutCheck): (JSC::Interpreter::checkTimeout): (JSC::Interpreter::createExceptionScope): (JSC::Interpreter::tryCachePutByID): (JSC::Interpreter::uncachePutByID): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::uncacheGetByID): (JSC::Interpreter::privateExecute): (JSC::Interpreter::retrieveArguments): (JSC::Interpreter::retrieveCaller): (JSC::Interpreter::retrieveLastCaller): (JSC::Interpreter::findFunctionCallFrame): (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::Interpreter::cti_op_convert_this): (JSC::Interpreter::cti_op_end): (JSC::Interpreter::cti_op_add): (JSC::Interpreter::cti_op_pre_inc): (JSC::Interpreter::cti_timeout_check): (JSC::Interpreter::cti_register_file_check): (JSC::Interpreter::cti_op_loop_if_less): (JSC::Interpreter::cti_op_loop_if_lesseq): (JSC::Interpreter::cti_op_new_object): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second): (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id): (JSC::Interpreter::cti_op_get_by_id_second): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_fail): (JSC::Interpreter::cti_op_instanceof): (JSC::Interpreter::cti_op_del_by_id): (JSC::Interpreter::cti_op_mul): (JSC::Interpreter::cti_op_new_func): (JSC::Interpreter::cti_op_call_JSFunction): (JSC::Interpreter::cti_op_call_arityCheck): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall): (JSC::Interpreter::cti_op_push_activation): (JSC::Interpreter::cti_op_call_NotJSFunction): (JSC::Interpreter::cti_op_create_arguments): (JSC::Interpreter::cti_op_create_arguments_no_params): (JSC::Interpreter::cti_op_tear_off_activation): (JSC::Interpreter::cti_op_tear_off_arguments): (JSC::Interpreter::cti_op_profile_will_call): (JSC::Interpreter::cti_op_profile_did_call): (JSC::Interpreter::cti_op_ret_scopeChain): (JSC::Interpreter::cti_op_new_array): (JSC::Interpreter::cti_op_resolve): (JSC::Interpreter::cti_op_construct_JSConstruct): (JSC::Interpreter::cti_op_construct_NotJSConstruct): (JSC::Interpreter::cti_op_get_by_val): (JSC::Interpreter::cti_op_resolve_func): (JSC::Interpreter::cti_op_sub): (JSC::Interpreter::cti_op_put_by_val): (JSC::Interpreter::cti_op_put_by_val_array): (JSC::Interpreter::cti_op_lesseq): (JSC::Interpreter::cti_op_loop_if_true): (JSC::Interpreter::cti_op_negate): (JSC::Interpreter::cti_op_resolve_base): (JSC::Interpreter::cti_op_resolve_skip): (JSC::Interpreter::cti_op_resolve_global): (JSC::Interpreter::cti_op_div): (JSC::Interpreter::cti_op_pre_dec): (JSC::Interpreter::cti_op_jless): (JSC::Interpreter::cti_op_not): (JSC::Interpreter::cti_op_jtrue): (JSC::Interpreter::cti_op_post_inc): (JSC::Interpreter::cti_op_eq): (JSC::Interpreter::cti_op_lshift): (JSC::Interpreter::cti_op_bitand): (JSC::Interpreter::cti_op_rshift): (JSC::Interpreter::cti_op_bitnot): (JSC::Interpreter::cti_op_resolve_with_base): (JSC::Interpreter::cti_op_new_func_exp): (JSC::Interpreter::cti_op_mod): (JSC::Interpreter::cti_op_less): (JSC::Interpreter::cti_op_neq): (JSC::Interpreter::cti_op_post_dec): (JSC::Interpreter::cti_op_urshift): (JSC::Interpreter::cti_op_bitxor): (JSC::Interpreter::cti_op_new_regexp): (JSC::Interpreter::cti_op_bitor): (JSC::Interpreter::cti_op_call_eval): (JSC::Interpreter::cti_op_throw): (JSC::Interpreter::cti_op_get_pnames): (JSC::Interpreter::cti_op_next_pname): (JSC::Interpreter::cti_op_push_scope): (JSC::Interpreter::cti_op_pop_scope): (JSC::Interpreter::cti_op_typeof): (JSC::Interpreter::cti_op_is_undefined): (JSC::Interpreter::cti_op_is_boolean): (JSC::Interpreter::cti_op_is_number): (JSC::Interpreter::cti_op_is_string): (JSC::Interpreter::cti_op_is_object): (JSC::Interpreter::cti_op_is_function): (JSC::Interpreter::cti_op_stricteq): (JSC::Interpreter::cti_op_nstricteq): (JSC::Interpreter::cti_op_to_jsnumber): (JSC::Interpreter::cti_op_in): (JSC::Interpreter::cti_op_push_new_scope): (JSC::Interpreter::cti_op_jmp_scopes): (JSC::Interpreter::cti_op_put_by_index): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string): (JSC::Interpreter::cti_op_del_by_val): (JSC::Interpreter::cti_op_put_getter): (JSC::Interpreter::cti_op_put_setter): (JSC::Interpreter::cti_op_new_error): (JSC::Interpreter::cti_op_debug): (JSC::Interpreter::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator):
  • jsc.cpp: (runWithScripts):
  • runtime/ExecState.h: (JSC::ExecState::interpreter):
  • runtime/JSCell.h:
  • runtime/JSFunction.h:
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSString.h:
  • wrec/WREC.cpp: (WREC::compileRegExp):
  • wrec/WREC.h:
18:08 Changeset [38463] by ggaren@apple.com
  • 27 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Roll out r38461 (my last patch) because it broke the world.

18:03 Changeset [38462] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Geoffrey Garen.

Use RefPtr and PassRefPtr where appropriate.

17:48 Changeset [38461] by ggaren@apple.com
  • 27 edits in trunk/JavaScriptCore

2008-11-16 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

A few more renames:

BytecodeInterpreter => Interpreter
WREC => JSC::WREC, removing JSC:: prefix in a lot of places
X86Assembler::copy => X86Assembler::executableCopy
AssemblerBuffer::copy => AssemblerBuffer::executableCopy
WRECFunction => WREC::RegExpFunction
OBJECT_OFFSET => FIELD_OFFSET


Also:

Nixed use of OBJECT_OFFSET outside of CTI.cpp by making CTI a friend in more places.

Nixed X86
and X86Assembler:: prefixes in a lot of places using typedefs
  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitGetVirtualRegister): (JSC::CTI::emitGetVirtualRegisters): (JSC::CTI::emitPutCTIArgFromVirtualRegister): (JSC::CTI::emitPutCTIArg): (JSC::CTI::emitGetCTIArg): (JSC::CTI::emitPutCTIParam): (JSC::CTI::emitGetCTIParam): (JSC::CTI::emitPutToCallFrameHeader): (JSC::CTI::emitGetFromCallFrameHeader): (JSC::CTI::emitPutVirtualRegister): (JSC::CTI::emitNakedCall): (JSC::CTI::emitNakedFastCall): (JSC::CTI::emitCTICall): (JSC::CTI::emitJumpSlowCaseIfNotJSCell): (JSC::CTI::emitJumpSlowCaseIfNotImmNum): (JSC::CTI::emitJumpSlowCaseIfNotImmNums): (JSC::CTI::emitFastArithDeTagImmediate): (JSC::CTI::emitFastArithDeTagImmediateJumpIfZero): (JSC::CTI::emitFastArithReTagImmediate): (JSC::CTI::emitFastArithPotentiallyReTagImmediate): (JSC::CTI::emitFastArithImmToInt): (JSC::CTI::emitFastArithIntToImmOrSlowCase): (JSC::CTI::emitFastArithIntToImmNoCheck): (JSC::CTI::emitArithIntToImmWithJump): (JSC::CTI::emitTagAsBoolImmediate): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::compileOpStrictEq): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::putDoubleResultToJSNumberCellOrJSImmediate): (JSC::CTI::compileBinaryArithOp): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::privateCompileGetByIdSelf): (JSC::CTI::privateCompileGetByIdProto): (JSC::CTI::privateCompileGetByIdChain): (JSC::CTI::privateCompilePutByIdReplace): (JSC::CTI::privateCompilePutByIdTransition): (JSC::CTI::privateCompileCTIMachineTrampolines): (JSC::CTI::freeCTIMachineTrampolines): (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace): (JSC::CTI::privateCompilePatchGetArrayLength): (JSC::CTI::emitGetVariableObjectRegister): (JSC::CTI::emitPutVariableObjectRegister):
  • VM/CTI.h: (JSC::CallRecord::CallRecord): (JSC::JmpTable::JmpTable): (JSC::SlowCaseEntry::SlowCaseEntry): (JSC::CTI::JSRInfo::JSRInfo):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructures): (JSC::CodeBlock::derefStructures): (JSC::CodeBlock::refStructures):
  • VM/Machine.cpp: (JSC::jsLess): (JSC::jsLessEq): (JSC::Interpreter::resolve): (JSC::Interpreter::resolveSkip): (JSC::Interpreter::resolveGlobal): (JSC::Interpreter::resolveBase): (JSC::Interpreter::resolveBaseAndProperty): (JSC::Interpreter::resolveBaseAndFunc): (JSC::Interpreter::slideRegisterWindowForCall): (JSC::Interpreter::callEval): (JSC::Interpreter::Interpreter): (JSC::Interpreter::initialize): (JSC::Interpreter::~Interpreter): (JSC::Interpreter::dumpCallFrame): (JSC::Interpreter::dumpRegisters): (JSC::Interpreter::isOpcode): (JSC::Interpreter::unwindCallFrame): (JSC::Interpreter::throwException): (JSC::Interpreter::execute): (JSC::Interpreter::debug): (JSC::Interpreter::resetTimeoutCheck): (JSC::Interpreter::checkTimeout): (JSC::Interpreter::createExceptionScope): (JSC::Interpreter::tryCachePutByID): (JSC::Interpreter::uncachePutByID): (JSC::Interpreter::tryCacheGetByID): (JSC::Interpreter::uncacheGetByID): (JSC::Interpreter::privateExecute): (JSC::Interpreter::retrieveArguments): (JSC::Interpreter::retrieveCaller): (JSC::Interpreter::retrieveLastCaller): (JSC::Interpreter::findFunctionCallFrame): (JSC::Interpreter::tryCTICachePutByID): (JSC::Interpreter::tryCTICacheGetByID): (JSC::): (JSC::Interpreter::cti_op_convert_this): (JSC::Interpreter::cti_op_end): (JSC::Interpreter::cti_op_add): (JSC::Interpreter::cti_op_pre_inc): (JSC::Interpreter::cti_timeout_check): (JSC::Interpreter::cti_register_file_check): (JSC::Interpreter::cti_op_loop_if_less): (JSC::Interpreter::cti_op_loop_if_lesseq): (JSC::Interpreter::cti_op_new_object): (JSC::Interpreter::cti_op_put_by_id): (JSC::Interpreter::cti_op_put_by_id_second): (JSC::Interpreter::cti_op_put_by_id_generic): (JSC::Interpreter::cti_op_put_by_id_fail): (JSC::Interpreter::cti_op_get_by_id): (JSC::Interpreter::cti_op_get_by_id_second): (JSC::Interpreter::cti_op_get_by_id_generic): (JSC::Interpreter::cti_op_get_by_id_fail): (JSC::Interpreter::cti_op_instanceof): (JSC::Interpreter::cti_op_del_by_id): (JSC::Interpreter::cti_op_mul): (JSC::Interpreter::cti_op_new_func): (JSC::Interpreter::cti_op_call_JSFunction): (JSC::Interpreter::cti_op_call_arityCheck): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall): (JSC::Interpreter::cti_op_push_activation): (JSC::Interpreter::cti_op_call_NotJSFunction): (JSC::Interpreter::cti_op_create_arguments): (JSC::Interpreter::cti_op_create_arguments_no_params): (JSC::Interpreter::cti_op_tear_off_activation): (JSC::Interpreter::cti_op_tear_off_arguments): (JSC::Interpreter::cti_op_profile_will_call): (JSC::Interpreter::cti_op_profile_did_call): (JSC::Interpreter::cti_op_ret_scopeChain): (JSC::Interpreter::cti_op_new_array): (JSC::Interpreter::cti_op_resolve): (JSC::Interpreter::cti_op_construct_JSConstruct): (JSC::Interpreter::cti_op_construct_NotJSConstruct): (JSC::Interpreter::cti_op_get_by_val): (JSC::Interpreter::cti_op_resolve_func): (JSC::Interpreter::cti_op_sub): (JSC::Interpreter::cti_op_put_by_val): (JSC::Interpreter::cti_op_put_by_val_array): (JSC::Interpreter::cti_op_lesseq): (JSC::Interpreter::cti_op_loop_if_true): (JSC::Interpreter::cti_op_negate): (JSC::Interpreter::cti_op_resolve_base): (JSC::Interpreter::cti_op_resolve_skip): (JSC::Interpreter::cti_op_resolve_global): (JSC::Interpreter::cti_op_div): (JSC::Interpreter::cti_op_pre_dec): (JSC::Interpreter::cti_op_jless): (JSC::Interpreter::cti_op_not): (JSC::Interpreter::cti_op_jtrue): (JSC::Interpreter::cti_op_post_inc): (JSC::Interpreter::cti_op_eq): (JSC::Interpreter::cti_op_lshift): (JSC::Interpreter::cti_op_bitand): (JSC::Interpreter::cti_op_rshift): (JSC::Interpreter::cti_op_bitnot): (JSC::Interpreter::cti_op_resolve_with_base): (JSC::Interpreter::cti_op_new_func_exp): (JSC::Interpreter::cti_op_mod): (JSC::Interpreter::cti_op_less): (JSC::Interpreter::cti_op_neq): (JSC::Interpreter::cti_op_post_dec): (JSC::Interpreter::cti_op_urshift): (JSC::Interpreter::cti_op_bitxor): (JSC::Interpreter::cti_op_new_regexp): (JSC::Interpreter::cti_op_bitor): (JSC::Interpreter::cti_op_call_eval): (JSC::Interpreter::cti_op_throw): (JSC::Interpreter::cti_op_get_pnames): (JSC::Interpreter::cti_op_next_pname): (JSC::Interpreter::cti_op_push_scope): (JSC::Interpreter::cti_op_pop_scope): (JSC::Interpreter::cti_op_typeof): (JSC::Interpreter::cti_op_is_undefined): (JSC::Interpreter::cti_op_is_boolean): (JSC::Interpreter::cti_op_is_number): (JSC::Interpreter::cti_op_is_string): (JSC::Interpreter::cti_op_is_object): (JSC::Interpreter::cti_op_is_function): (JSC::Interpreter::cti_op_stricteq): (JSC::Interpreter::cti_op_nstricteq): (JSC::Interpreter::cti_op_to_jsnumber): (JSC::Interpreter::cti_op_in): (JSC::Interpreter::cti_op_push_new_scope): (JSC::Interpreter::cti_op_jmp_scopes): (JSC::Interpreter::cti_op_put_by_index): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string): (JSC::Interpreter::cti_op_del_by_val): (JSC::Interpreter::cti_op_put_getter): (JSC::Interpreter::cti_op_put_setter): (JSC::Interpreter::cti_op_new_error): (JSC::Interpreter::cti_op_debug): (JSC::Interpreter::cti_vm_throw):
  • VM/Machine.h:
  • VM/Register.h:
  • VM/SamplingTool.cpp: (JSC::SamplingTool::dump):
  • VM/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • bytecompiler/CodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator):
  • jsc.cpp: (runWithScripts):
  • masm/X86Assembler.h: (JSC::AssemblerBuffer::executableCopy): (JSC::X86Assembler::executableCopy):
  • runtime/ExecState.h: (JSC::ExecState::interpreter):
  • runtime/JSCell.h:
  • runtime/JSFunction.h:
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSImmediate.h:
  • runtime/JSString.h:
  • runtime/JSValue.h:
  • runtime/JSVariableObject.h:
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::~RegExp): (JSC::RegExp::match):
  • runtime/RegExp.h:
  • wrec/CharacterClassConstructor.cpp:
  • wrec/CharacterClassConstructor.h:
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WREC.h: (JSC::WREC::Generator::Generator): (JSC::WREC::Parser::): (JSC::WREC::Parser::Parser): (JSC::WREC::Parser::parseAlternative):
17:43 Changeset [38460] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

Fix build break for real.

17:38 Changeset [38459] by bolsinga@apple.com
  • 2 edits in trunk/WebCore

Fix build break and bug.

17:05 Changeset [38458] by bolsinga@apple.com
  • 16 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
uses of DEFINE_STATIC_LOCAL where appropriate.

15:07 Changeset [38457] by bolsinga@apple.com
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21810
Remove use of static C++ objects that are destroyed at exit time (destructors)

Conditionally have the DEFINE_STATIC_LOCAL workaround <rdar://problem/6354696>
(Codegen issue with C++ static reference in gcc build 5465) based upon the compiler
build versions. It will use the:
static T& = *new T;
style for all other compilers.

14:17 Changeset [38456] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

2008-11-16 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Disable XHR upload progress event tests on Tiger due to race condition causing
intermittent failure reported in https://bugs.webkit.org/show_bug.cgi?id=22298

  • platform/mac-tiger/Skipped:
13:53 Changeset [38455] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Do not spit Curl errors into the stdout as this is used by DRT

We have failing tests results due the curl errors printed to stdout,
move them to stderr to be able to pass those tests.

13:49 Changeset [38454] by zecke@webkit.org
  • 2 edits in trunk/WebCore

Gtk+ build fix

12:07 Changeset [38453] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-11-16 Darin Adler <darin@apple.com>

  • try to fix Qt build
  • WebCore.pro: Add the worker-related source files.
11:58 Changeset [38452] by darin@apple.com
  • 3 edits in trunk/WebCore

2008-11-16 Darin Adler <darin@apple.com>

Suggested by Alexey Proskuryakov.

  • fix the GTK build another way
  • GNUmakefile.am: Add the worker-related source files.
  • bindings/js/JSEventTarget.cpp: Take the #if back out.
11:51 Changeset [38451] by darin@apple.com
  • 2 edits in trunk/WebCore

2008-11-16 Darin Adler <darin@apple.com>

  • try to fix GTK build
  • bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
11:49 Changeset [38450] by darin@apple.com
  • 2 edits in trunk/WebKit/qt

2008-11-16 Darin Adler <darin@apple.com>

  • try to fix build
  • Api/qwebhistory.cpp: Added include of "KURL.h".
11:39 Changeset [38449] by darin@apple.com
  • 15 edits in trunk

WebCore:

2008-11-16 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove no-longer-needed ones. (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false. (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a String, since that's not efficient.
  • history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure, setLastVisitWasFailure, and m_lastVisitWasFailure.
  • history/mac/HistoryItemMac.mm: Add newly-needed include (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a m_transientProperties map around when it is empty.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when the page was unreachable or an HTTP page with a status code that indicates failure.

WebKit/mac:

2008-11-16 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • History/WebHistoryItem.mm: Added lastVisitWasFailureKey. (-[WebHistoryItem initFromDictionaryRepresentation:]): Set the lastVisitWasFailure flag in the history item if the dictionary had lastVisitWasFailureKey true. (-[WebHistoryItem dictionaryRepresentation]): Set the lastVisitWasFailureKey boolean in the dictionary if the history item had the lastVisitWasFailure flag. (-[WebHistoryItem lastVisitWasFailure]): Added.
  • History/WebHistoryItemInternal.h: Moved include of WebBackForwardList here from WebHistoryItemPrivate.h; removed other unneeded includes.
  • History/WebHistoryItemPrivate.h: Added lastVisitWasFailure method. Removed unneeded includes.
  • Misc/WebNSDictionaryExtras.h: Added _webkit_boolForKey.
  • Misc/WebNSDictionaryExtras.m: (-[NSDictionary _webkit_boolForKey:]): Added.

WebKit/win:

2008-11-16 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • Interfaces/IWebHistoryItemPrivate.idl: Added lastVisitWasFailure function.
  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation): Set the lastVisitWasFailure flag in the history item if the dictionary had an entry for lastVisitWasFailureKey. (WebHistoryItem::dictionaryRepresentation): Set the lastVisitWasFailureKey key in the dictionary if the history item had the lastVisitWasFailure flag. (WebHistoryItem::lastVisitWasFailure): Added.
  • WebHistoryItem.h: Added lastVisitWasFailure function.
10:43 Changeset [38448] by weinig@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-16 Sam Weinig <sam@webkit.org>

  • Scripts/do-webcore-rename: Remove now fixed renames.
10:21 Changeset [38447] by darin@apple.com
  • 2 edits in trunk/WebKitTools

2008-11-16 Darin Adler <darin@apple.com>

  • Scripts/do-webcore-rename: Plan some future renames.
06:10 Changeset [38446] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-11-16 Christian Dywan <christian@twoasts.de>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=22207
[Gtk] Font sizes are not handled properly when updated at runtime

  • webkit/webkitwebview.cpp: Move the DPI/ conversion into a helper function and apply the logic in the notification callback.
04:45 Changeset [38445] by staikos@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Timothy Hatcher.

Optimization: don't relayout, repaint, or emit a DOM event if the
scroll event didn't scroll anywhere.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset): add early exit
02:05 Changeset [38444] by ap@webkit.org
  • 13 edits in trunk

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=22290
Remove cross-heap GC and MessagePort multi-threading support

It is broken (and may not be implementable at all), and no longer needed, as we
don't use MessagePorts for communication with workers any more.

JavaScriptCore:

  • JavaScriptCore.exp:
  • runtime/Collector.cpp: (JSC::Heap::collect):
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h: Remove hooks for cross-heap GC.

WebCore:

  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowBase.h: Removed cross-heap GC implementation.
  • dom/MessagePort.cpp: (WebCore::MessagePort::hasPendingActivity):
  • dom/MessagePort.h: Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is unnecessarily complicated for single threaded case.
01:11 Changeset [38443] by ap@webkit.org
  • 14 edits
    6 moves
    2 adds in trunk/WebCore

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=22266
Stop using MessagePort for communication with workers

The current MessagePort specification is not well suited for being implemented in a
multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
This patch implements a simpler Mozilla API for workers instead.

  • WebCore.xcodeproj/project.pbxproj:
  • DerivedSources.make:
  • bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
  • bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
  • bindings/js/JSDedicatedWorkerConstructor.h: Removed.
  • bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
  • bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
  • bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
  • bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
  • dom/DedicatedWorker.cpp: Removed.
  • dom/DedicatedWorker.h: Removed.
  • dom/DedicatedWorker.idl: Removed. Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
  • bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): Clear worker exceptions to avoid hitting an assertion.
  • dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
  • dom/EventTarget.h:
  • bindings/js/JSEventTarget.cpp: (WebCore::toJS): WorkerContext is now an EventTarget, too.
  • bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and MessagePort. Added postMessage() and onmessage.
  • dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext when posting a task - this operation is not thread safe. It is also not necessary any more, as the context is kept alive by WorkerMessagingProxy.
  • dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp. (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do that on a timer. (WebCore::Worker::~Worker): Notify messaging proxy. (WebCore::Worker::postMessage): Just ask the proxy to post the message. (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes available. Also, it is now safe to unsetPendingActivity(), making the object collectable. I'm not sure if this is the right lifetime for workers, as unreachable workers with event listeners should probably be kept alive, but it at least lets the object be collected. (WebCore::Worker::addEventListener): Added an EventTarget implementation. (WebCore::Worker::removeEventListener): Added an EventTarget implementation. (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
  • dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
  • dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl. Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut down successfully. (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
  • dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
  • dom/WorkerMessagingProxy.cpp: Added.
  • dom/WorkerMessagingProxy.h: Added. This new class implements actual messaging. It is notified when a Worker is garbage collected, and asks the thread to shut down. It also owns the thread object, and references script execution context, making it safe to post messages to it remotely.
  • dom/WorkerThread.cpp:
  • dom/WorkerThread.h: Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer keeps itself alive - it is now the job of messaging proxy.
Note: See TracTimeline for information about the timeline view.