Timeline


and

12/05/08:

21:00 Changeset [39063] by barraclough@apple.com

Mis-commit in ChangeLog entry

20:57 Changeset [39062] by barraclough@apple.com

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Please don't die in a fire while trying to compile Interpreter.cpp on GCC 4.2.
Added "-fno-var-tracking" compiler flag.

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

19:25 Changeset [39061] by barraclough@apple.com

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Ordering of branch operands in MacroAssembler in unnecessarily inconsistent.

je, jg etc take an immediate operand as the second argument, but for the
equality branches (je, jne) the immediate operand was the first argument. This
was unnecessarily inconsistent. Change je, jne methods to take the immediate
as the second argument.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::je32): (JSC::MacroAssembler::jne32):
  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generatePatternCharacterPair): (JSC::WREC::Generator::generatePatternCharacter): (JSC::WREC::Generator::generateCharacterClassInvertedRange): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionWordBoundary):
18:27 Changeset [39060] by brettw@chromium.org

Reviewed by Darin Adler.

Make the page group use the proper link hashing functions rather than
calling the string hash functions directly. Add Chromium-specfic ifdefs
in the visited link computation functions to allow integration.

  • page/PageGroup.cpp:

(WebCore::PageGroup::isLinkVisited):
(WebCore::PageGroup::addVisitedLink):

  • platform/LinkHash.cpp:

(WebCore::visitedLinkHash):

  • platform/LinkHash.h:
17:42 Changeset [39059] by cmarrin@apple.com

2008-12-05 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=22635
For iteration and end events, previous fixes to prevent the deletion of
Animation objects (ref counting and hanging onto a ref during event callbacks)
was sufficient to prevent dangling pointers. But start events are sent in
the styleAvailable() call, which iterates over CompositeAnimation objects,
which are not ref counted. So that object can get destroyed in the event
handler while still active. So I added refcounting for CompositeAnimations.

Additionally, when am iterating over the CompositingAnimation list, it can
be deleted, which mutates the list. So I now make one pass over the list
building a vector of CompositeAnimation objects that need to be called and
then iterate over that vector to make the actual calls.

Finally, to make sure the lifetime of the CompositeAnimation exceeds that of
the Animation objects it owns, I now keep a ref to the CompositeAnimation
in the timer callback for the iteration and end events. That means I no
longer need to keep a ref to the Animation objects themselves in that timer
callback, since the CompositeAnimation already has one.

Tests: animations/animation-iteration-event-destroy-renderer.html

animations/animation-start-event-destroy-renderer.html

17:36 Changeset [39058] by barraclough@apple.com

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Second tranche of porting JIT.cpp to MacroAssembler interface.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::mul32): (JSC::MacroAssembler::jl32): (JSC::MacroAssembler::jnzSub32): (JSC::MacroAssembler::joAdd32): (JSC::MacroAssembler::joMul32): (JSC::MacroAssembler::jzSub32):
  • jit/JIT.cpp: (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotJSCell):
17:07 Changeset [39057] by ddkilzer@apple.com

Added bugs.webkit.org URL to ChangeLog entry.

17:05 Changeset [39056] by ddkilzer@apple.com

<rdar://problem/6331749> Provide a mechanism to disable perfect hashing in the DOM at build time

Reviewed by Darin Adler.

Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer.

Added back the code that generates a "compact" hash (instead of a
perfect hash) as a build-time option using the
ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h.

JavaScriptCore:

  • create_hash_table: Rename variables to differentiate perfect hash values from compact hash values. Added back code to compute compact hash tables. Generate both hash table sizes and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
  • runtime/Lookup.cpp: (JSC::HashTable::createTable): Added version of createTable() for use with compact hash tables. (JSC::HashTable::deleteTable): Updated to work with compact hash tables.
  • runtime/Lookup.h: Defined ENABLE(PERFECT_HASH_SIZE) macro here. (JSC::HashEntry::initialize): Set m_next to zero when using compact hash tables. (JSC::HashEntry::setNext): Added for compact hash tables. (JSC::HashEntry::next): Added for compact hash tables. (JSC::HashTable::entry): Added version of entry() for use with compact hash tables.
  • runtime/Structure.cpp: (JSC::Structure::getEnumerablePropertyNames): Updated to work with compact hash tables.

WebCore:

  • bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): Compute the number of elements that will be stored in each hash table and pass it to GenerateHashTable(). (GenerateHashTable): Added new second parameter representing the number of elements to store in the compact hash table. Added back code to compute compact hash tables. Generate both hash table sizes and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE).
16:52 Changeset [39055] by barraclough@apple.com

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Remove redundant calls to JIT::emitSlowScriptCheck.
This is checked in the hot path, so is not needed on the slow path - and the code
was being planted before the start of the slow case, so was completely unreachable!

  • jit/JIT.cpp: (JSC::JIT::privateCompileSlowCases):
16:02 Changeset [39054] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22608
Add a test for line numbers of uncaught JS exceptions.

  • fast/js/uncaught-exception-line-number-expected.txt: Added.
  • fast/js/uncaught-exception-line-number.html: Added.
15:57 Changeset [39053] by barraclough@apple.com

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Move JIT::compileOpStrictEq to MacroAssembler interface.

The rewrite also looks like a small (<1%) performance progression.

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

  • jit/JIT.cpp: (JSC::JIT::compileOpStrictEq): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITInlineMethods.h: (JSC::JIT::emitJumpIfJSCell): (JSC::JIT::emitJumpSlowCaseIfJSCell):
15:56 Changeset [39052] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22604
Add test for onload handler named 'onload'.

  • fast/events/onload-name-collision-expected.txt: Added.
  • fast/events/onload-name-collision.html: Added.
15:53 Changeset [39051] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22601
Add test to verify that calling functions on a Java applet from JS works.

  • fast/dom/java-applet-calls-expected.txt: Added.
  • fast/dom/java-applet-calls.html: Added.
  • fast/dom/resources/TestApplet.class: Added.
  • fast/dom/resources/TestApplet.java: Added. (TestApplet): Source of test applet for use by layout test(s). (TestApplet.init): (TestApplet.setString): (TestApplet.getString):
15:48 Changeset [39050] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22592
Make sure the onload handler is only called once, even when there are
multiple <body> nodes in the document.

  • fast/events/onload-fires-twice-expected.txt: Added.
  • fast/events/onload-fires-twice.html: Added.
15:25 Changeset [39049] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22575
Add a test for accessing NodeList items by name.

  • fast/dom/NodeList/nodelist-item-with-name-expected.txt: Added.
  • fast/dom/NodeList/nodelist-item-with-name.html: Added.
15:22 Changeset [39048] by brettw@chromium.org

Merge branch 'ownptr' into ownptr_commit

15:19 Changeset [39047] by pam@chromium.org

2008-12-05 Pamela Greene <pam@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=22632
Add a test for DOM operations with incompatible receivers or arguments.

  • fast/dom/incompatible-operations-expected.txt: Added.
  • fast/dom/incompatible-operations.html: Added.
15:13 Changeset [39046] by brettw@chromium.org

Reviewed by Eric Seidel.

Add a missing include for OwnPtr to make CSSSelector compile without
precompiled headers.

  • css/CSSSelector.h:
14:53 Changeset [39045] by ddkilzer@apple.com

Bug 22555: Sort "children" sections in Xcode project files

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

Reviewed by Darin Adler.

Sort "children" sections alphabetically, moving groups (folders) to
the top of each of the lists. Files are assumed to have extensions,
so %isFile is used to override this behavior.

  • Scripts/sort-Xcode-project-file: (sortChildrenByFileName): Added. (sortFilesByFileName): Renamed from sortByFileName().
14:15 Changeset [39044] by eric@webkit.org

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=22683
Fix gtk and qt builds which depend on --qt and --gtk being removed from ARGV
Add a new argumentsForConfiguration() function and clean up some old code to use it.
Rename checkArgV to checkForArgumentAndRemoveFromARGV to be more self-documenting.

  • Scripts/run-javascriptcore-tests:
  • Scripts/run-launcher:
  • Scripts/run-webkit-tests:
  • Scripts/webkitdirs.pm:
14:14 Changeset [39043] by barraclough@apple.com

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Remove m_assembler from MacroAssembler::Jump.
Keeping a pointer allowed for some syntactic sugar - "link()" looks nicer
than "link(this)". But maintaining this doubles the size of Jump, which
is even more unfortunate for the JIT, since there are many large structures
holding JmpSrcs. Probably best to remove it.

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

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::Jump::Jump): (JSC::MacroAssembler::Jump::link): (JSC::MacroAssembler::Jump::linkTo): (JSC::MacroAssembler::JumpList::link): (JSC::MacroAssembler::JumpList::linkTo): (JSC::MacroAssembler::jae32): (JSC::MacroAssembler::je32): (JSC::MacroAssembler::je16): (JSC::MacroAssembler::jg32): (JSC::MacroAssembler::jge32): (JSC::MacroAssembler::jl32): (JSC::MacroAssembler::jle32): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jne32): (JSC::MacroAssembler::jnset32): (JSC::MacroAssembler::jset32): (JSC::MacroAssembler::jump): (JSC::MacroAssembler::jzSub32): (JSC::MacroAssembler::joAdd32): (JSC::MacroAssembler::call):
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (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::generateParenthesesAssertion): (JSC::WREC::Generator::generateParenthesesInvertedAssertion): (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::terminateAlternative): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECParser.h:
14:10 Changeset [39042] by eric@webkit.org

2008-12-05 Finnur Thorarinsson <finnur.webkit@gmail.com>

Reviewed by Darin Adler.

Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks
without relying on high-level WebCore types, as requested by Dave Hyatt.

No functional changes, thus no test cases.

  • page/FrameView.cpp: (WebCore::FrameView::getTickmarks):
  • page/FrameView.h:
  • platform/ScrollbarClient.h:
13:54 Changeset [39041] by justin.garcia@apple.com

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

Updating these test results. On Tiger the fragment created from RTFD data
contained interchange newlines that we incorrectly handled before r38983.

  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.checksum:
  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.png:
  • platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.txt:
12:56 Changeset [39040] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Added a test for a bug I discovered while working on
https://bugs.webkit.org/show_bug.cgi?id=22685.

  • fast/regex/non-capturing-backtracking-expected.txt: Added.
  • fast/regex/non-capturing-backtracking.html: Added.
  • fast/regex/resources/non-capturing-backtracking.js: Added.
12:39 Changeset [39039] by barraclough@apple.com

2008-12-05 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoffrey Garen.

Simplify JIT generated checks for timeout code, by moving more work into the C function.
https://bugs.webkit.org/show_bug.cgi?id=22688

  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_timeout_check):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::emitSlowScriptCheck):
12:27 Changeset [39038] by weinig@apple.com

2008-12-05 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Encapsulate access to jump tables in the CodeBlock in preparation
of moving them to a rare data structure.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::shrinkToFit):
  • bytecode/CodeBlock.h: (JSC::CodeBlock::numberOfImmediateSwitchJumpTables): (JSC::CodeBlock::addImmediateSwitchJumpTable): (JSC::CodeBlock::immediateSwitchJumpTable): (JSC::CodeBlock::numberOfCharacterSwitchJumpTables): (JSC::CodeBlock::addCharacterSwitchJumpTable): (JSC::CodeBlock::characterSwitchJumpTable): (JSC::CodeBlock::numberOfStringSwitchJumpTables): (JSC::CodeBlock::addStringSwitchJumpTable): (JSC::CodeBlock::stringSwitchJumpTable):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::endSwitch):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
11:00 Changeset [39037] by dino@apple.com

2008-12-05 Dean Jackson <dino@apple.com>

Reviewed by David Hyatt.

WebCore:
Make sure Window event listeners also tell the
Document about the event type, so noisy events
will be dispatched even if nothing in the document
is listening.
https://bugs.webkit.org/show_bug.cgi?id=20572

  • dom/Document.cpp: (WebCore::Document::addWindowEventListener):

LayoutTests:
No longer need to add a fake listener on a document
node in order to get events passed up to Window.
https://bugs.webkit.org/show_bug.cgi?id=20572

  • transitions/transition-end-event-window.html:
10:27 Changeset [39036] by kmccullough@apple.com

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

Reviewed by Tim Hatcher.

  • Fix intermittent profiler test failures. The problem is that idle time only shows up some times, probably dependent on if the system is running a little slow or has a network hiccup. I've removed this.
  • I've also added <rdar://problem/6422004> Profiler tests fail because they sometimes don't have (idle) time. This is to investigate whether or not idle time should be showing up at all when running these tests.
  • fast/profiler/anonymous-event-handler-expected.txt:
  • fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
  • fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
  • fast/profiler/anonymous-function-calls-eval-expected.txt:
  • fast/profiler/apply-expected.txt:
  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
  • fast/profiler/call-expected.txt:
  • fast/profiler/call-nodelist-as-function-expected.txt:
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt:
  • fast/profiler/compare-multiple-profiles-expected.txt:
  • fast/profiler/constructor-expected.txt:
  • fast/profiler/dead-time-expected.txt:
  • fast/profiler/document-dot-write-expected.txt:
  • fast/profiler/event-handler-expected.txt:
  • fast/profiler/execution-context-and-eval-on-same-line-expected.txt:
  • fast/profiler/heavy-view-expected.txt:
  • fast/profiler/inline-event-handler-expected.txt:
  • fast/profiler/many-calls-in-the-same-scope-expected.txt:
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
  • fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
  • fast/profiler/multiple-frames-expected.txt:
  • fast/profiler/nested-anonymous-functon-expected.txt:
  • fast/profiler/nested-start-and-stop-profiler-expected.txt:
  • fast/profiler/one-execution-context-expected.txt:
  • fast/profiler/profile-calls-in-included-file-expected.txt:
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt:
  • fast/profiler/profiling-from-a-nested-location-expected.txt:
  • fast/profiler/resources/profiler-test-JS-resources.js: (printProfileNodeWithoutTime):
  • fast/profiler/simple-event-call-expected.txt:
  • fast/profiler/simple-no-level-change-expected.txt:
  • fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
  • fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt:
  • fast/profiler/stop-profiling-after-setTimeout-expected.txt:
  • fast/profiler/stop-then-function-call-expected.txt:
  • fast/profiler/throw-exception-from-eval-expected.txt:
  • fast/profiler/two-execution-contexts-expected.txt:
  • fast/profiler/user-defined-function-calls-built-in-functions-expected.txt:
  • fast/profiler/window-dot-eval-expected.txt:
10:03 Changeset [39035] by mitz@apple.com

Mac build fix.

  • WebKit.xcodeproj/project.pbxproj:
09:23 Changeset [39034] by hausmann@webkit.org

2008-12-05 Simon Hausmann <simon.hausmann@nokia.com>

Rubber-stamped by Tor Arne Vestbø.

Disable the JIT for the Qt build alltogether again, after observing
more miscompilations in a wider range of newer gcc versions.

09:22 Changeset [39033] by aroben@apple.com

Windows build fix after r39026

  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): (WebCore::ResourceRequest::doUpdateResourceRequest): Add some missing .get()s.
09:21 Changeset [39032] by aroben@apple.com

Windows build fix after r39020

  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): Add some apparently-missing .
09:20 Changeset [39031] by mitz@apple.com

Mac build fix.

  • WebKit.xcodeproj/project.pbxproj:
08:49 Changeset [39030] by ggaren@apple.com

2008-12-04 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


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


Added support for the assertion (?=) and inverted assertion (?!) atoms
in WREC.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateParenthesesAssertion): (JSC::WREC::Generator::generateParenthesesInvertedAssertion): Split the old (unused) generateParentheses into these two functions, with more limited capabilities.


  • wrec/WRECGenerator.h: (JSC::WREC::Generator::): Moved an enum to the top of the class definition, to match the WebKit style, and removed a defunct comment.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::parseParentheses): (JSC::WREC::Parser::consumeParenthesesType):
  • wrec/WRECParser.h: (JSC::WREC::Parser::): Added support for parsing (?=) and (?!).
08:33 Changeset [39029] by ap@webkit.org

Tiger build fix.

  • platform/network/mac/ResourceRequestMac.mm: Define NSUInteger.
07:53 Changeset [39028] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
in Safari before opening a mail message in Mail

WebCore:

  • platform/mac/WebCoreObjCExtras.mm: (WebCoreObjCFinalizeOnMainThread): Don't call initializeThreading: we now expect the caller to do it, to simplify keeping Tiger and post-Tiger behavior in line.
  • bindings/objc/DOMRGBColor.mm: (+[DOMRGBColor initialize]):
  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject initialize]):
  • page/mac/AccessibilityObjectWrapper.mm: (+[AccessibilityObjectWrapper initialize]):
  • platform/mac/SharedBufferMac.mm: (+[WebCoreSharedBufferData initialize]): Call JSC::initializeThreading();

WebKit:

  • Carbon/CarbonWindowAdapter.m: Removed.
  • Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m. (+[CarbonWindowAdapter initialize]):
  • History/WebBackForwardList.mm: (+[WebBackForwardList initialize]):
  • History/WebHistoryItem.mm: (+[WebHistoryItem initialize]):
  • Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]):
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (+[WebHostedNetscapePluginView initialize]):
  • Plugins/WebBaseNetscapePluginView.mm:
  • Plugins/WebBasePluginPackage.m: Removed.
  • Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m. (+[WebBasePluginPackage initialize]):
  • Plugins/WebNetscapePluginView.mm: (+[WebNetscapePluginView initialize]):
  • WebCoreSupport/WebEditorClient.mm: (+[WebEditCommand initialize]):
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebView/WebArchive.mm: (+[WebArchivePrivate initialize]):
  • WebView/WebDataSource.mm: (+[WebDataSourcePrivate initialize]):
  • WebView/WebHTMLView.mm: (+[WebHTMLViewPrivate initialize]): (+[WebHTMLView initialize]):
  • WebView/WebResource.mm: (+[WebResourcePrivate initialize]):
  • WebView/WebView.mm: (+[WebViewPrivate initialize]): Call JSC::initializeThreading();
07:47 Changeset [39027] by darin@apple.com

2008-12-05 Darin Adler <darin@apple.com>

Reviewed by Alexey Proskuryakov.

  • WebView.cpp: (findCFNetworkModule): Added. (findCopySharedURLCacheFunction): Added. (WebView::setCacheModel): Call CFURLCacheCopySharedURLCache via dynamic loading instead of compiling based on which version of CFNetwork headers are present.
06:43 Changeset [39026] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled

  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
  • platform/network/ResourceRequestBase.h:
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction): (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction): (WebCore::setContentDispositionEncodingFallbackArray): (WebCore::copyContentDispositionEncodingFallbackArray): (WebCore::ResourceRequest::doUpdatePlatformRequest): (WebCore::ResourceRequest::doUpdateResourceRequest):
  • platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdateResourceRequest): (WebCore::ResourceRequest::doUpdatePlatformRequest): Added a way to specify encoding fallback list for Content-Disposition header.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and pass a list of encodings to try when decoding Content-Disposition header, as described in comments.
06:23 Changeset [39025] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22672
ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout

Test: http/tests/xmlhttprequest/send-on-abort.html

  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): (WebCore::ScriptExecutionContext::stopActiveDOMObjects): Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This reverts a recent change that made the behavior slightly closer to Firefox - but the compatibility effect should be very minor if any, and Firefox itself behaves inconsistently.
05:02 Changeset [39024] by hausmann@webkit.org

2008-12-05 Tobias König <tobias.koenig@nokia.com>

Reviewed by Simon Hausmann.

Record required package dependencies for the Qt build for a correct
pkg-config file.

04:50 Changeset [39023] by hausmann@webkit.org

2008-12-05 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Disable the JIT for the Qt build on Linux unless gcc is >= 4.2,
due to miscompilations.

03:27 Changeset [39022] by vestbo@webkit.org

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

Rubber-stamped by Simon Hausmann.

[Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model

01:48 Changeset [39021] by ap@webkit.org

2008-12-05 Jungshik Shin <jshin@chromium.org>

Reviewed by Alexey Proskuryakov.

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

Revises charset alias map for TextCodecICU.

  • Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
  • Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
  • Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly alias 'dos-874' to 'windows-874'.
  • Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name. Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by directly going to 'GBK'.
  • Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages.

Tests: fast/encoding/char-decoding-mac.html

fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):

12/04/08:

22:58 Changeset [39020] by barraclough@apple.com

2008-12-04 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Start porting the JIT to use the MacroAssembler.

https://bugs.webkit.org/show_bug.cgi?id=22671
No change in performance.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::Jump::operator X86Assembler::JmpSrc): (JSC::MacroAssembler::add32): (JSC::MacroAssembler::and32): (JSC::MacroAssembler::lshift32): (JSC::MacroAssembler::rshift32): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::store32): (JSC::MacroAssembler::poke): (JSC::MacroAssembler::move): (JSC::MacroAssembler::compareImm32ForBranchEquality): (JSC::MacroAssembler::jnePtr): (JSC::MacroAssembler::jnset32): (JSC::MacroAssembler::jset32): (JSC::MacroAssembler::jzeroSub32): (JSC::MacroAssembler::joverAdd32): (JSC::MacroAssembler::call):
  • assembler/X86Assembler.h: (JSC::X86Assembler::shll_i8r):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp):
  • jit/JITInlineMethods.h: (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitPutCTIArg): (JSC::JIT::emitPutCTIArgConstant): (JSC::JIT::emitGetCTIArg): (JSC::JIT::emitPutCTIArgFromVirtualRegister): (JSC::JIT::emitPutCTIParam): (JSC::JIT::emitGetCTIParam): (JSC::JIT::emitPutToCallFrameHeader): (JSC::JIT::emitPutImmediateToCallFrameHeader): (JSC::JIT::emitGetFromCallFrameHeader): (JSC::JIT::emitPutVirtualRegister): (JSC::JIT::emitInitRegister): (JSC::JIT::emitNakedCall): (JSC::JIT::restoreArgumentReference): (JSC::JIT::restoreArgumentReferenceForTrampoline): (JSC::JIT::emitCTICall): (JSC::JIT::checkStructure): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::emitJumpSlowCaseIfNotImmNum): (JSC::JIT::emitJumpSlowCaseIfNotImmNums): (JSC::JIT::emitFastArithDeTagImmediate): (JSC::JIT::emitFastArithDeTagImmediateJumpIfZero): (JSC::JIT::emitFastArithReTagImmediate): (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitFastArithImmToInt): (JSC::JIT::emitFastArithIntToImmOrSlowCase): (JSC::JIT::emitFastArithIntToImmNoCheck): (JSC::JIT::emitTagAsBoolImmediate):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompilePutByIdTransition):
20:38 Changeset [39019] by mrowe@apple.com

Versioning.

20:36 Changeset [39018] by mrowe@apple.com

Work around a GCC 4.2 bug that leads to the compiler hanging while attempting to build Interpreter.cpp.

  • Configurations/JavaScriptCore.xcconfig:
20:36 Changeset [39017] by mrowe@apple.com

Merge r38950.

20:14 Changeset [39016] by mrowe@apple.com

New tag.

20:13 Changeset [39015] by slewis@apple.com

2008-12-04 Stephanie Lewis <slewis@apple.com>

Fix build.

  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
19:42 Changeset [39014] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Add a MIME mapping for the .htm extension to wx and GTK ports.

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

19:29 Changeset [39013] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Implement basic text paste support in wx and add notImplemented stubs to catch other methods.

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

17:55 Changeset [39012] by kevino@webkit.org

wx build fix for !USE(WXGC) build config.

17:39 Changeset [39011] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Turn off styled controls until we can implement them properly.

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

16:40 Changeset [39010] by ggaren@apple.com

2008-12-04 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Some refactoring for generateGreedyQuantifier.


SunSpider reports no change (possibly a 0.3% speedup).

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateGreedyQuantifier): Clarified label meanings and unified some logic to simplify things.
  • wrec/WRECParser.h: (JSC::WREC::Parser::parseAlternative): Added a version of parseAlternative that can jump to a Label, instead of a JumpList, upon failure. (Eventually, when we have a true Label class, this will be redundant.) This makes things easier for generateGreedyQuantifier, because it can avoid explicitly linking things.
16:10 Changeset [39009] by andersca@apple.com

..:

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

Reviewed by Sam Weinig.

Add HostedNetscapePluginStream.


  • WebKit.xcodeproj/project.pbxproj:

../mac:

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

Reviewed by Sam Weinig.

More work on streams.


  • Plugins/Hosted/HostedNetscapePluginStream.h: Added. (WebKit::HostedNetscapePluginStream::create):
  • Plugins/Hosted/HostedNetscapePluginStream.mm: Added. (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream): (WebKit::HostedNetscapePluginStream::startStreamWithResponse): (WebKit::HostedNetscapePluginStream::startStream): (WebKit::HostedNetscapePluginStream::didReceiveData): (WebKit::HostedNetscapePluginStream::didFinishLoading): (WebKit::HostedNetscapePluginStream::didReceiveResponse):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::pluginView): (WebKit::NetscapePluginInstanceProxy::hostProxy):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest): (WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID): (WebKit::NetscapePluginInstanceProxy::PluginRequest::request): (WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName): (WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture): (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::performRequest): (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): (WebKit::NetscapePluginInstanceProxy::requestTimerFired): (WebKit::NetscapePluginInstanceProxy::loadRequest):
  • Plugins/Hosted/WebKitPluginHost.defs:
16:03 Changeset [39008] by kevino@webkit.org

Reviewed by Kevin Ollivier.

wx implementations for Path API.

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

14:39 Changeset [39007] by jchaffraix@webkit.org

2008-12-04 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22564: Make HTML elements' constructors take a QualifiedName
https://bugs.webkit.org/show_bug.cgi?id=22564

Updated the remaining constructors.

  • bindings/js/JSImageConstructor.cpp: (WebCore::constructImage):
  • dom/Document.cpp: (WebCore::Document::getCSSCanvasElement):
  • editing/DeleteButton.cpp: (WebCore::DeleteButton::DeleteButton):
  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::HTMLAppletElement):
  • html/HTMLAppletElement.h:
  • html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::HTMLAreaElement):
  • html/HTMLAreaElement.h:
  • html/HTMLBaseFontElement.cpp: (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
  • html/HTMLBaseFontElement.h:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::HTMLCanvasElement):
  • html/HTMLCanvasElement.h:
  • html/HTMLElementFactory.cpp: (WebCore::hrConstructor): (WebCore::paragraphConstructor): (WebCore::basefontConstructor): (WebCore::fontConstructor): (WebCore::anchorConstructor): (WebCore::imageConstructor): (WebCore::mapConstructor): (WebCore::areaConstructor): (WebCore::canvasConstructor): (WebCore::appletConstructor): (WebCore::embedConstructor): (WebCore::objectConstructor): (WebCore::paramConstructor): (WebCore::scriptConstructor): (WebCore::tableConstructor): (WebCore::tableCaptionConstructor): (WebCore::tableRowConstructor):
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::HTMLEmbedElement):
  • html/HTMLEmbedElement.h:
  • html/HTMLFontElement.cpp: (WebCore::HTMLFontElement::HTMLFontElement):
  • html/HTMLFontElement.h:
  • html/HTMLHRElement.cpp: (WebCore::HTMLHRElement::HTMLHRElement):
  • html/HTMLHRElement.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::HTMLImageElement):
  • html/HTMLImageElement.h:
  • html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::HTMLMapElement):
  • html/HTMLMapElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::HTMLObjectElement):
  • html/HTMLObjectElement.h:
  • html/HTMLParagraphElement.cpp: (WebCore::HTMLParagraphElement::HTMLParagraphElement):
  • html/HTMLParagraphElement.h:
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::HTMLParamElement):
  • html/HTMLParamElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): (WebCore::HTMLParser::mapCreateErrorCheck): (WebCore::HTMLParser::handleIsindex):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::HTMLScriptElement):
  • html/HTMLScriptElement.h:
  • html/HTMLTableCaptionElement.cpp: (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
  • html/HTMLTableCaptionElement.h:
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::HTMLTableElement): (WebCore::HTMLTableElement::createCaption): (WebCore::HTMLTableElement::insertRow):
  • html/HTMLTableElement.h:
  • html/HTMLTableRowElement.cpp: (WebCore::HTMLTableRowElement::HTMLTableRowElement):
  • html/HTMLTableRowElement.h:
  • html/HTMLTableSectionElement.cpp: (WebCore::HTMLTableSectionElement::insertRow):
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): (WebCore::HTMLViewSourceDocument::addLine):
  • loader/ImageDocument.cpp: (WebCore::ImageDocumentElement::ImageDocumentElement):
14:02 Changeset [39006] by sfalken@apple.com

Implement IPropertyBag2::Read.
Fill in dwType for IPropertyBag2::GetPropertyInfo (we always use PROPBAG2_TYPE_DATA).
https://bugs.webkit.org/show_bug.cgi?id=22659


This fixes <rdar://problem/6419127> REGRESSION: Forms autocomplete is broken for "other forms"


Reviewed by Ada Chan, Alice Liu.

  • COMPropertyBag.h: (::Read): Implemented. (::GetPropertyInfo): Set dwType to PROPBAG2_TYPE_DATA.
13:08 Changeset [39005] by eric@webkit.org

No review, build fix only.

Add file missing from last commit.

  • bindings/js/ScriptState.h: Added.
13:01 Changeset [39004] by hausmann@webkit.org

2008-12-04 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Holger Freyther.

Fix crashes in the Qt build on Linux/i386 with non-executable memory
by enabling TCSystemAlloc and the PROT_EXEC flag for mmap.

12:51 Changeset [39003] by eric@webkit.org

Reviewed by Geoff Garen.

Implement ScriptState abstraction (initially, a simple typedef)
as means of carrying exception information across bindings boundaries
and in a script engine-independent way.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.cpp: (WebCore::scriptStateFromNode):
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/ScriptState.h: Added.
  • dom/NodeFilter.cpp: (WebCore::NodeFilter::acceptNode):
  • dom/NodeFilter.h: (WebCore::NodeFilter::acceptNode):
  • dom/NodeFilterCondition.cpp: (WebCore::NodeFilterCondition::acceptNode):
  • dom/NodeFilterCondition.h:
  • dom/NodeIterator.cpp: (WebCore::NodeIterator::nextNode): (WebCore::NodeIterator::previousNode):
  • dom/NodeIterator.h: (WebCore::NodeIterator::nextNode): (WebCore::NodeIterator::previousNode):
  • dom/Traversal.cpp: (WebCore::Traversal::acceptNode):
  • dom/Traversal.h:
  • dom/TreeWalker.cpp: (WebCore::TreeWalker::parentNode): (WebCore::TreeWalker::firstChild): (WebCore::TreeWalker::lastChild): (WebCore::TreeWalker::previousSibling): (WebCore::TreeWalker::nextSibling): (WebCore::TreeWalker::previousNode): (WebCore::TreeWalker::nextNode):
  • dom/TreeWalker.h: (WebCore::TreeWalker::parentNode): (WebCore::TreeWalker::firstChild): (WebCore::TreeWalker::lastChild): (WebCore::TreeWalker::previousSibling): (WebCore::TreeWalker::nextSibling): (WebCore::TreeWalker::previousNode): (WebCore::TreeWalker::nextNode):
12:44 Changeset [39002] by pol@apple.com

2008-12-04 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name
and potential similar issue with pauseAnimationAtTimeOnElementWithId().

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

  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime): (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
12:42 Changeset [39001] by andersca@apple.com

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

Reviewed by Sam Weinig.

Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView
but once we have a more complete implementation of NPStreams we can start refactoring things so that the
implementations can share more code.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCLoadURL):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::loadURL): (WebKit::NetscapePluginInstanceProxy::performRequest): (WebKit::NetscapePluginInstanceProxy::requestTimerFired): (WebKit::NetscapePluginInstanceProxy::loadRequest):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
12:37 Changeset [39000] by brettw@chromium.org

Reviewed by Darin Adler.

Remove unused Completion.h include.

  • html/CanvasRenderingContext2D.cpp: Removed Completion.h include.
12:07 Changeset [38999] by hyatt@apple.com

2008-11-13 David Hyatt <hyatt@apple.com>

Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible.

Reviewed by Darin Adler

  • platform/ScrollView.cpp: (WebCore::ScrollView::setParentVisible):
11:38 Changeset [38998] by andersca@apple.com

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

Reviewed by Dan Bernstein.


Move requestWithURLCString to WebBaseNetscapePluginView.


  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView requestWithURLCString:]):
  • Plugins/WebNetscapePluginView.mm:
08:38 Changeset [38997] by vestbo@webkit.org

Fix the Qt build

08:21 Changeset [38996] by hausmann@webkit.org

2008-12-04 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Enable ENABLE_JIT_OPTIMIZE_CALL, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS
and ENABLE_JIT_OPTIMIZE_ARITHMETIC, as suggested by Niko.

06:41 Changeset [38995] by hausmann@webkit.org

2008-12-04 Friedemann Kleint <friedemann.kleint@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix small translation glitch in the Qt file chooser.

06:32 Changeset [38994] by hausmann@webkit.org

2008-12-04 Kent Hansen <khansen@trolltech.com>

Reviewed by Simon Hausmann.

Enable the JSC JIT for the Qt build by default for release builds on
linux-g++ and win32-msvc.

05:01 Changeset [38993] by vestbo@webkit.org

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

Rubber-stamped by Simon Hausmann.

Blacklist Silverlight plugin on Qt/Mac until supported

Currently the plugin crashes with a corrupted stack trace, possibly
related to https://bugs.webkit.org/show_bug.cgi?id=20635

03:10 Changeset [38992] by barraclough@apple.com

2008-12-04 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Allow JIT to function without property access repatching and arithmetic optimizations.
Controlled by ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS and ENABLE_JIT_OPTIMIZE_ARITHMETIC switches.

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

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: Copied from jit/JIT.cpp. (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase):
  • jit/JITPropertyAccess.cpp: Copied from jit/JIT.cpp. (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compilePutByIdSlowCase): (JSC::resizePropertyStorage): (JSC::transitionWillNeedStorageRealloc): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength):
  • wtf/Platform.h:
02:26 Changeset [38991] by vestbo@webkit.org

Qt build fix after r38975

00:41 Changeset [38990] by ap@webkit.org

2008-12-03 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

Fix non-Mac build.

  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

12/03/08:

23:43 Changeset [38989] by ggaren@apple.com

JavaScriptCore:

2008-12-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Optimized sequences of characters in regular expressions by comparing
two characters at a time.


1-2% speedup on SunSpider, 19-25% speedup on regexp-dna.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::load32): (JSC::MacroAssembler::jge32): Filled out a few more macro methods.
  • assembler/X86Assembler.h: (JSC::X86Assembler::movl_mr): Added a verion of movl_mr that operates without an offset, to allow the macro assembler to optmize for that case.


  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp): Test the saved value of index instead of the index register when checking for "end of input." The index register doesn't increment by 1 in an orderly fashion, so testing it for == "end of input" is not valid.


Also, jump all the way to "return failure" upon reaching "end of input,"
instead of executing the next alternative. This is more logical, and
it's a slight optimization in the case of an expression with many alternatives.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateIncrementIndex): Added support for jumping to a failure label in the case where the index has reached "end of input."

(JSC::WREC::Generator::generatePatternCharacterSequence):
(JSC::WREC::Generator::generatePatternCharacterPair): This is the
optmization. It's basically like generatePatternCharacter, but it runs two
characters at a time.


(JSC::WREC::Generator::generatePatternCharacter): Changed to use isASCII,
since it's clearer than comparing to a magic hex value.


  • wrec/WRECGenerator.h:

LayoutTests:

2008-12-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Added a test for another input length miscalculation.

  • fast/regex/alternative-length-miscalculation-expected.txt:
  • fast/regex/resources/alternative-length-miscalculation.js:
23:27 Changeset [38988] by ap@webkit.org

Reviewed by Darin Adler.

Add missing test files (utf-16,32 files) and two php files
for bug 21635 and enabled utf-7 tests (bug 22492). The patch
for bug 21635 was landed in http://trac.webkit.org/changeset/38755,
but binary test files (utf-16/32) were omitted in the changeset.

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

  • http/tests/misc/resources/check-query-param.php: Added.
  • http/tests/misc/resources/echo-query-param.php: Added.
  • http/tests/misc/submit-get-in-utf16be.html: Added.
  • http/tests/misc/submit-get-in-utf16le.html: Added.
  • http/tests/misc/submit-get-in-utf32be.html: Added.
  • http/tests/misc/submit-get-in-utf32le.html: Added.
  • http/tests/misc/submit-get-in-utf7.html: Copied from http/tests/misc/submit-get-in-utf7.html-disabled.
  • http/tests/misc/submit-get-in-utf7.html-disabled: Removed.
  • http/tests/misc/submit-post-in-utf16be.html: Added.
  • http/tests/misc/submit-post-in-utf16le.html: Added.
  • http/tests/misc/submit-post-in-utf32be.html: Added.
  • http/tests/misc/submit-post-in-utf32le.html: Added.
  • http/tests/misc/submit-post-in-utf7.html: Copied from http/tests/misc/submit-post-in-utf7.html-disabled.
  • http/tests/misc/submit-post-in-utf7.html-disabled: Removed.
  • http/tests/misc/url-in-utf16be.html: Added.
  • http/tests/misc/url-in-utf16le.html: Added.
  • http/tests/misc/url-in-utf32be.html: Added.
  • http/tests/misc/url-in-utf32le.html: Added.
  • http/tests/misc/url-in-utf7.html: Copied from http/tests/misc/url-in-utf7.html-disabled.
  • http/tests/misc/url-in-utf7.html-disabled: Removed.
23:21 Changeset [38987] by ap@webkit.org

2008-12-03 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Remove uses of document() in XMLHttpRequest where simple.
https://bugs.webkit.org/show_bug.cgi?id=22619

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Return NULL in the worker case which is according to spec (and avoids using document()).

(WebCore::XMLHttpRequest::callReadyStateChangeListener):
(WebCore::XMLHttpRequest::initSend):
Use scriptExecutionContext() instead of document().

23:20 Changeset [38986] by ap@webkit.org

Reviewed by Alexey Proskuryakov.

Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function.
https://bugs.webkit.org/show_bug.cgi?id=22642

  • dom/Document.cpp: (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer): (WebCore::ScriptExecutionContextTaskTimer::fired): (WebCore::PerformTaskContext::PerformTaskContext): (WebCore::performTask): (WebCore::Document::postTask):
  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp:
  • dom/ScriptExecutionContext.h:
  • dom/WorkerContext.cpp: (WebCore::ScriptExecutionContextTaskWorkerTask::create): (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask): (WebCore::ScriptExecutionContextTaskWorkerTask::performTask): (WebCore::WorkerContext::postTask):
  • dom/WorkerContext.h:
23:19 Changeset [38985] by ap@webkit.org

2008-12-03 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

Using ActiveDOMObject as base class for DOMTimer.
https://bugs.webkit.org/show_bug.cgi?id=22620

Using ActiveDOMObject simplifies the code because ActiveDOMObject
is wired for stop/pause/resume on loading/unloading/caching the page etc
so the timer-specific code that does the same can be removed.
In addition, timers can be now paused/resumed 'in place' which
makes it unnecessary to 'serialize' them into special PausedTimeouts
instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed.
Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime
of timeouts and makes it possible to not roundtrip them via PausedTimeouts
every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache.

Timeouts are now paused with other ActiveDOMObjects:

  • before creating CachedPage in FrameLoader::commitProvisionalLoad()
  • in JavaScriptDebugServer::setJavaScriptPaused
  • during modal UI operations in Chrome::* this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts()

Timeouts are stopped to prevent future firing from:

  • FrameLoader::clear()
  • FrameLoader::frameDetached() this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts()

This is also one of the steps to having timers in Workers. See the plan of
the next steps in the bug above.

  • bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::DOMTimer): (WebCore::DOMTimer::fired): (WebCore::DOMTimer::hasPendingActivity): (WebCore::DOMTimer::contextDestroyed): (WebCore::DOMTimer::stop): (WebCore::DOMTimer::suspend): (WebCore::DOMTimer::resume): (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods.
  • bindings/js/DOMTimer.h:
  • bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper (WebCore::markActiveObjectsForContext):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::~JSDOMWindowBase): (WebCore::JSDOMWindowBase::clear): (WebCore::JSDOMWindowBase::installTimeout): (WebCore::JSDOMWindowBase::removeTimeout): (WebCore::JSDOMWindowBase::timerFired): (WebCore::JSDOMWindowBase::disconnectFrame):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/ScriptController.cpp:
  • bindings/js/ScriptController.h:
  • dom/Document.cpp: Document now holds a hash map id->timeout (WebCore::Document::addTimeout): (WebCore::Document::removeTimeout): (WebCore::Document::findTimeout):
  • dom/Document.h:
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear):
  • history/CachedPage.h:
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
  • inspector/JavaScriptDebugServer.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad): removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear(); I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload' and then calls into client which can be external code and can cause any active object created in onunload to fire. We can stop them all before firing onunload but it does not make a lot of sense. I have a test to go with the next patch which verifies that timers set in onunload do not fire.

(WebCore::FrameLoader::open):

  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
21:43 Changeset [38984] by barraclough@apple.com

2008-12-03 Gavin Barraclough <barraclough@apple.com>

Reviewed by Camron Zwarich.

Allow JIT to operate without the call-repatching optimization.
Controlled by ENABLE(JIT_OPTIMIZE_CALL), defaults on, disabling
this leads to significant performance regression.

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

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • jit/JIT.cpp: (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • jit/JITCall.cpp: Copied from jit/JIT.cpp. (JSC::JIT::compileOpCallInitializeCallFrame): (JSC::JIT::compileOpCallSetupArgs): (JSC::JIT::compileOpCallEvalSetupArgs): (JSC::JIT::compileOpConstructSetupArgs): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase): (JSC::unreachable):
  • jit/JITInlineMethods.h: Copied from jit/JIT.cpp. (JSC::JIT::checkStructure): (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitTagAsBoolImmediate):
  • wtf/Platform.h:
19:39 Changeset [38983] by justin.garcia@apple.com

WebCore:

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

Reviewed by Beth Dakin.

<rdar://problem/6018653> Extra blank line when pasting paragraph in plain text


In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the
end of pasted content so that users don't get stuck with non-standard pargraph
spacing. This content threw off our handling of interchange newlines. Any interchange
newline, regardless of it's position in the incoming fragment was considered to be
"at the start" of the fragment, and would result in us inserting in a newline before
inserted content. This patch makes the checks for interchange newlines more strict,
and treats interchange newlines found elsewhere as normal <br>s.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment): (WebCore::ReplacementFragment::removeInterchangeNodes):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::init): (WebCore::VisiblePosition::canonicalPosition):
  • editing/VisiblePosition.h:

LayoutTests:

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

Reviewed by Beth Dakin.

<rdar://problem/6018653> Extra blank line when pasting paragraph in plain text

  • editing/pasteboard/6018653-expected.txt: Added.
  • editing/pasteboard/6018653.html: Added.
18:11 Changeset [38982] by andersca@apple.com

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

Reviewed by Sam Weinig.


Move WebPluginRequest to its own file.


  • WebKit.xcodeproj/project.pbxproj:
18:10 Changeset [38981] by andersca@apple.com

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

Reviewed by Sam Weinig.

Move WebPluginRequest to its own file.


  • Plugins/WebNetscapePluginView.mm:
  • Plugins/WebPluginRequest.h: Added.
  • Plugins/WebPluginRequest.m: Added. (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]): (-[WebPluginRequest dealloc]): (-[WebPluginRequest request]): (-[WebPluginRequest frameName]): (-[WebPluginRequest isCurrentEventUserGesture]): (-[WebPluginRequest sendNotification]): (-[WebPluginRequest notifyData]):
17:47 Changeset [38980] by eric@webkit.org

Rubber-stamped by David Hyatt.

Bring the WebCore chromium build a couple steps closer to building.

  • WebCore.scons:
17:03 Changeset [38979] by andersca@apple.com

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

Handle the CA model.

  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView setWindowIfNecessary]):
16:57 Changeset [38978] by kevino@webkit.org

wx build fix.

16:37 Changeset [38977] by zimmermann@webkit.org

Reviewed by George Staikos.
Forgot to rerun make-js-test-wrappers, and update some fast/wml results.

16:26 Changeset [38976] by weinig@apple.com

2008-12-03 Sam Weinig <sam@webkit.org>

Fix build.

  • assembler/X86Assembler.h: (JSC::X86Assembler::orl_i32r):
16:10 Changeset [38975] by weinig@apple.com

2008-12-03 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Remove shared AssemblerBuffer 1MB buffer and instead give AssemblerBuffer
an 256 byte inline capacity.

1% progression on Sunspider.

  • assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::AssemblerBuffer): (JSC::AssemblerBuffer::~AssemblerBuffer): (JSC::AssemblerBuffer::grow):
  • assembler/MacroAssembler.h: (JSC::MacroAssembler::MacroAssembler):
  • assembler/X86Assembler.h: (JSC::X86Assembler::X86Assembler):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::JIT):
  • parser/Nodes.cpp: (JSC::RegExpNode::emitBytecode):
  • runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::create):
  • runtime/RegExp.h:
  • runtime/RegExpConstructor.cpp: (JSC::constructRegExp):
  • runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncCompile):
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncMatch): (JSC::stringProtoFuncSearch):
  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp):
  • wrec/WRECGenerator.h: (JSC::WREC::Generator::Generator):
  • wrec/WRECParser.h: (JSC::WREC::Parser::Parser):
15:48 Changeset [38974] by zimmermann@webkit.org

Reviewed by George Staikos.

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

Implement WML variable substitution & validation.
Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation.

Tests: wml/variable-reference-invalid-character.html

wml/variable-reference-valid.html

15:26 Changeset [38973] by eric@webkit.org

Build fix for --gtk and --chromium, no review.

Fix run-javascriptcore-tests to pass --gtk, --qt, --chromium, etc.
through to build-jsc.

  • Scripts/build-jsc:
  • Scripts/webkitdirs.pm:
15:20 Changeset [38972] by zimmermann@webkit.org

Reviewed by Cameron Zwarich.

Further preparations for WML layout tests.

  • Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class.
  • Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource
  • Add helper method in Document.idl, to reset the WML page state to a well-known default state. (will be used in the upcoming LayoutTests/wml testcases)
14:54 Changeset [38971] by ggaren@apple.com

2008-12-03 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt, with help from Gavin Barraclough.


orl_i32r was actually coded as an 8bit OR. So, I renamed orl_i32r to
orl_i8r, changed all orl_i32r clients to use orl_i8r, and then added
a new orl_i32r that actually does a 32bit OR.


(32bit OR is currently unused, but a patch I'm working on uses it.)

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::or32): Updated to choose between 8bit and 32bit OR.
  • assembler/X86Assembler.h: (JSC::X86Assembler::orl_i8r): The old orl_i32r. (JSC::X86Assembler::orl_i32r): The new orl_i32r.


  • jit/JIT.cpp: (JSC::JIT::emitFastArithPotentiallyReTagImmediate): (JSC::JIT::emitTagAsBoolImmediate): Use orl_i8r, since we're ORing 8bit values.
14:38 Changeset [38970] by antti@apple.com

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

Reviewed by Sam Weinig.

Don't leak selectors in case selector list parsing failed.

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::~CSSParser):
14:34 Changeset [38969] by simon.fraser@apple.com

2008-12-03 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Clean up and unify transition and animation test cases that destroy
the renderer in the 'ended' event callback, either through setting display:none,
or removing the element.

  • animations/animation-end-event-destroy-renderer-expected.txt: Added.
  • animations/animation-end-event-destroy-renderer.html: Added.
  • animations/transform-animation-event-destroy-element-expected.txt: Removed.
  • animations/transform-animation-event-destroy-element.html: Removed.
  • transitions/transform-transition-event-destroy-element-expected.txt: Removed.
  • transitions/transform-transition-event-destroy-element.html: Removed.
  • transitions/transition-end-event-destroy-renderer-expected.txt: Added.
  • transitions/transition-end-event-destroy-renderer.html: Added.
14:20 Changeset [38968] by cmarrin@apple.com

2008-12-03 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt.

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

This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html).
This patch fixes the testcase.

This is another case of animations getting destroyed in the end animation callback and causing dangling
pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed.
So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed)
and skip that call.

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine):
14:15 Changeset [38967] by andersca@apple.com

Add radar number

14:13 Changeset [38966] by andersca@apple.com

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

Reviewed by Kevin Decker.


Call NPP_SetWindow for CA plug-ins.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): (-[WebNetscapePluginView restorePortState:]): (-[WebNetscapePluginView isNewWindowEqualToOldWindow]): (-[WebNetscapePluginView updateAndSetWindow]): (-[WebNetscapePluginView setWindowIfNecessary]):
14:01 Changeset [38965] by eric@webkit.org

Build fix only, no review.

Remove support for build-webkit --svg-experimental.
All of the "experimental" svg features have their own toggles anyway.
I broke --svg-experimental in my last commit (which then broke clean builds)
I can't find any use of --svg-experimental in our source tree, so removing it.

  • Scripts/build-webkit:
13:52 Changeset [38964] by antti@apple.com

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

Reviewed by Darin Adler.

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

Reduce size of the CSSSelector by one more pointer by using an array
instead of a linked list to store them.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseSelector): (WebCore::CSSParser::createStyleRule):
  • css/CSSParser.h: (WebCore::CSSParser::reusableSelectorVector):
  • css/CSSSelector.h: (WebCore::CSSSelector::CSSSelector): (WebCore::CSSSelector::~CSSSelector): (WebCore::CSSSelector::isLastInSelectorList): (WebCore::CSSSelector::setLastInSelectorList):
  • css/CSSStyleRule.cpp: (WebCore::CSSStyleRule::CSSStyleRule): (WebCore::CSSStyleRule::~CSSStyleRule): (WebCore::CSSStyleRule::selectorText):
  • css/CSSStyleRule.h: (WebCore::CSSStyleRule::adoptSelectorVector): (WebCore::CSSStyleRule::selectorList):
  • css/CSSStyleSelector.cpp: (WebCore::CSSRuleSet::addRulesFromSheet):
  • dom/Node.cpp: (WebCore::forEachSelector): (WebCore::selectorNeedsNamespaceResolution): (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll):
  • dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList):
  • dom/SelectorNodeList.h:
13:52 Changeset [38963] by dino@apple.com

2008-12-03 Dean Jackson <dino@apple.com>

CSSTransforms.html +
CSSTransforms3D.html:

  • Use SYNTAX_ERR for exceptions that are parsing errors in CSSMatrix
13:44 Changeset [38962] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22630
Assertion failure in XMLHttpRequest::contextDestroyed

Test: http/tests/xmlhttprequest/close-window.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): (WebCore::FrameLoader::commitProvisionalLoad): Move stopping active objects to clear(), so that closing a window is also covered.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(), because internalAbort() deref()'s.
13:36 Changeset [38961] by dino@apple.com

2008-12-03 Dean Jackson <dino@apple.com>

Added links to the WebKit and Mozilla bugs for pointer-events.

  • specs/PointerEventsProperty.html:
13:34 Changeset [38960] by eric@webkit.org

Reviewed by David Hyatt (and Mark Rowe).

Move --coverage support from build-webkit to webkitdirs.pm to share it with build-jsc
Move --coverage support out of run-javascriptcore-tests and into build-jsc

Finally add a buildXCodeProject function to webkitdirs.pm and move --clean support
there from build-webkit (to allow future sharing with other build-* scripts)

Change run-javascriptcore-tests to expect a --jsDriver-args= argument instead of
picking through ARGV with a blacklist of what arguments weren't jsDriver args
this makes run-javascriptcore-tests transparently support all arguments which
webkitdirs.pm gives it support for.

Make run-javascriptcore-tests actually print what commands it's running before running them.

Add --help support to build-jsc and run-javascriptcore-tests!

Make code to support --svg-experimental defaults take up half as many lines.

  • Scripts/build-jsc:
  • Scripts/build-webkit:
  • Scripts/run-javascriptcore-tests:
  • Scripts/webkitdirs.pm:
12:46 Changeset [38959] by dino@apple.com

2008-12-03 Dean Jackson <dino@apple.com>

Reviewed by Dan Bernstein.

JavaScriptCore:

Helper functions for turn -> degrees.
https://bugs.webkit.org/show_bug.cgi?id=22497

  • wtf/MathExtras.h: (turn2deg): (deg2turn):

WebCore:

Implement CSS 3 <angle> turn unit and support it
in rotations.
https://bugs.webkit.org/show_bug.cgi?id=22497

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::validUnit): (WebCore::unitFromString): (WebCore::CSSParser::lex):
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::createTransformOperations):
  • css/tokenizer.flex:

LayoutTests:

Tests for CSS 3 <angle> turn unit
https://bugs.webkit.org/show_bug.cgi?id=22497

  • transforms/2d/transform-2d-expected.txt:
  • transforms/2d/transform-2d.html:
  • transforms/transform-value-types-expected.txt:
  • transforms/transform-value-types.html:
12:32 Changeset [38958] by andersca@apple.com

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

Fix the release build.

  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
12:00 Changeset [38957] by dino@apple.com

2008-12-03 Dean Jackson <dino@apple.com>

Reviewed by Dan Bernstein.

Clean up some tests for private DRT API.
https://bugs.webkit.org/show_bug.cgi?id=22498

  • platform/win/Skipped:
  • transitions/transition-drt-api-delay-expected.txt:
  • transitions/transition-drt-api-delay.html:
  • transitions/transition-shorthand-delay-expected.txt:
  • transitions/transition-shorthand-delay.html:
11:57 Changeset [38956] by sfalken@apple.com

Update strings not to be localized.

Reviewed by Adam Roben.

  • StringsNotToBeLocalized.txt:
11:51 Changeset [38955] by aroben@apple.com

Fix a leak in WinLauncher shutdown

Reviewed by Sam Weinig.

  • WinLauncher/WinLauncher.cpp: (_tWinMain): Replaced a delete with a Release. We can't delete the WebView properly since we only have a pointer to one of its interfaces. We also shouldn't be deleting COM objects directly anyway, for a number of reasons.
11:51 Changeset [38954] by aroben@apple.com

Fix a crash on exit in WinLauncher

Reviewed by Sam Weinig.

  • WinLauncher/WinLauncher.cpp: (_tWinMain): Call shutDownWebKit before exiting.
11:50 Changeset [38953] by aroben@apple.com

Add a Debug_Internal configuration to WinLauncher

This matches our other projects.

Reviewed by Sam Weinig.

  • WinLauncher/WinLauncher.vcproj: Added a Debug_Internal configuration, which is identical to Debug except that it also references debug_internal.vsprops. Also removed some settings that we should be picking up from the .vsprops files.
10:59 Changeset [38952] by krit@webkit.org

2008-12-03 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann.

WebCore:

Make use of the gradient code in GraphicsContext and get rid of most of the
platform dependent code.

SVG should use the new Gradient support on GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=20543

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FloatSize.h: (WebCore::FloatSize::shrunkTo):
  • svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::buildGradient):
  • svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient):
  • svg/graphics/SVGPaintServer.h:
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient): (WebCore::SVGPaintServerGradient::gradient): (WebCore::SVGPaintServerGradient::setGradient): (WebCore::findTextRootObject): (WebCore::createMaskAndSwapContextForTextGradient): (WebCore::clipToTextMask): (WebCore::SVGPaintServerGradient::setup): (WebCore::SVGPaintServerGradient::renderPath): (WebCore::SVGPaintServerGradient::teardown):
  • svg/graphics/SVGPaintServerGradient.h: (WebCore::SVGPaintServerGradient::setGradientStops): (WebCore::SVGPaintServerGradient::gradientStops):
  • svg/graphics/SVGPaintServerLinearGradient.h:
  • svg/graphics/SVGPaintServerRadialGradient.h:
  • svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed.
  • svg/graphics/cg/SVGPaintServerCg.cpp:
  • svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed.
  • svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed.
  • svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed.
  • svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed.

LayoutTests:

Updated/Correcte the SVG pixel tests.
We pass two more SVG tests now.

  • platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png:
  • platform/mac/svg/batik/text/textEffect3-expected.checksum:
  • platform/mac/svg/batik/text/textEffect3-expected.png:
10:55 Changeset [38951] by weinig@apple.com

2008-12-03 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

Fix formatting.

  • css/CSSSelector.h: (WebCore::CSSSelector::createRareData):
10:54 Changeset [38950] by andersca@apple.com

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

Reviewed by Dan Bernstein.

<rdar://problem/6412234>
Don't crash if we can't launch the plug-in host.

  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
09:36 Changeset [38949] by zimmermann@webkit.org

Reviewed by Adam Roben.

As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment.

09:00 Changeset [38948] by zimmermann@webkit.org

Reviewed by Alexey Proskuryakov.

Next steps to make LayoutTests work:
Never access the main frame from WMLRefreshElement/WMLCardElement, but
the current documents frame (WML layout tests will run in an <iframe>)

Prepare WMLErrorHandling for the case that no tokenizer is available anymore
-> report errors through Console::addMessage(), so they get logged in the

expected layout test results.

08:53 Changeset [38947] by vestbo@webkit.org

2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

Allow passing jsNull and jsUndefined to Qt plugins

Currently limited to functions with QString and QVariant arguments,
and properties of these types. Both jsNull and jsUndefined ends up
as default-constructed QStrings and QVariants, which means you can
check for isEmpty() and isValid() in the native plugin code.

Based on patches by Jade Han <jade.han@nokia.com>

08:36 Changeset [38946] by hausmann@webkit.org

2008-12-03 Trenton Schulz <trenton.schulz@nokia.com>

Reviewed by Simon Hausmann.

Fix the build with Qt for Mac OS X.

08:28 Changeset [38945] by zimmermann@webkit.org

Reviewed by Alexey Proskuryakov.

Fix error handling in WMLSetvarElement. If an invalid variable reference is contained
in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariab

08:12 Changeset [38944] by zimmermann@webkit.org

Reviewed by Alexey Proskuryakov.

Preparations to get WML layout tests going.
Make WMLPageState an OwnPtr to Page, and let Page create it on demand.

07:57 Changeset [38943] by ap@webkit.org

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22627
fast/workers/worker-terminate.html fails randomly

The problem is that worker termination uses script timeouts, so an InterruptedExecutionError
is raised, and it sometimes reaches the main thread.

  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerExceptionTask::create): (WebCore::WorkerExceptionTask::WorkerExceptionTask): (WebCore::WorkerExceptionTask::performTask): (WebCore::WorkerMessagingProxy::postWorkerException):
  • dom/WorkerMessagingProxy.h: Ignore exceptions that happen in terminated workers.
07:52 Changeset [38942] by zimmermann@webkit.org

Reviewed by Alexey Proskuryakov.
Remove some unncessary includes.

07:25 Changeset [38941] by ap@webkit.org

Rubber-stamped by Cameron Zwarich and Adam Roben.

Fix a typo: m_executionForbidded.

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::WorkerScriptController): (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::forbidExecution):
  • bindings/js/WorkerScriptController.h:
07:01 Changeset [38940] by ddkilzer@apple.com

2008-12-03 Dean McNamee <deanm@chromium.org>

Bug 22623: Uninitialized memory access in cache parsing code
<https://bugs.webkit.org/show_bug.cgi?id=22623>

Reviewed by David Kilzer.

Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader.

  • platform/network/ResourceResponseBase.h: (WebCore::ResourceResponseBase::ResourceResponseBase):
06:54 Changeset [38939] by ddkilzer@apple.com

Removed unchanged file from ChangeLog entry in r38918.

06:10 Changeset [38938] by hausmann@webkit.org

2008-12-03 Simon Hausmann <hausmann@webkit.org>

Reviewed by Tor Arne Vestbø.

Fix the build of WebKit inside Qt by making sure that qmake generators
that do not produce generated sources (i.e. cpp files) are not
included in SOURCES.

02:50 Changeset [38937] by vestbo@webkit.org

2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>

Rubber-stamped by Simon Hausmann.

Fix QWebFrame auto-test by giving it a little more time to load the image

01:56 Changeset [38936] by antti@apple.com

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

Probable build fix.

  • WebCoreSources.bkl:
01:51 Changeset [38935] by antti@apple.com

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

Forgot to commit these.

  • dom/Node.cpp: (WebCore::forEachTagSelector): (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): (WebCore::Node::querySelector):
  • dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList):
01:42 Changeset [38934] by antti@apple.com

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

Reviewed by Dan Bernstein and Mark Rowe.

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

Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data
struct. Browsing around with some instrumentation showed that ~0.1% of all selectors
encountered had rare data.


This also eliminates the CSSNthSelector subclass which will make possible to store
CSSSelectors in an array instead of a linked list for futher memory savings.

  • css/CSSGrammar.y:
  • css/CSSNthSelector.cpp: Removed.
  • css/CSSNthSelector.h: Removed.
  • css/CSSParser.cpp: (WebCore::CSSParser::createFloatingSelector):
  • css/CSSParser.h:
  • css/CSSSelector.cpp: (WebCore::CSSSelector::specificity): (WebCore::CSSSelector::operator==): (WebCore::CSSSelector::selectorText): (WebCore::CSSSelector::setTagHistory): (WebCore::CSSSelector::attribute): (WebCore::CSSSelector::setAttribute): (WebCore::CSSSelector::setArgument): (WebCore::CSSSelector::setSimpleSelector): (WebCore::CSSSelector::parseNth): (WebCore::CSSSelector::matchNth): (WebCore::CSSSelector::RareData::parseNth): (WebCore::CSSSelector::RareData::matchNth):
  • css/CSSSelector.h: (WebCore::CSSSelector::CSSSelector): (WebCore::CSSSelector::~CSSSelector): (WebCore::CSSSelector::tagHistory): (WebCore::CSSSelector::hasAttribute): (WebCore::CSSSelector::argument): (WebCore::CSSSelector::simpleSelector): (WebCore::CSSSelector::RareData::RareData): (WebCore::CSSSelector::createRareData): (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
00:30 Changeset [38933] by ap@webkit.org

2008-12-03 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

Add test for https://bugs.webkit.org/show_bug.cgi?id=22600,
verifying that timeout callback is executed in the right scope.

  • fast/dom/Window/timeout-callback-scope-expected.txt: Added.
  • fast/dom/Window/timeout-callback-scope.html: Added.
00:27 Changeset [38932] by ap@webkit.org

2008-12-03 Jian Li <jianli@chromium.org>

Reviewed by Alexey Proskuryakov.

Remove unneeded included file in WorkerThread.cpp.
https://bugs.webkit.org/show_bug.cgi?id=22613

  • dom/WorkerThread.cpp: No need to include JSWorkerContext.h.

12/02/08:

23:42 Changeset [38931] by ap@webkit.org

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=22543
Consolidate ActiveDOMObject page cache interaction

Test: http/tests/xmlhttprequest/abort-on-leaving-page.html

  • dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::canSuspend): (WebCore::ActiveDOMObject::suspend): (WebCore::ActiveDOMObject::resume):
  • dom/ActiveDOMObject.h:
  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
  • dom/ScriptExecutionContext.h: Added methods for suspending and resuming active objects.
  • dom/Worker.cpp: (WebCore::Worker::canSuspend): (WebCore::Worker::stop):
  • dom/Worker.h: Workers cannot be suspended yet. This is a change in behavior, as workers used to keep running until their owner was destroyed.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because their activity is not necessarily loading. (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended. Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page uncacheable due to no-null main document error. (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on whether the document will be cached. (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their context is destroyed.
  • xml/XMLHttpRequest.h: added canSuspend().
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended. (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events for Firefox compatibility. This is a change in behavior that helps test that requests do get aborted. (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so assert that.
23:09 Disk Cache edited by ben@meyerhome.net
add link to chrome (diff)
22:13 Changeset [38930] by cwzwarich@webkit.org

2008-12-02 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Bug 22504: Crashes during code generation occur due to refing of ignoredResult()
<https://bugs.webkit.org/show_bug.cgi?id=22504>

Since ignoredResult() was implemented by casting 1 to a RegisterID*, any
attempt to ref ignoredResult() results in a crash. This will occur in
code generation of a function body where a node emits another node with
the dst that was passed to it, and then refs the returned RegisterID*.

To fix this problem, make ignoredResult() a member function of
BytecodeGenerator that simply returns a pointe to a fixed RegisterID
member of BytecodeGenerator.

JavaScriptCore:

  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::ignoredResult):
  • bytecompiler/RegisterID.h:
  • parser/Nodes.cpp: (JSC::NullNode::emitBytecode): (JSC::BooleanNode::emitBytecode): (JSC::NumberNode::emitBytecode): (JSC::StringNode::emitBytecode): (JSC::RegExpNode::emitBytecode): (JSC::ThisNode::emitBytecode): (JSC::ResolveNode::emitBytecode): (JSC::ObjectLiteralNode::emitBytecode): (JSC::PostfixResolveNode::emitBytecode): (JSC::PostfixBracketNode::emitBytecode): (JSC::PostfixDotNode::emitBytecode): (JSC::DeleteValueNode::emitBytecode): (JSC::VoidNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::TypeOfValueNode::emitBytecode): (JSC::PrefixResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::CommaNode::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitBytecode): (JSC::ReturnNode::emitBytecode): (JSC::ThrowNode::emitBytecode): (JSC::FunctionBodyNode::emitBytecode): (JSC::FuncDeclNode::emitBytecode):

LayoutTests:

  • fast/js/ignored-result-ref-crash-expected.txt: Added.
  • fast/js/ignored-result-ref-crash.html: Added.
  • fast/js/resources/ignored-result-ref-crash.js: Added.
20:53 Changeset [38929] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Cameron Zwarich.


Fixed https://bugs.webkit.org/show_bug.cgi?id=22537
REGRESSION (r38745): Assertion failure in jsSubstring() at ge.com

The bug was that index would become greater than length, so our
"end of input" checks, which all check "index == length", would fail.


The solution is to check for end of input before incrementing index,
to ensure that index is always <= length.


As a side benefit, generateJumpIfEndOfInput can now use je instead of
jg, which should be slightly faster.

  • wrec/WREC.cpp: (JSC::WREC::Generator::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateJumpIfEndOfInput):

LayoutTests:

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

Reviewed by Cameron Zwarich.


Test for https://bugs.webkit.org/show_bug.cgi?id=22537
REGRESSION (r38745): Assertion failure in jsSubstring() at ge.com

  • fast/regex/alternative-length-miscalculation-expected.txt: Added.
  • fast/regex/alternative-length-miscalculation.html: Added.
18:10 Changeset [38928] by barraclough@apple.com

2008-12-02 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoffrey Garen.

Plant shift right immediate instructions, which are awesome.
https://bugs.webkit.org/show_bug.cgi?id=22610
~5% on the v8-crypto test.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
17:03 Changeset [38927] by cfleizach@apple.com

Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?

<th> will serve as a title UI element when it is present in a table
that has not been exposed as an AXTable

16:41 Changeset [38926] by andersca@apple.com

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

Reviewed by Dan Bernstein.

Start processing messages sent to the client port.


  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: Add a map from ports to plug-in proxies. Turn the set of instances into a map from pluginID to instance proxy.


(WKPCStatusText):
Look up the right instance proxy and call status().


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::pluginID):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::status): Implement this.


  • Plugins/Hosted/WebKitPluginClient.defs: Add the plug-in ID to StatusText.
16:17 Changeset [38925] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Cleaned up SegmentedVector by abstracting segment access into helper
functions.


SunSpider reports no change.

  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::SegmentedVector): (JSC::SegmentedVector::~SegmentedVector): (JSC::SegmentedVector::size): (JSC::SegmentedVector::at): (JSC::SegmentedVector::operator[]): (JSC::SegmentedVector::last): (JSC::SegmentedVector::append): (JSC::SegmentedVector::removeLast): (JSC::SegmentedVector::grow): (JSC::SegmentedVector::clear): (JSC::SegmentedVector::deleteAllSegments): (JSC::SegmentedVector::segmentFor): (JSC::SegmentedVector::subscriptFor): (JSC::SegmentedVector::ensureSegmentsFor): (JSC::SegmentedVector::ensureSegment):
16:13 Changeset [38924] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Add HitTest to wxWebView (and wxWebFrame).

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

15:54 BuildingCairoOnWindows edited by bfulgham@macports.org
(diff)
15:53 BuildingOnWindows edited by bfulgham@macports.org
(diff)
15:37 Changeset [38923] by aroben@apple.com

Export new-ish JSCore convenience constructor functions

Reviewed by Jon Honeycutt.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def: Export JSObjectMakeArray, JSObjectMakeDate, and JSObjectMakeRegExp. Remove duplicate export of JSObjectMakeFunction.
15:15 Changeset [38922] by simon.fraser@apple.com

2008-12-02 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

Override absoluteClippedOverflowRect() in RenderReplaced to return a rect
that is large enough to encompass the selection, so that the repainting of
selected replaced elements works correctly.

Test: fast/repaint/selected-replaced.html

  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::selectionRect): (WebCore::RenderReplaced::localSelectionRect): (WebCore::RenderReplaced::absoluteClippedOverflowRect):
  • rendering/RenderReplaced.h:
14:58 Changeset [38921] by cfleizach@apple.com

Bug 22513: ZOOM: text selection does not send correct zoom bounds

When zoomed, text selection must send the zoom bounds in flipped screen coordinates.

14:27 Changeset [38920] by andersca@apple.com

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

Reviewed by Dan Bernstein.

Create a client mach port and pass it to the plug-in host.


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::hostForPackage): (WebKit::NetscapePluginHostManager::spawnPluginHost):
  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
  • Plugins/Hosted/WebKitPluginHost.defs:
14:16 Changeset [38919] by dino@apple.com

2008-12-02 Dean Jackson <dino@apple.com>

Reviewed by Sam Weinig.

Remove support for 'now' from CSS (was
erroneously added to transition and animation delay)
https://bugs.webkit.org/show_bug.cgi?id=22571

  • css/CSSParser.cpp: (WebCore::CSSParser::parseAnimationDelay):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapAnimationDelay):
  • css/CSSValueKeywords.in:
14:03 Changeset [38918] by eric@webkit.org

Build fix, no review.

Fix the Mac and gtk builds:
Don't use a float to hold a double.
Remove a now duplicate symbol.

  • WebCore.xcodeproj/project.pbxproj:
  • page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged):
  • platform/gtk/TemporaryLinkStubs.cpp:
13:52 Changeset [38917] by ggaren@apple.com

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

Reviewed by Geoffrey Garen. (Patch by Cameron Zwarich <zwarich@apple.com>.)


Fixed https://bugs.webkit.org/show_bug.cgi?id=22482
REGRESSION (r37991): Occasionally see "Scene rendered incorrectly"
message when running the V8 Raytrace benchmark


Rolled out r37991. It didn't properly save xmm0, which is caller-save,
before calling helper functions.


SunSpider and v8 benchmarks show little change -- possibly a .2%
SunSpider regression, possibly a .2% v8 benchmark speedup.

  • assembler/X86Assembler.h: (JSC::X86Assembler::):
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • bytecode/Instruction.h: (JSC::Instruction::):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitUnaryOp):
  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitToJSNumber): (JSC::BytecodeGenerator::emitTypeOf): (JSC::BytecodeGenerator::emitGetPropertyNames):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute):
  • interpreter/Interpreter.h:
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases):
  • jit/JIT.h:
  • parser/Nodes.cpp: (JSC::UnaryOpNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode):
  • parser/ResultType.h: (JSC::ResultType::isReusable): (JSC::ResultType::mightBeNumber):
  • runtime/JSNumberCell.h:
13:32 Changeset [38916] by barraclough@apple.com

2008-12-01 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoffrey Garen.

Remove unused (sampling only, and derivable) argument to JIT::emitCTICall.
https://bugs.webkit.org/show_bug.cgi?id=22587

  • jit/JIT.cpp: (JSC::JIT::emitCTICall): (JSC::JIT::compileOpCall): (JSC::JIT::emitSlowScriptCheck): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h:
13:29 Changeset [38915] by cfleizach@apple.com

Bug 22596: Some elements don't report AXBlockQuoteLevel

Make sure all AX objects return a block quote level

13:26 Changeset [38914] by andersca@apple.com

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

Reviewed by Sam Weinig.

Let the plug-in views know if the plug-in host crashes.


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::pluginHostDied): (WebKit::NetscapePluginHostProxy::addPluginInstance): (WebKit::NetscapePluginHostProxy::removePluginInstance):


  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::create):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: Keep a pointer to the host proxy.


(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
Add the instance to the host set.


(WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
Remove the instance form the host set.


(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Tell the plug-in view that the plug-in died.

  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Pass the plug-in view to the instantiatePlugin.


(-[WebHostedNetscapePluginView pluginHostDied]):
Handle the plug-in host crashing.


(-[WebHostedNetscapePluginView drawRect:]):
Fill the plug-in view with a nice red shade if the plug-in crashes.

12:43 Changeset [38913] by eric@webkit.org

2008-12-02 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

Fix the inheritance chain for JSFunction.

  • runtime/JSFunction.cpp: (JSC::JSFunction::info): Add InternalFunction::info as parent class
12:36 Changeset [38912] by eric@webkit.org

2008-12-02 Michael Moss <mmoss@chromium.org>

Reviewed by Eric Seidel.

Change 31264 fixed this on Mac (since moved to WebCore/loader/FrameLoader.cpp), but was never ported to Windows.

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::loadURLIntoChild):
12:32 Changeset [38911] by eric@webkit.org

2008-12-02 Dean McNamee <deanm@chromium.org>

Reviewed by Eric Seidel.

Correctly handle a theme returning a non-blinking interval. We should
not set any timers when the interval is 0 (non-blinking), otherwise we
repeatedly set and destroy a blinking timer, causing a paint and timer
storm. This is applicable to GTK and Windows, where a user can set a
non-blinking caret in their system preferences.

Renamed caretBlinkFrequency to the more accurate caretBlinkInterval.

  • page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged):
  • platform/Theme.h: (WebCore::Theme::caretBlinkInterval):
  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::caretBlinkInterval):
  • platform/gtk/RenderThemeGtk.h:
  • rendering/RenderTheme.h: (WebCore::RenderTheme::caretBlinkInterval):
12:27 Changeset [38910] by eric@webkit.org

Reviewed by Eric Seidel.

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

startsWith uses find which searches through the whole string if no match is found.
Using reverseFind with an index of 0 has the benefit of only searching for the match
at the beginning of the string. This may only be a small benefit in the overall program,
but it may help in some cases when the string is big.

No observable change in behavior, so no test.

  • platform/text/StringImpl.h: (WebCore::StringImpl::startsWith):
12:25 Changeset [38909] by eric@webkit.org

Reviewed by Darin Adler.

Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build.
https://bugs.webkit.org/show_bug.cgi?id=21951

  • svg/SVGElementInstance.cpp: (WebCore::SVGElementInstance::forgetWrapper):
11:07 Changeset [38908] by eric@webkit.org

Reviewed by Darin Adler.

Add an ASSERT to try and catch the root cause of:
https://bugs.webkit.org/show_bug.cgi?id=22168
http://code.google.com/p/chromium/issues/detail?id=4122

  • editing/TextIterator.cpp: (WebCore::TextIterator::emitText):
11:04 Changeset [38907] by eric@webkit.org

Reviewed by David Kilzer.

Hack build-webkit --chromium to use Win32 python instead
of using the default cygwin python. Scons + CYGWIN tries
to build with GCC by default, we force MSVC in our file
but that just results in errors from Scons. Until we can fix
this latest round of errors, at least make build-webkit --chromium
actually "work" under CYGWIN instead of forcing users to use
a cmd shell directly.

This is working around a Scons bug:
http://scons.tigris.org/issues/show_bug.cgi?id=2266

  • Scripts/webkitdirs.pm:
11:01 Changeset [38906] by eric@webkit.org

2008-12-02 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Remove some CG-specific code from the Windows Cairo build.
https://bugs.webkit.org/show_bug.cgi?id=22586

No new test cases since this update should create no user-visible
changes, and should be fully covered by the existing regression
tests.

  • WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::focusRingColor): Add stub method
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::populateFontDatabase): Add stub method.
10:32 Changeset [38905] by andersca@apple.com

2008-12-01 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Recover if the plug-in host dies and we try to instantiate another plugin before we get the port death notification


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::pluginHostDied): Remove the plug-in host from the map.


(WebKit::NetscapePluginHostManager::instantiatePlugin):
NetscapePluginHostProxy is no longer refcounted.

  • Plugins/Hosted/NetscapePluginHostProxy.h: This is no longer refcounted. Add a set of plug-in instances (unused for now).


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Create a death notification port.


(WebKit::NetscapePluginHostProxy::pluginHostDied):
Tell the manager that we're gone and delete ourselves.


(WebKit::NetscapePluginHostProxy::deathPortCallback):
New CFMachPort callback.

08:14 Changeset [38904] by hausmann@webkit.org

2008-12-02 Simon Hausmann <hausmann@webkit.org>

Rubber-stamped by Tor Arne Vestbø.

Initial API documentation for QWebDatabase, QWebSecurityOrigin and
QWebFrame::securityOrigin().

08:03 Changeset [38903] by vestbo@webkit.org

2008-12-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Reviewed by Tor Arne Vestbø.

MinGW compilation fix for PluginPackageWin.cpp

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

07:13 Changeset [38902] by aroben@apple.com

Build fix for Windows projects with NOMINMAX defined globally

  • platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already defined.
02:04 Changeset [38901] by hausmann@webkit.org

Top-Level:

2008-12-02 Simon Hausmann <hausmann@webkit.org>

Reviewed by Tor Arne Vestbø.

Removed JavaScriptCore from SUBDIRS as it's not built separately
anymore.

WebCore:

2008-12-02 Simon Hausmann <hausmann@webkit.org>

Reviewed by Tor Arne Vestbø.

Build JavaScriptCore into libQtWebKit.so through a direct build
instead of a static library. When linking a static library into
a shared library qmake generates an incorrect .prl file, which
causes all sorts of different build problems when linking against
QtWebKit. Fixing this in qmake requires bigger changes that are
currently not possible, so we need to work around this limitation
for now. The advantages of the separate build did not outweight the
build problems it caused.

JavaScriptCore:

2008-12-02 Simon Hausmann <hausmann@webkit.org>

Reviewed by Tor Arne Vestbø.

Fix ability to include JavaScriptCore.pri from other .pro files.

00:49 Changeset [38900] by ap@webkit.org

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22588
Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext.

No observable change in behavior, so no test.


  • dom/Document.cpp: (WebCore::Document::open): (WebCore::Document::domain): (WebCore::Document::setDomain): (WebCore::Document::initSecurityContext): (WebCore::Document::setSecurityOrigin):
  • dom/Document.h:
  • dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::setSecurityOrigin):
  • dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::securityOrigin):
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::WorkerContext):
  • dom/WorkerContext.h: These changes are for the move of securityOrigin().


  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::getAllResponseHeaders): (WebCore::XMLHttpRequest::getResponseHeader): (WebCore::XMLHttpRequest::processSyncLoadResults): (WebCore::XMLHttpRequest::willSendRequest): (WebCore::XMLHttpRequest::accessControlCheck): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin().
00:26 Changeset [38899] by hausmann@webkit.org

2008-12-02 André Pönitz <apoenitz@trolltech.com>

Reviewed by Simon Hausmann.

Disable the creation of debug information for the Qt build when done
inside Qt. With 670 mb it was slowing down gdb start significantly
for third-party applications that usually don't need it.

12/01/08:

23:24 Changeset [38898] by bdakin@apple.com

WebCore:

2008-12-01 Beth Dakin <bdakin@apple.com>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
(r19811): Using the down arrow in a textarea gets "stuck" at the
end of a wrapped line
And corresponding: <rdar://problem/5347931>

The basic problem here is that Position::getInlineBoxAndOffset()
failed to look beyond a single renderer. This patch looks for a
better match beyond the first renderer when the affinity is
downstream and we failed to find a "perfect" match.

  • dom/Position.cpp: (WebCore::isNonTextLeafChild): (WebCore::searchAheadForBetterMatch): (WebCore::Position::getInlineBoxAndOffset):

This is a fix I made based on code inspection. It looks like the
old code here and skipped over the parent as a possible match.

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

LayoutTests:

2008-12-01 Beth Dakin <bdakin@apple.com>

Reviewed by Dan Bernstein.

Tests for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION
(r19811): Using the down arrow in a textarea gets "stuck" at the
end of a wrapped line
And corresponding: <rdar://problem/5347931>

  • editing/selection/wrapped-line-caret-1.html: Added.
  • editing/selection/wrapped-line-caret-2.html: Added.
  • platform/mac/editing/selection/wrapped-line-caret-1- expected.checksum: Added.
  • platform/mac/editing/selection/wrapped-line-caret-1-expected.png: Added.
  • platform/mac/editing/selection/wrapped-line-caret-1-expected.txt: Added.
  • platform/mac/editing/selection/wrapped-line-caret-2- expected.checksum: Added.
  • platform/mac/editing/selection/wrapped-line-caret-2-expected.png: Added.
  • platform/mac/editing/selection/wrapped-line-caret-2-expected.txt: Added.
22:49 Changeset [38897] by pewtermoose@webkit.org

2008-12-01 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Add WML related files to Visual Studio projects.
https://bugs.webkit.org/show_bug.cgi?id=22561

  • WebCore.vcproj/WebCore.vcproj:
    1. Add files from the wml directory to the set of windows files.
    2. Extend include paths with new wml directory.
    3. Add new autogenerated WML files to DerivedSources.
    4. Alphabetize preprocesor includes (holdover from earlier debugging).
21:25 Changeset [38896] by sfalken@apple.com

Build fix.

21:25 Changeset [38895] by sfalken@apple.com

Revise node/selection image fix.
Moved updateLayout call so selection rect is fetched after the layout.


Reviewed by Adam Roben.

  • page/win/FrameCGWin.cpp: (WebCore::imageFromRect): (WebCore::imageFromSelection): (WebCore::Frame::nodeImage):
21:08 Changeset [38894] by sfalken@apple.com

WebCore:

2008-12-01 Steve Falkenburg <sfalken@apple.com>

Support needed to implement renderedImage for Windows.
https://bugs.webkit.org/show_bug.cgi?25648

Reviewed by Adam Roben.

  • page/Frame.h:
  • page/win/FrameCGWin.cpp: (WebCore::imageFromRect): (WebCore::imageFromSelection): (WebCore::Frame::nodeImage):
  • page/win/FrameCairoWin.cpp: (WebCore::imageFromNode):

WebKit/win:

2008-12-01 Steve Falkenburg <sfalken@apple.com>

Implement renderedImage for Windows.
https://bugs.webkit.org/show_bug.cgi?25648


Reviewed by Adam Roben.

  • DOMCoreClasses.cpp: (DOMElement::renderedImage):
  • DOMCoreClasses.h:
  • Interfaces/DOMPrivate.idl:
21:01 Changeset [38893] by simon.fraser@apple.com

2008-12-01 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein

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

Fix the painting of the caps lock indicator for transformed text inputs,
by replacing a call to absoluteContentBox() with code that computes the
painting rect for the input contents.

  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paint):
20:26 Changeset [38892] by zimmermann@webkit.org

Not reviewed. Forgot to include updated layout tests in last commit.

19:25 Changeset [38891] by ggaren@apple.com

2008-12-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich, with help from Gavin Barraclough.


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

Refactored regular expression parsing to parse sequences of characters
as a single unit, in preparation for optimizing sequences of characters.


SunSpider reports no change.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • wrec/Escapes.h: Added. Set of classes for representing an escaped token in a pattern.
  • wrec/Quantifier.h: (JSC::WREC::Quantifier::Quantifier): Simplified this constructor slightly, to match the new Escape constructor.
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generatePatternCharacterSequence):
  • wrec/WRECGenerator.h: Added an interface for generating a sequence of pattern characters at a time. It doesn't do anything special yet.
  • wrec/WRECParser.cpp: (JSC::WREC::Parser::consumeGreedyQuantifier): (JSC::WREC::Parser::consumeQuantifier): Renamed "parse" to "consume" in these functions, to match "consumeEscape."

(JSC::WREC::Parser::parsePatternCharacterSequence): New function for
iteratively aggregating a sequence of characters in a pattern.

(JSC::WREC::Parser::parseCharacterClassQuantifier):
(JSC::WREC::Parser::parseBackreferenceQuantifier): Renamed "parse" to
"consume" in these functions, to match "consumeEscape."

(JSC::WREC::Parser::parseCharacterClass): Refactored to use the common
escape processing code in consumeEscape.

(JSC::WREC::Parser::parseEscape): Refactored to use the common
escape processing code in consumeEscape.

(JSC::WREC::Parser::consumeEscape): Factored escaped token processing
into a common function, since we were doing this in a few places.

(JSC::WREC::Parser::parseTerm): Refactored to use the common
escape processing code in consumeEscape.

  • wrec/WRECParser.h: (JSC::WREC::Parser::consumeOctal): Refactored to use a helper function for reading a digit.
19:04 Changeset [38890] by zimmermann@webkit.org

Reviewed by George Staikos.

Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences.

Convert all elements to parse their attribute values using these new helper functions. This simplifies the
actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report
an error if there's a variable reference used in the attribute value, or if it's invalid.

Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location'
in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation.

18:59 Changeset [38889] by zimmermann@webkit.org

Not reviewed, add reviewers full name.

18:49 Changeset [38888] by zimmermann@webkit.org

Reviewed by George.
Fix switching active cards within a document. No way to test, until <go> support is implemented.

17:57 Changeset [38887] by cwzwarich@webkit.org

2008-12-01 Cameron Zwarich <zwarich@apple.com>

Reviewed by Oliver Hunt.

Bug 20340: SegmentedVector segment allocations can lead to unsafe use of temporary registers
<https://bugs.webkit.org/show_bug.cgi?id=20340>

SegmentedVector currently frees segments and reallocates them when used
as a stack. This can lead to unsafe use of pointers into freed segments.

In order to fix this problem, SegmentedVector will be changed to only
grow and never shrink. Also, rename the reserveCapacity() member
function to grow() to match the actual usage in BytecodeGenerator, where
this function is used to allocate a group of registers at once, rather
than merely saving space for them.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): Use grow() instead of reserveCapacity().
  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::SegmentedVector): (JSC::SegmentedVector::last): (JSC::SegmentedVector::append): (JSC::SegmentedVector::removeLast): (JSC::SegmentedVector::grow): Renamed from reserveCapacity(). (JSC::SegmentedVector::clear):
17:31 Changeset [38886] by pol@apple.com

2008-12-01 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Mark Rowe.

Updated the reference images for the <video> layout tests as the ones checked-in previously
do not pass on the pixel bots.

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

  • platform/mac/media/video-aspect-ratio-expected.checksum:
  • platform/mac/media/video-aspect-ratio-expected.png:
  • platform/mac/media/video-controls-rendering-expected.checksum:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-display-toggle-expected.checksum:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-layer-crash-expected.checksum:
  • platform/mac/media/video-layer-crash-expected.png:
  • platform/mac/media/video-transformed-expected.checksum:
  • platform/mac/media/video-transformed-expected.png:
17:07 Changeset [38885] by ddkilzer@apple.com

Fix logic error in LegacyWebArchive::create() from r38884.

  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Only continue if the subresource is actually added.
16:53 Changeset [38884] by ddkilzer@apple.com

Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org

<https://bugs.webkit.org/show_bug.cgi?id=22466>
<rdar://problem/6403593>

Reviewed by Brady Eidson.

WebCore:

Test: http/tests/webarchive/test-preload-resources.html

  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create): Check the WebCore cache for resources if DocumentLoader::subresource() doesn't return them. Note that the DocumentLoader::subresource() method returned preloaded resources before r35867, but this caused a regression in Mail.

WebKitTools:

  • DumpRenderTree/mac/DumpRenderTree.mm: (normalizeHTTPResponseHeaderFields): Added. Normalizes Date, Etag, Keep-Alive, Last-Modified and Server header fields to prevent false positive test failures. (convertWebResourceResponseToDictionary): Call normalizeHTTPResponseHeaderFields() to noramlize HTTP response header fields.

LayoutTests:

  • http/tests/webarchive/resources/test-preload-resources.css: Added.
  • http/tests/webarchive/test-preload-resources-expected.webarchive: Added.
  • http/tests/webarchive/test-preload-resources.html: Added.
  • platform/qt/Skipped: Added http/tests/webarchive and grouped the skipped list of other webarchive tests together.
  • platform/win/Skipped: Added http/tests/webarchive.
16:51 Changeset [38883] by andersca@apple.com

2008-12-01 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Move instantiatePlugin to NetscapePluginHostManager.


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]):
16:36 Changeset [38882] by andersca@apple.com

2008-12-01 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Pass the plug-in host port directly to the instance proxy.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::instantiatePlugin):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h: (WebKit::NetscapePluginInstanceProxy::create):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): (WebKit::NetscapePluginInstanceProxy::resize): (WebKit::NetscapePluginInstanceProxy::destroy): (WebKit::NetscapePluginInstanceProxy::focusChanged): (WebKit::NetscapePluginInstanceProxy::windowFocusChanged): (WebKit::NetscapePluginInstanceProxy::windowFrameChanged): (WebKit::NetscapePluginInstanceProxy::startTimers): (WebKit::NetscapePluginInstanceProxy::mouseEvent): (WebKit::NetscapePluginInstanceProxy::stopTimers):
16:10 Changeset [38881] by jchaffraix@webkit.org

2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 22564: Make HTML elements' constructors take a QualifiedName
https://bugs.webkit.org/show_bug.cgi?id=22564

  • Modified the remaining HTML elements' constructors to take a QualifiedName.
  • Added an assertion that the QualifiedName given corresponds to the element constructed.
  • bindings/js/JSAudioConstructor.cpp: (WebCore::constructAudio):
  • html/HTMLAudioElement.cpp: (WebCore::HTMLAudioElement::HTMLAudioElement):
  • html/HTMLAudioElement.h:
  • html/HTMLBRElement.cpp: (WebCore::HTMLBRElement::HTMLBRElement):
  • html/HTMLBRElement.h:
  • html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText):
  • html/HTMLElementFactory.cpp: (WebCore::brConstructor): (WebCore::quoteConstructor): (WebCore::marqueeConstructor): (WebCore::audioConstructor): (WebCore::videoConstructor): (WebCore::sourceConstructor):
  • html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
  • html/HTMLMarqueeElement.h:
  • html/HTMLQuoteElement.cpp: (WebCore::HTMLQuoteElement::HTMLQuoteElement):
  • html/HTMLQuoteElement.h:
  • html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement):
  • html/HTMLSourceElement.h:
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::HTMLVideoElement):
  • html/HTMLVideoElement.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::updateFromElement):
15:58 Changeset [38880] by pam@chromium.org

2008-12-01 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22464
Add a test for a potential crash when performing a same-origin
check on a subframe reloaded with about:blank.

  • fast/js/same-origin-subframe-about-blank-expected.txt: Added.
  • fast/js/same-origin-subframe-about-blank.html: Added.
15:37 Changeset [38879] by pol@apple.com

2008-12-01 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Dan Bernstein.

Fixed <video> layout tests so that DRT is notified they are done only when the video frames
are effectively rendered in the page. This requires using a timeout since there is no <video>
event that fires when the first frame has been drawn (the closest even fires when the element
is ready to render and will eventually draw at some unknown point in the future).
Thanks to this change, these tests now pass in --pixel mode as well.

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

  • media/video-aspect-ratio.html:
  • media/video-controls-rendering.html:
  • media/video-display-toggle.html:
  • media/video-layer-crash.html:
  • media/video-paint-test.js: (init):
  • media/video-transformed.html:
  • platform/mac/media/video-aspect-ratio-expected.checksum:
  • platform/mac/media/video-aspect-ratio-expected.png:
  • platform/mac/media/video-controls-rendering-expected.checksum:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-display-toggle-expected.checksum:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-layer-crash-expected.checksum:
  • platform/mac/media/video-layer-crash-expected.png:
  • platform/mac/media/video-transformed-expected.checksum:
  • platform/mac/media/video-transformed-expected.png:
15:07 Changeset [38878] by jchaffraix@webkit.org

2008-12-01 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Antti Koivisto.

Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory
https://bugs.webkit.org/show_bug.cgi?id=22441

Add an assertion to the modified HTML elements' constructor
to check that the QualifiedName parameter is the one that
matches the Element's.

  • html/HTMLBaseElement.cpp: (WebCore::HTMLBaseElement::HTMLBaseElement):
  • html/HTMLBlockquoteElement.cpp: (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::HTMLBodyElement):
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::HTMLButtonElement):
  • html/HTMLDListElement.cpp: (WebCore::HTMLDListElement::HTMLDListElement):
  • html/HTMLDirectoryElement.cpp: (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
  • html/HTMLDivElement.cpp: (WebCore::HTMLDivElement::HTMLDivElement):
  • html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement):
  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::HTMLFrameElement):
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
  • html/HTMLHeadElement.cpp: (WebCore::HTMLHeadElement::HTMLHeadElement):
  • html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::HTMLHtmlElement):
  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::HTMLIFrameElement):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::HTMLInputElement):
  • html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::HTMLKeygenElement):
  • html/HTMLLIElement.cpp: (WebCore::HTMLLIElement::HTMLLIElement):
  • html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::HTMLLabelElement):
  • html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::HTMLLegendElement):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::HTMLLinkElement):
  • html/HTMLMenuElement.cpp: (WebCore::HTMLMenuElement::HTMLMenuElement):
  • html/HTMLMetaElement.cpp: (WebCore::HTMLMetaElement::HTMLMetaElement):
  • html/HTMLOListElement.cpp: (WebCore::HTMLOListElement::HTMLOListElement):
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::HTMLOptionElement):
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::HTMLSelectElement):
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement):
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
  • html/HTMLTitleElement.cpp: (WebCore::HTMLTitleElement::HTMLTitleElement):
  • html/HTMLUListElement.cpp: (WebCore::HTMLUListElement::HTMLUListElement):
14:50 Changeset [38877] by mrowe@apple.com

Disable WREC for x86_64 since memory allocated by the system allocator is not marked executable,
which causes 64-bit debug builds to crash. Once we have a dedicated allocator for executable
memory we can turn this back on.

Rubber-stamped by Anders Carlsson.

  • wtf/Platform.h:
14:50 Changeset [38876] by cmarrin@apple.com

2008-12-01 Chris Marrin <cmarrin@apple.com>

Reviewed by Darin Adler.

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

Fixed another case of crashing because the animation object is getting deleted when
it's in the middle of a callback. I actually moved where I am retaining the pointer
up out of the lower level AnimationBase code and into the timer callback that calls
them. So now the pointer is valid throughout the entire sequence of callback code.

The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a
crash which this patch fixes.

  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine): (WebCore::AnimationBase::animationTimerCallbackFired):
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::setAnimationStartTime): (WebCore::CompositeAnimationPrivate::setTransitionStartTime): (WebCore::CompositeAnimationPrivate::styleAvailable):
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::sendTransitionEvent):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::sendAnimationEvent): (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
14:23 Changeset [38875] by antti@apple.com

2008-12-01 Antti Koivisto <antti@apple.com>

Reviewed by Maciej Stachowiak.


Restore inline buffer after vector is shrunk back below its inline capacity.

  • wtf/Vector.h: (WTF::): (WTF::VectorBuffer::restoreInlineBufferIfNeeded): (WTF::::shrinkCapacity):
14:18 Changeset [38874] by andersca@apple.com

2008-12-01 Anders Carlsson <andersca@apple.com>

Try to fix the Tiger build.

  • Plugins/WebNetscapePluginView.mm:
14:09 Changeset [38873] by eric@webkit.org

Reviewed by Adam Roben.

NULL-check documentFrameView() and topDocumentFrameView() it's possible
for either of these methods to return NULL, and this was seen to cause
crashes in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=22572

  • AccessibleBase.cpp: (AccessibleBase::get_accParent): (AccessibleBase::accLocation): (AccessibleBase::accHitTest):
14:00 Changeset [38872] by andersca@apple.com

2008-12-01 Anders Carlsson <andersca@apple.com>

Rename _layer to _pluginLayer where I forgot to do so.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView destroyPlugin]):
  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]): (-[WebNetscapePluginView setLayer:]): (-[WebNetscapePluginView destroyPlugin]):
13:56 Changeset [38871] by mrowe@apple.com

Versioning.

13:48 Changeset [38870] by mrowe@apple.com

New tag.

13:45 Changeset [38869] by andersca@apple.com

Fix ChangeLog

13:44 Changeset [38868] by andersca@apple.com

2008-12-01 Anders Carlsson <andersca@apple.com>

Reviewed by Adam Roben.

Make sure to re-insert layers as needed so they won't be lost when the layer backed
view is removed from the view hierarchy.

  • Plugins/Hosted/WebHostedNetscapePluginView.h: Add _layer ivar.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView createPlugin]): Don't add the layer here.


(-[WebHostedNetscapePluginView setLayer:]):
Instead, add it here.


(-[WebHostedNetscapePluginView destroyPlugin]):
Set _layer to 0.


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView createPlugin]): Don't add the layer here.


(-[WebNetscapePluginView setLayer:]):
Do it here.

13:23 Changeset [38867] by pam@chromium.org

2008-12-01 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22463
Add a test for accessing navigator.cookieEnabled after navigation.

  • fast/dom/navigator-cookieEnabled-no-crash-expected.txt: Added.
  • fast/dom/navigator-cookieEnabled-no-crash.html: Added.
  • fast/dom/resources/test-successful-destination.html: Added.
13:14 Changeset [38866] by antti@apple.com

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

Reviewed by Mark Rowe.


Try to return free pages in the current thread cache too.

  • wtf/FastMalloc.cpp: (WTF::TCMallocStats::releaseFastMallocFreeMemory):
12:59 Changeset [38865] by pam@chromium.org

2008-12-01 Pamela Greene <pam@chromium.org>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=22365
Add a test to verify behavior of DOM node constructors.

  • fast/dom/dom-constructors-expected.txt: Added.
  • fast/dom/dom-constructors.html: Added.
12:52 Changeset [38864] by ddkilzer@apple.com

Bug 22559: Report builds left to test in bisect-builds (like git-bisect)

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

Reviewed by Adam Roben.

  • Scripts/bisect-builds: Updated status message to report the maximum number of builds left to test after the current one. (max): Added.
12:48 Changeset [38863] by pam@chromium.org

2008-12-01 Pamela Greene <pam@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22358
Add a test for crash on "Copy" after showing a tooltip.

  • editing/pasteboard/copy-crash-expected.txt: Added.
  • editing/pasteboard/copy-crash.html: Added.
12:03 Changeset [38862] by ap@webkit.org

Rubber-stamped by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=22531
Stack overflow on PowerPC on fast/workers/use-machine-stack.html

Disabling the test until the problem can be investigated.

  • fast/workers/use-machine-stack.html: Removed.
  • fast/workers/use-machine-stack.html-disabled: Copied from fast/workers/use-machine-stack.html.
09:25 Changeset [38861] by christian@webkit.org

2008-12-01 Xan Lopez <xan@gnome.org>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=22553
Remove unneeded GObject casts.

Remove unneeded casts to GObject in functions that take a gpointer
argument.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::setWindowRect): (WebKit::ChromeClient::createWindow): (WebKit::ChromeClient::setToolbarsVisible): (WebKit::ChromeClient::toolbarsVisible): (WebKit::ChromeClient::setStatusbarVisible): (WebKit::ChromeClient::statusbarVisible): (WebKit::ChromeClient::setScrollbarsVisible): (WebKit::ChromeClient::scrollbarsVisible): (WebKit::ChromeClient::setMenubarVisible): (WebKit::ChromeClient::menubarVisible): (WebKit::ChromeClient::setToolTip):
  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::createPage):
  • webkit/webkitwebframe.cpp:
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebwindowfeatures.cpp: (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new_from_core_features):
06:24 Changeset [38860] by ap@webkit.org

Make it clearer in ChangeLog entry that the last change only affected debug builds.

06:19 Changeset [38859] by ap@webkit.org

2008-12-01 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=22567
Make HashTable work as expected with respect to threads. Specifically, it has class-level
thread safety and constant methods work on constant objects without synchronization.


No observable change in behavior, so no test.

  • wtf/HashTable.cpp: (WTF::hashTableStatsMutex): (WTF::HashTableStats::~HashTableStats): (WTF::HashTableStats::recordCollisionAtCount): Guarded variable access with a mutex.
  • wtf/HashTable.h: (WTF::::lookup): (WTF::::lookupForWriting): (WTF::::fullLookupForWriting): (WTF::::add): (WTF::::reinsert): (WTF::::remove): (WTF::::rehash): Changed increments of static variables to use atomicIncrement.

(WTF::::invalidateIterators):
(WTF::addIterator):
(WTF::removeIterator):
Guarded mutable access with a mutex.

01:25 Changeset [38858] by vestbo@webkit.org

2008-12-01 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

[Qt/Mac] Initialize NPAPI plugins before getting their entry points

The old behavior (calling NP_GetEntryPoints before NP_Initialize) was
copied from Windows, but caused Silverlight on Mac to crash when loaded.

Apparently the call order of NP_Initialize and NP_GetEntryPoints is
reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425

Reported-by: Peter Johnson <peter@zattoo.com>

01:18 Changeset [38857] by barraclough@apple.com

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

Reviewed by Camron Zwarich.

Enable WREC on PLATFORM(X86_64). This change predominantly requires changes to the
WREC::Generator::generateEnter method to support the x86-64 ABI, and addition of
support for a limited number of quadword operations in the X86Assembler.

This patch will cause the JS heap to be allocated with RWX permissions on 64-bit Mac
platforms. This is a regression with respect to previous 64-bit behaviour, but is no
more permissive than on 32-bit builds. This issue should be addressed at some point.
(This is tracked by bug #21783.)

https://bugs.webkit.org/show_bug.cgi?id=22554
Greater than 4x speedup on regexp-dna, on x86-64.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr): (JSC::MacroAssembler::loadPtr): (JSC::MacroAssembler::storePtr): (JSC::MacroAssembler::pop): (JSC::MacroAssembler::push): (JSC::MacroAssembler::move):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::movq_rr): (JSC::X86Assembler::addl_i8m): (JSC::X86Assembler::addl_i32r): (JSC::X86Assembler::addq_i8r): (JSC::X86Assembler::addq_i32r): (JSC::X86Assembler::movq_mr): (JSC::X86Assembler::movq_rm):
  • wrec/WREC.h:
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateReturnFailure):
  • wtf/Platform.h:
  • wtf/TCSystemAlloc.cpp:
01:07 Changeset [38856] by cwzwarich@webkit.org

2008-12-01 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Preliminary work for bug 20340: SegmentedVector segment allocations can lead to unsafe use of temporary registers
<https://bugs.webkit.org/show_bug.cgi?id=20340>

SegmentedVector currently frees segments and reallocates them when used
as a stack. This can lead to unsafe use of pointers into freed segments.

In order to fix this problem, SegmentedVector will be changed to only
grow and never shrink, with the sole exception of clearing all of its
data, a capability that is required by Lexer. This patch changes the
public interface to only allow for these capabilities.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): Use reserveCapacity() instead of resize() for m_globals and m_parameters.
  • bytecompiler/SegmentedVector.h: (JSC::SegmentedVector::resize): Removed. (JSC::SegmentedVector::reserveCapacity): Added. (JSC::SegmentedVector::clear): Added. (JSC::SegmentedVector::shrink): Removed. (JSC::SegmentedVector::grow): Removed.
  • parser/Lexer.cpp: (JSC::Lexer::clear): Use clear() instead of resize(0).
Note: See TracTimeline for information about the timeline view.