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

Timeline



May 8, 2009:

11:12 PM Changeset in webkit [43429] by jmalonzo@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Skip failing render tree test that was added in r43420.

  • platform/gtk/Skipped:
10:25 PM Changeset in webkit [43428] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed <rdar://problem/6634956> CrashTracer: [REGRESSION] >400 crashes
in Safari at com.apple.JavaScriptCore • JSC::BytecodeGenerator::emitComplexJumpScopes + 468
https://bugs.webkit.org/show_bug.cgi?id=25658

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitComplexJumpScopes): Guard the whole loop with a bounds check. The old loop logic would decrement and read topScope without a bounds check, which could cause crashes on page boundaries.
7:17 PM Changeset in webkit [43427] by jmalonzo@webkit.org
  • 4 edits in trunk/JavaScriptCore

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by NOBODY (BuildFix).

Gtk fix: add LiteralParser to the build script per r43424.

Add LiteralParser to the Qt and Wx build scripts too.

7:05 PM Changeset in webkit [43426] by Nikolas Zimmermann
  • 4 edits in trunk/LayoutTests

Rubber-stamped by George Staikos.
Update WML <input> layout test result, as input field metrics have changed recently.

6:34 PM Changeset in webkit [43425] by Nikolas Zimmermann
  • 2 edits in trunk/WebKit/mac

Not reviewed. Fix clean builds, forgot to land name() -> formControlName() rename patch in WebKit. Only landed the WebCore side.

6:01 PM Changeset in webkit [43424] by oliver@apple.com
  • 5 edits
    2 adds in trunk/JavaScriptCore

Add a limited literal parser for eval to handle object and array literals fired at eval

Reviewed by Gavin Barraclough and Darin Adler.

This is a simplified parser and lexer that we can throw at strings passed to eval
in case a site is using eval to parse JSON (eg. json2.js). The lexer is intentionally
limited (in effect it's whitelisting a limited "common" subset of the JSON grammar)
as this decreases the likelihood of us wating time attempting to parse any significant
amount of non-JSON content.

5:51 PM Changeset in webkit [43423] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-05-08 Simon Fraser <Simon Fraser>

Reviewed by Dan Bernstein

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

Reduce the inline capacity of CSSParserValueList's m_values
vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit.

  • css/CSSParserValues.h:
5:29 PM Changeset in webkit [43422] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while.

5:19 PM Changeset in webkit [43421] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-08 Sam Weinig <sam@webkit.org>

Implement constant operand cases for op_sub, op_lshift and op_rshift.

  • jit/JITArithmetic.cpp: (JSC::JIT::emitSub32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
4:49 PM Changeset in webkit [43420] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/6864786> REGRESSION: Crash below ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in Bugzilla

Test: editing/style/apply-through-end-of-document.html

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check for the case of a range extending through the end of the document, in which pastEndNode is 0.

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/6864786> REGRESSION: Crash below ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in Bugzilla
  • editing/style/apply-through-end-of-document-expected.txt: Added.
  • editing/style/apply-through-end-of-document.html: Added.
4:40 PM Changeset in webkit [43419] by Beth Dakin
  • 2 edits in trunk/WebCore

2009-05-08 Douglas R. Davidson <ddavidso@apple.com>

Reviewed by Beth Dakin.

<rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base
marked as misspelled even though contraction is a word
Make sure spelling underline does not persist on words like
<doesn't>.

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::typingAddedToOpenCommand):
3:53 PM Changeset in webkit [43418] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

Make sure the path's refdata isn't deleted before we're done with the object.

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

3:49 PM Changeset in webkit [43417] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Fix memory leak for wxMac.

2:47 PM Changeset in webkit [43416] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2009-05-08 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

  • Fix <rdar://problem/6866712>.

Instead of just caching whether a plug-in object _has_ a field or method, also add an entry to the cache
if it _doesn't_ have a certain field or method. This way we have to make fewer calls to the plug-in host.


  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::methodsNamed): (WebKit::ProxyInstance::fieldNamed):
2:37 PM Changeset in webkit [43415] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Make the scan program call g_thread_init(NULL) in addition to
g_type_init(), so that it actually works.

  • docs/GNUmakefile.am:
2:37 PM Changeset in webkit [43414] by kov@webkit.org
  • 3 edits in trunk

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Ship the gtk-doc.make file, so as to not depend on gtkdoc-tools.

  • GNUmakefile.am:
  • autogen.sh:
2:35 PM Changeset in webkit [43413] by Beth Dakin
  • 2 edits in trunk/WebCore

2009-05-08 Beth Dakin <Beth Dakin>

Reviewed by Dan Bernstein.

<rdar://problem/6857446> REGRESSION (r37591): Cannot print or
preview from maps.yandex.ru

We need to fall into the stretchesToViewHeight() quirk when we are
printing and we are the root and the root has percentage height OR
when we are the body and the root has percentage height. Otherwise
we have a height of 0 and can run into painting troubles.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight):
2:12 PM Changeset in webkit [43412] by harrison@apple.com
  • 6 edits in trunk

WebCore:

2009-05-08 Douglas Davidson <ddavidso@apple.com>

Reviewed by Darin Adler.

Fixes for <rdar://problem/6852771>.
Prevent text checking replacement immediately after an apostrophe
and automatic link addition except immediately after typing.

  • editing/Editor.cpp: (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):

WebKit/mac:

2009-05-08 Douglas R. Davidson <ddavidso@apple.com>

Reviewed by Darin Adler.

Fixes for <rdar://problem/6852771>.
Disable text checking menu items if view is not editable.

  • WebView/WebHTMLView.mm: (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): (-[WebHTMLView smartInsertDeleteEnabled]): (-[WebHTMLView setSmartInsertDeleteEnabled:]): (-[WebHTMLView toggleSmartInsertDelete:]):
  • WebView/WebHTMLViewInternal.h:
2:12 PM Changeset in webkit [43411] by timothy@apple.com
  • 4 edits in trunk

Versioning.

2:03 PM HackingGtk edited by amd@store20.com
Gtk+ uses libsoup backend instead of curl (diff)
1:53 PM Changeset in webkit [43410] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Restored a Mozilla JS test I accidentally gutted.

  • tests/mozilla/ecma/Array/15.4.4.2.js: (getTestCases): (test):
1:51 PM Changeset in webkit [43409] by ggaren@apple.com
  • 9 edits in trunk/JavaScriptCore

2009-05-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.


More abstraction for JITStub calls from JITed code.


Added a JITStubCall class that automatically handles things like assigning
arguments to different stack slots and storing return values. Deployed
the class in about a billion places. A bunch more places remain to be
fixed up, but this is a good stopping point for now.

  • jit/JIT.cpp: (JSC::JIT::emitTimeoutCheck): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h: (JSC::JIT::JSRInfo::JSRInfo): (JSC::JITStubCall::JITStubCall): (JSC::JITStubCall::addArgument): (JSC::JITStubCall::call): (JSC::JITStubCall::): (JSC::CallEvalJITStub::CallEvalJITStub):
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_lshift): (JSC::JIT::compileFastArithSlow_op_rshift): (JSC::JIT::compileFastArithSlow_op_jnless): (JSC::JIT::compileFastArithSlow_op_bitand): (JSC::JIT::compileFastArithSlow_op_mod): (JSC::JIT::compileFastArith_op_mod): (JSC::JIT::compileFastArithSlow_op_post_inc): (JSC::JIT::compileFastArithSlow_op_post_dec): (JSC::JIT::compileFastArithSlow_op_pre_inc): (JSC::JIT::compileFastArithSlow_op_pre_dec): (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArith_op_sub): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::compileFastArithSlow_op_add): (JSC::JIT::compileFastArithSlow_op_mul):
  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): (JSC::):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdHotPath): (JSC::JIT::compilePutByIdHotPath): (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_resolve_with_base):
1:44 PM Changeset in webkit [43408] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Disable more new tests that are failing.

  • platform/gtk/Skipped:
1:40 PM Changeset in webkit [43407] by timothy@apple.com
  • 2 edits in tags/Safari-6530.9/WebCore

Merge r43394.

1:20 PM Changeset in webkit [43406] by timothy@apple.com
  • 1 copy in tags/Safari-6530.9

New tag.

12:19 PM QtWebKitTodo edited by tonikitoo@gmail.com
(diff)
12:13 PM Changeset in webkit [43405] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

2009-05-08 Eric Carlson <eric.carlson@apple.com>

No review, update tests results missed in r43403.

  • fast/dom/Window/window-properties-expected.txt:
  • platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:
12:08 PM Changeset in webkit [43404] by kov@webkit.org
  • 1 edit
    5 adds in trunk/LayoutTests

2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

GTK+ test results for two new tests.

  • platform/gtk/fast/layers/remove-only-this-layer-update-expected.txt: Added.
  • platform/gtk/fast/repaint/selection-clear-expected.txt: Added.
11:54 AM HackingGtk edited by kov@webkit.org
(diff)
11:37 AM Changeset in webkit [43403] by eric.carlson@apple.com
  • 15 edits
    2 adds in trunk

2009-05-08 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=25627
Bug 25627: HTMLMediaElement: some errors should fire on <source> elements

Update for HTML5 spec change to fire 'error' events on <source> element
when there is a failure while processing/loading a <source>.

Test: media/video-source-error.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space. (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on all <source> element. (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in loadResource() as we need to report errors differently depending on the type of failure. Use KURL instead of String. (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild. Fail silently when there are no more <source> canditates because that is what spec mandates. Keep url as KURL instead of converting to String. (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now assume the safety check now done before this function. Takes KURL instead of String. (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs failure if not. (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on the media and all source elements. (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the the failure happened while processing one. Only call nonSupported() when the failure happened while processing media element 'src' attribute. (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild. Deal with selectNextSourceChild returning a KURL instead of a String. (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional param to control whether or not errors are fired on a source element when it will not be used. Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a String. (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as a KURL instead of a String.
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::):
  • html/HTMLSourceElement.cpp: (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables. (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error event ASAP. (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event. (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been cancelled.
  • html/HTMLSourceElement.h:
  • html/MediaError.h: (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
  • html/MediaError.idl: Ditto

2009-05-08 Eric Carlson <eric.carlson@apple.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=25627
Bug 25627: HTMLMediaElement: some errors should fire on <source> elements

Update tests for MEDIA_ERR_NONE_SUPPORTED change to MEDIA_ERR_SRC_NOT_SUPPORTED.
Add video-source-error.html to test errors fired on <source> elements .

  • media/media-constants-expected.txt:
  • media/media-constants.html:
  • media/unsupported-rtsp.html:
  • media/video-error-does-not-exist.html:
  • media/video-source-error.html: Added.
  • media/video-src-change.html:
  • media/video-src-invalid-remove.html:
  • media/video-src-plus-source.html:
8:56 AM Changeset in webkit [43402] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Disable new test that is failing.

  • platform/gtk/Skipped:
8:08 AM Changeset in webkit [43401] by cwzwarich@webkit.org
  • 10 edits in trunk/JavaScriptCore

2009-05-08 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Add a new opcode jnlesseq, and optimize its compilation in the JIT using
techniques similar to what were used to optimize jnless in r43363.

This gives a 0.7% speedup on SunSpider, particularly on the tests 3d-cube,
control-flow-recursive, date-format-xparb, and string-base64.

  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Add support for dumping op_jnlesseq.
  • bytecode/Opcode.h: Add op_jnlesseq to the list of opcodes.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitJumpIfFalse): Add a peephole optimization for op_jnlesseq when emitting lesseq followed by a jump.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): Add case for op_jnlesseq.
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): Add case for op_jnlesseq. (JSC::JIT::privateCompileSlowCases): Add case for op_jnlesseq.
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_jnlesseq): Added. (JSC::JIT::compileFastArithSlow_op_jnlesseq): Added.
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_jlesseq): Added.
  • jit/JITStubs.h:
6:42 AM Changeset in webkit [43400] by mitz@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Maciej Stachowiak.

  • fix <rdar://problem/6859955> Undoing typed text after selecting all leaves non-text areas highlighted

Test: fast/repaint/selection-clear.html

When RenderView::clearSelection() is called from
SelectionController::nodeWillBeRemoved(), selected renderers may already
be marked for layout, which means that they can no longer compute
their selection repaint info. Instead, an empty IntRect (or GapRects) is
returned, leading to incomplete repaint.

The fix is not to rely on individual renderers when clearing the
selection, but instead, cache the bounding rectangle of the selected
blocks' GapRects when setting the selection, and invalidate that
entire rectangle when clearing it.

  • rendering/RenderView.cpp: (WebCore::RenderView::setSelection): Added a parameter saying whether the repainting of selected blocks should include both previously-selected areas and newly-selected areas or only newly-selected areas. The default is both. Also compute m_cachedSelectionBounds to be the bounding rectangle of the new selection's BlockSelectionInfos' GapRects. (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds, and tell setSelection() that it should not paint areas that were in the old selection's BlockSelectionInfos' GapRects.
  • rendering/RenderView.h: (WebCore::RenderView::):

LayoutTests:

Reviewed by Maciej Stachowiak.

  • test for <rdar://problem/6859955> Undoing typed text after selecting all leaves non-text areas highlighted
  • fast/repaint/selection-clear.html: Added.
  • platform/mac/fast/repaint/selection-clear-expected.checksum: Added.
  • platform/mac/fast/repaint/selection-clear-expected.png: Added.
  • platform/mac/fast/repaint/selection-clear-expected.txt: Added.
6:19 AM Changeset in webkit [43399] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • fix test failures on 64-bit
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless): Avoid accidentaly treating an immediate int as an immediate float in the 64-bit value representation.
5:58 AM Changeset in webkit [43398] by ap@webkit.org
  • 7 edits in trunk

Reviewed by Maciej Stachowiak.

<rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials

WebCore:

  • WebCore.base.exp:
  • platform/network/mac/AuthenticationMac.h: (WebCore::WebCoreCredentialStorage::set): (WebCore::WebCoreCredentialStorage::get):
  • platform/network/mac/AuthenticationMac.mm:
  • platform/network/mac/ResourceHandleMac.mm: Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit.

WebKit:

  • Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ask WebCore for credentials first (but also ask NSURLCredentialStorage, because WebCore won't know about permanent credentials).
4:30 AM Changeset in webkit [43397] by barraclough@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-08 Gavin Barraclough <barraclough@apple.com>

Rubber stamped by Oliver Hunt.

Removing an empty constructor and an uncalled, empty function seems to be a
pretty solid 1% regeression on my machine, so I'm going to put them back.
Um. Yeah, this this pretty pointles and makes no sense at all. I officially
lose the will to live in 3... 2...

  • bytecode/SamplingTool.cpp: (JSC::SamplingTool::notifyOfScope):
  • bytecode/SamplingTool.h: (JSC::SamplingTool::~SamplingTool):
3:23 AM Changeset in webkit [43396] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-05-08 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>

Reviewed by Simon Hausmann.

Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime
call methods.

3:18 AM Changeset in webkit [43395] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-08 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver "I see lots of ifdefs" Hunt.

Fix (kinda) for sampling tool breakage. The codeblock sampling tool has become
b0rked due to recent changes in native function calling. The initialization of
a ScopeNode appears to now occur before the sampling tool (or possibly the
interpreter has been brought into existence, wihich leads to crashyness).

This patch doesn't fix the problem. The crash occurs when tracking a Scope, but
we shouldn't need to track scopes when we're just sampling opcodes, not
codeblocks. Not retaining Scopes when just opcode sampling will reduce sampling
overhead reducing any instrumentation skew, which is a good thing. As a side
benefit this patch also gets the opcode sampling going again, albeit in a bit of
a lame way. Will come back later with a proper fix from codeblock sampling.

  • JavaScriptCore.exp:
  • bytecode/SamplingTool.cpp: (JSC::compareLineCountInfoSampling): (JSC::SamplingTool::dump):
  • bytecode/SamplingTool.h: (JSC::SamplingTool::SamplingTool):
  • parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode):
1:20 AM Changeset in webkit [43394] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2009-05-08 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Mark Rowe.

Add missing strings to localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=25635

Add the strings "Delete", "Key", "Refresh" and "Value".

  • English.lproj/localizedStrings.js:
12:58 AM Changeset in webkit [43393] by ap@webkit.org
  • 3 edits in trunk/WebCore

2009-05-08 Robert Hogan <robert@roberthogan.net>

Reviewed, tweaked and landed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=24992
[Qt] crash at http://browserspy.dk/browser.php

This cannot be easily tested in DRT, because it relies on interaction with QApplication,
but the added assertions guard against re-introducing this issue.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls while the frame is being constructed, because the intermediate state without a document is something we don't want to expose.
  • page/Frame.cpp: (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an approximation of it being in a consistent state for client calls. (WebCore::Frame::setJSDefaultStatusBarText): Ditto.

May 7, 2009:

11:47 PM Changeset in webkit [43392] by mrowe@apple.com
  • 23 edits in trunk

Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed

Rubber-stamped by Oliver Hunt.

Roll out r43366 as it removed symbols that Safari 4 Beta uses.

11:37 PM Changeset in webkit [43391] by weinig@apple.com
  • 4 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

  • Remove some incorrect code (subtraction is not commutative)
  • Implement basic rightshift.
  • Add FIXMEs for where we need to add more codegen to complete the opcode.
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitSub32): (JSC::JIT::emitLeftShift32): (JSC::JIT::emitRightShift32):
11:18 PM Changeset in webkit [43390] by xan@webkit.org
  • 4 edits in trunk

WebCore:

2009-05-08 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Unify scrolling code via adjustments and keys. Use the WebCore
defined constants, since that's what people are most used to at
this point.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):

WebKit/gtk:

2009-05-08 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Unify scrolling code via adjustments and keys. Use the WebCore
defined constants, since that's what people are most used to at
this point.

  • ChangeLog:
  • webkit/webkitwebview.cpp: (webkit_web_view_real_move_cursor):
10:58 PM Changeset in webkit [43389] by levin@chromium.org
  • 13 edits in trunk

WebCore:

2009-05-07 David Levin <levin@chromium.org>

Reviewed by NOBODY.
Suggested by Oliver Hunt.

Rolling back http://trac.webkit.org/changeset/43385
because we have to use mac artwork for the underline on OSX.

  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/mac/GraphicsContextMac.mm: (WebCore::createPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  • platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::setCGStrokeColor): (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):

LayoutTests:

2009-05-07 David Levin <levin@chromium.org>

Reviewed by NOBODY.
Suggested by Oliver Hunt.

Rolling back http://trac.webkit.org/changeset/43385
because we have to use mac artwork for the underline on OSX.

  • platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
  • platform/mac/editing/spelling/inline_spelling_markers-expected.png:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.checksum:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.png:
  • platform/mac/editing/spelling/spelling-expected.checksum:
  • platform/mac/editing/spelling/spelling-expected.png:
  • platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
  • platform/mac/editing/spelling/spelling-linebreak-expected.png:
10:53 PM Changeset in webkit [43388] by weinig@apple.com
  • 2 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Add op_jnless, op_loop_if_less, and op_loop_if_lesseq.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile): Remove breakpoint();
10:27 PM Changeset in webkit [43387] by weinig@apple.com
  • 10 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Initial checkin for JIT support for new number representation. Not all opcodes
are supported yet but JavaScriptCore compiles.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::unlinkCallers):
  • jit/JIT.cpp: (JSC::JIT::getConstantOperand): (JSC::JIT::isOperandConstantImmediateInt): (JSC::JIT::emitPutToCallFrameHeader): (JSC::JIT::addSlowCase): (JSC::JIT::addJump): (JSC::JIT::emitJumpSlowToHot): (JSC::JIT::tagFor): (JSC::JIT::payloadFor): (JSC::JIT::emitStoreConstant): (JSC::JIT::emitLoadVirtualRegister): (JSC::JIT::emitStoreVirtualRegister): (JSC::JIT::emitSetReturnValue): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::privateCompile):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emitAdd32): (JSC::JIT::emitAddConstant32): (JSC::JIT::emitAdd32InPlace): (JSC::JIT::emitSub32): (JSC::JIT::emitSubConstant32): (JSC::JIT::emitSub32InPlace): (JSC::JIT::emitMul32): (JSC::JIT::emitMulConstant32): (JSC::JIT::emitMul32InPlace): (JSC::JIT::emitBitAnd32): (JSC::JIT::emitBitAndConstant32): (JSC::JIT::emitBitAnd32InPlace): (JSC::JIT::emitBitOr32): (JSC::JIT::emitBitOrConstant32): (JSC::JIT::emitBitOr32InPlace): (JSC::JIT::emitBitXor32): (JSC::JIT::emitBitXorConstant32): (JSC::JIT::emitBitXor32InPlace):
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • runtime/JSGlobalData.h:
  • runtime/JSValue.h:
  • wtf/Platform.h:
10:20 PM Changeset in webkit [43386] by weinig@apple.com
  • 3 edits in branches/nitro-extreme/JavaScriptCore

2009-05-07 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add some new MacroAssembler and assembler functions that will be needed shortly.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::add32): (JSC::MacroAssemblerX86Common::and32): (JSC::MacroAssemblerX86Common::mul32): (JSC::MacroAssemblerX86Common::neg32): (JSC::MacroAssemblerX86Common::or32): (JSC::MacroAssemblerX86Common::sub32): (JSC::MacroAssemblerX86Common::xor32): (JSC::MacroAssemblerX86Common::branchAdd32): (JSC::MacroAssemblerX86Common::branchMul32): (JSC::MacroAssemblerX86Common::branchSub32):
  • assembler/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::addl_rm): (JSC::X86Assembler::andl_mr): (JSC::X86Assembler::andl_rm): (JSC::X86Assembler::andl_im): (JSC::X86Assembler::negl_r): (JSC::X86Assembler::notl_r): (JSC::X86Assembler::orl_rm): (JSC::X86Assembler::orl_im): (JSC::X86Assembler::subl_rm): (JSC::X86Assembler::xorl_mr): (JSC::X86Assembler::xorl_rm): (JSC::X86Assembler::xorl_im): (JSC::X86Assembler::imull_mr):
10:13 PM Changeset in webkit [43385] by levin@chromium.org
  • 13 edits in trunk

WebCore:

2009-05-07 John Grabowski <jrg@chromium.org>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25573
Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar.
Cleanup for WebKit, but required for Chromium happiness.

  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  • platform/graphics/mac/GraphicsContextMac.mm:
  • platform/graphics/win/GraphicsContextCGWin.cpp:

LayoutTests:

2009-05-07 John Grabowski <jrg@chromium.org>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=25573
Rebaseline of spelling tests for Mac. Tests pass even without this
change but checksums don't match. Non-Mac does not need a new baseline.

  • platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
  • platform/mac/editing/spelling/inline_spelling_markers-expected.png:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.checksum:
  • platform/mac/editing/spelling/spellcheck-attribute-expected.png:
  • platform/mac/editing/spelling/spelling-expected.checksum:
  • platform/mac/editing/spelling/spelling-expected.png:
  • platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
  • platform/mac/editing/spelling/spelling-linebreak-expected.png:
8:04 PM Changeset in webkit [43384] by kov@webkit.org
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Gustavo Noronha Silva <Gustavo Noronha Silva>

Suggested by Oliver Hunt.

Also check for Linux for the special-cased calling convention.

  • jit/JIT.cpp: (JSC::JIT::privateCompileCTIMachineTrampolines):
  • wtf/Platform.h:
7:42 PM BuildingGtk edited by kov@webkit.org
(diff)
6:58 PM Changeset in webkit [43383] by barraclough@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Gavin Barraclough <barraclough@apple.com>

Reviewed by Maciej Stachowiak.

Previously, when appending to an existing string and growing the underlying buffer,
we would actually allocate 110% of the required size in order to give us some space
to expand into. Now we treat strings differently based on their size:

Small Strings (up to 4 pages):
Expand the allocation size to 112.5% of the amount requested. This is largely sicking
to our previous policy, however 112.5% is cheaper to calculate.

Medium Strings (up to 128 pages):
For pages covering multiple pages over-allocation is less of a concern - any unused
space will not be paged in if it is not used, so this is purely a VM overhead. For
these strings allocate 2x the requested size.

Large Strings (to infinity and beyond!):
Revert to our 112.5% policy - probably best to limit the amount of unused VM we allow
any individual string be responsible for.

Additionally, round small allocations up to a multiple of 16 bytes, and medium and
large allocations up to a multiple of page size.

~1.5% progression on Sunspider, due to 5% improvement on tagcloud & 15% on validate.

  • runtime/UString.cpp: (JSC::expandedSize):
6:42 PM Changeset in webkit [43382] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::createNativeThunk): Missed a spot in my last patch.
6:31 PM Changeset in webkit [43381] by Darin Adler
  • 4 edits
    2 adds in trunk

WebCore:

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Simon Fraser.

Bug 25575: Registered mutation event listener crashes HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=25575

Test: fast/media/video-controls-with-mutation-event-handler.html

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute.
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::createTimeline): Call setAttribute here.

LayoutTests:

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Simon Fraser.

Bug 25575: Registered mutation event listener crashes HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=25575

  • fast/media/video-controls-with-mutation-event-handler-expected.txt: Added.
  • fast/media/video-controls-with-mutation-event-handler.html: Added.
6:23 PM Changeset in webkit [43380] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to minimize padding.

  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection):
  • rendering/RenderTableSection.h:
6:23 PM Changeset in webkit [43379] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to make Events 8 bytes smaller in 64-bit.

  • dom/Event.cpp: (WebCore::Event::Event):
  • dom/Event.h:
5:16 PM Changeset in webkit [43378] by Beth Dakin
  • 6 edits
    4 adds in trunk

WebCore:

2009-05-07 Eric Seidel <eric@webkit.org>

Reviewed by Beth Dakin.

Fix regression caused by r41469, add test case to prevent it from
happening again.
https://bugs.webkit.org/show_bug.cgi?id=25252


hasLayer() was true during removeOnlyThisLayer()/
updateLayerPositions()
which caused updateLayerPosition()'s walk up the render tree to
include offsets from the layer we were about to remove.


I'm not 100% convinced that this wasn't a bug in
updateLayerPosition() or in RenderBoxModelObject::styleDidChange,
because the layer in question is not the containing block for the
block which gets laid out wrong. But this restores the previous
behavior and adds a test. So the next time someone is in here re-
factoring, they will at least know if they break something.


Test: fast/layers/remove-only-this-layer-update.html

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::destroyLayer):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::removeOnlyThisLayer):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::destroy):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy):

LayoutTests:

2009-05-07 Eric Seidel <eric@webkit.org>

Reviewed by Beth Dakin.

Fix regression caused by r41469, add test case to prevent it from
happening again.
https://bugs.webkit.org/show_bug.cgi?id=25252

  • fast/layers/remove-only-this-layer-update.html: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.checksum: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.png: Added.
  • platform/mac/fast/layers/remove-only-this-layer-update-expected.txt: Added.
5:02 PM Changeset in webkit [43377] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

  • wtf/Platform.h: Reverted an accidental (and performance-catastrophic) change.
5:01 PM Changeset in webkit [43376] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • parser/Parser.cpp: (JSC::Parser::reparseInPlace): Missed a spot in my last patch.
4:51 PM Changeset in webkit [43375] by ggaren@apple.com
  • 4 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Fixed a minor sequencing error introduced by recent Parser speedups.

  • parser/Parser.cpp: (JSC::Parser::parse):
  • parser/Parser.h: (JSC::Parser::parse): (JSC::Parser::reparse): Shrink the parsedObjects vector after allocating the root node, to avoid leaving a stray node in the vector, since that's a slight memory leak, and it causes problems during JSGlobalData teardown.
  • runtime/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): ASSERT that we're not being torn down while we think we're still parsing, since that would cause lots of bad memory references during our destruction.
4:33 PM Changeset in webkit [43374] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.


Replaced two more macros with references to the JITStackFrame structure.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
  • jit/JITInlineMethods.h: (JSC::JIT::restoreArgumentReference):
  • jit/JITStubs.cpp: (JSC::):
  • jit/JITStubs.h:
4:11 PM Changeset in webkit [43373] by dimich@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Dmitry Titov <dimich@chromium.org>

Attempt to fix GTK build.

  • platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
3:52 PM Changeset in webkit [43372] by oliver@apple.com
  • 46 edits in trunk

Improve native call performance

Reviewed by Gavin Barraclough.

Fix the windows build by adding calling convention declarations everywhere,
chose fastcall as that seemed most sensible given we were having to declare
the convention explicitly. In addition switched to fastcall on mac in the
deluded belief that documented fastcall behavior on windows would match
actual its actual behavior.

3:26 PM Changeset in webkit [43371] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Rolled out a portion of r43352 because it broke 64bit.

  • jit/JITStubs.h:
3:25 PM Changeset in webkit [43370] by dimich@chromium.org
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Dmitry Titov <dimich@chromium.org>

Attempt to fix Win build.

  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless):
3:21 PM Changeset in webkit [43369] by kevino@webkit.org
  • 2 edits in trunk/JavaScriptCore

Build fix for functions reaturning ThreadIdentifier.

3:07 PM Changeset in webkit [43368] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by John Honeycutt.


  • enable optimization case im the last patch that I accidentally had disabled.
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArithSlow_op_jnless):
2:43 PM Changeset in webkit [43367] by Nikolas Zimmermann
  • 50 edits
    4 deletes in trunk/WebCore

Reviewed by Dave Hyatt.

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

Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.

Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.

The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
methods are renamed to clarify where they belong to. (Detailed list in ChangeLog)

2:24 PM Changeset in webkit [43366] by dimich@chromium.org
  • 23 edits in trunk

JavaScriptCore:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

  • wtf/Threading.h: (WTF::ThreadIdentifier::ThreadIdentifier): (WTF::ThreadIdentifier::isValid): (WTF::ThreadIdentifier::invalidate): (WTF::ThreadIdentifier::platformId): ThreadIdentifier is now a class, containing a PlatformThreadIdentifier and methods that are used across the code on thread ids: construction, comparisons, check for 'valid' state etc. '0' is used as invalid id, which happens to just work with all platform-specific thread id implementations.

All the following files repeatedly reflect the new ThreadIdentifier for each platform.
We remove ThreadMap and threadMapMutex from all of them, remove the functions that
populated/searched/cleared the map and add platform-specific comparison operators
for ThreadIdentifier.

  • wtf/gtk/ThreadingGtk.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/ThreadingNone.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=):
  • wtf/ThreadingPthreads.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::detachThread): (WTF::currentThread):
  • wtf/qt/ThreadingQt.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): (WTF::waitForThreadCompletion): (WTF::currentThread):
  • wtf/ThreadingWin.cpp: (WTF::ThreadIdentifier::operator==): (WTF::ThreadIdentifier::operator!=): (WTF::initializeThreading): (WTF::createThreadInternal): All the platforms (except Windows) used a sequential counter as a thread ID and mapped it into platform ID. Windows was using native thread id and mapped it into thread handle. Since we can always obtain a thread handle by thread id, createThread now closes the handle. (WTF::waitForThreadCompletion): obtains another one using OpenThread(id) API. If can not obtain a handle, it means the thread already exited. (WTF::detachThread): (WTF::currentThread): (WTF::detachThreadDeprecated): old function, renamed (for Win Safari 4 beta which uses it for now). (WTF::waitForThreadCompletionDeprecated): same. (WTF::currentThreadDeprecated): same. (WTF::createThreadDeprecated): same.
  • bytecode/SamplingTool.h:
  • bytecode/SamplingTool.cpp: Use DEFINE_STATIC_LOCAL for a static ThreadIdentifier variable, to avoid static constructor.
  • JavaScriptCore.exp: export lists - updated the WTF threading functions decorated names since they now take a different type as a parameter.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: ditto for Windows, plus added "deprecated" functions that take old parameter type - turns out public beta of Safari 4 uses those, so they need to be kept along for a while.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: ditto.

WebCore:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

Most of the change is in WTF.
Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
is now a class rather then an integer.
Also, there is no need to initialize threadID in constructors to 0 now.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id, since now ThreadIdentifier needs construction and we avoid having global initializers. (WebCore::matchFunc): use the new accessor function. (WebCore::openFunc): ditto. (WebCore::createStringParser): ditto. (WebCore::createMemoryParser): ditto.
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open):
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::SQLiteDatabase): (WebCore::SQLiteDatabase::close):
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::start): (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
  • storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate):
  • workers/WorkerThread.cpp: (WebCore::WorkerThread::start): (WebCore::WorkerThread::WorkerThread): (WebCore::WorkerThread::start):

WebKit/win:

2009-05-07 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov and Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=25348
Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.

Most of the change is in WTF and WebCore.

  • WebKit.vcproj/WebKit.def: replaced decorated names of WTF threading functions with new ones. Also, aliased the old implementations so the public Safari 4 beta can load the old WTF functions which it uses. Next time Safari 4 builds, it will pick up new functions and the deprecated ones can be removed.
  • WebKit.vcproj/WebKit_debug.def: same.
2:21 PM Changeset in webkit [43365] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Rubber Stamped by Dave Hyatt

Shuffle the data members to minimize padding.

  • dom/ClassNames.h:
2:10 PM Changeset in webkit [43364] by Simon Fraser
  • 5 edits in trunk/WebCore

2009-05-07 Simon Fraser <Simon Fraser>

Reviewed by Darin Adler

<rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
https://bugs.webkit.org/show_bug.cgi?id=25605

Shrink GlyphPage by splitting the array of GlyphData, which has lots
of padding, into separate Glyph and SimpleFontData* arrays.

  • platform/graphics/Font.h: glyphDataForCharacter has to return a GlyphData by value now.
  • platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter): Return GlyphData by value.
  • platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage): Better encapsulation of GlyphPage, using the new methods.
  • platform/graphics/Font.h:
  • platform/graphics/FontFastPath.cpp: (WebCore::Font::glyphDataForCharacter):
  • platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage):
  • platform/graphics/GlyphPageTreeNode.h: (WebCore::GlyphData::GlyphData): (WebCore::GlyphPage::indexForCharacter): (WebCore::GlyphPage::glyphDataForCharacter): (WebCore::GlyphPage::glyphDataForIndex): (WebCore::GlyphPage::glyphAt): (WebCore::GlyphPage::fontDataForCharacter): (WebCore::GlyphPage::setGlyphDataForCharacter): (WebCore::GlyphPage::setGlyphDataForIndex): (WebCore::GlyphPage::copyFrom): (WebCore::GlyphPage::clear):
1:42 PM Changeset in webkit [43363] by mjs@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.


  • optimize various cases of branch-fused less


1% speedup on SunSpider overall
13% speedup on math-cordic

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): op_loop_if_less: Optimize case of constant as first operand, just as case of constant as second operand. op_jnless: Factored out into compileFastArith_op_jnless. (JSC::JIT::privateCompileSlowCases): op_jnless: Factored out into compileFastArithSlow_op_jnless.
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_jnless): Factored out from main compile loop.
  • Generate inline code for comparison of constant immediate int as first operand to another immediate int, as for loop_if_less

(JSC::JIT::compileFastArithSlow_op_jnless):

  • Generate inline code for comparing two floating point numbers.
  • Generate code for both cases of comparing a floating point number to a constant immediate int.
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Fix dumping of op_jnless (tangentially related bugfix).
1:22 PM Changeset in webkit [43362] by ggaren@apple.com
  • 5 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Added the return address of a stub function to the JITStackFrame abstraction.

  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITStubs.cpp: (JSC::): (JSC::StackHack::StackHack): (JSC::StackHack::~StackHack): (JSC::returnToThrowTrampoline): (JSC::JITStubs::cti_op_convert_this): (JSC::JITStubs::cti_op_end): (JSC::JITStubs::cti_op_add): (JSC::JITStubs::cti_op_pre_inc): (JSC::JITStubs::cti_timeout_check): (JSC::JITStubs::cti_register_file_check): (JSC::JITStubs::cti_op_loop_if_less): (JSC::JITStubs::cti_op_loop_if_lesseq): (JSC::JITStubs::cti_op_new_object): (JSC::JITStubs::cti_op_put_by_id_generic): (JSC::JITStubs::cti_op_get_by_id_generic): (JSC::JITStubs::cti_op_put_by_id): (JSC::JITStubs::cti_op_put_by_id_second): (JSC::JITStubs::cti_op_put_by_id_fail): (JSC::JITStubs::cti_op_get_by_id): (JSC::JITStubs::cti_op_get_by_id_second): (JSC::JITStubs::cti_op_get_by_id_self_fail): (JSC::JITStubs::cti_op_get_by_id_proto_list): (JSC::JITStubs::cti_op_get_by_id_proto_list_full): (JSC::JITStubs::cti_op_get_by_id_proto_fail): (JSC::JITStubs::cti_op_get_by_id_array_fail): (JSC::JITStubs::cti_op_get_by_id_string_fail): (JSC::JITStubs::cti_op_instanceof): (JSC::JITStubs::cti_op_del_by_id): (JSC::JITStubs::cti_op_mul): (JSC::JITStubs::cti_op_new_func): (JSC::JITStubs::cti_op_call_JSFunction): (JSC::JITStubs::cti_op_call_arityCheck): (JSC::JITStubs::cti_vm_dontLazyLinkCall): (JSC::JITStubs::cti_vm_lazyLinkCall): (JSC::JITStubs::cti_op_push_activation): (JSC::JITStubs::cti_op_call_NotJSFunction): (JSC::JITStubs::cti_op_create_arguments): (JSC::JITStubs::cti_op_create_arguments_no_params): (JSC::JITStubs::cti_op_tear_off_activation): (JSC::JITStubs::cti_op_tear_off_arguments): (JSC::JITStubs::cti_op_profile_will_call): (JSC::JITStubs::cti_op_profile_did_call): (JSC::JITStubs::cti_op_ret_scopeChain): (JSC::JITStubs::cti_op_new_array): (JSC::JITStubs::cti_op_resolve): (JSC::JITStubs::cti_op_construct_JSConstruct): (JSC::JITStubs::cti_op_construct_NotJSConstruct): (JSC::JITStubs::cti_op_get_by_val): (JSC::JITStubs::cti_op_get_by_val_string): (JSC::JITStubs::cti_op_get_by_val_byte_array): (JSC::JITStubs::cti_op_resolve_func): (JSC::JITStubs::cti_op_sub): (JSC::JITStubs::cti_op_put_by_val): (JSC::JITStubs::cti_op_put_by_val_array): (JSC::JITStubs::cti_op_put_by_val_byte_array): (JSC::JITStubs::cti_op_lesseq): (JSC::JITStubs::cti_op_loop_if_true): (JSC::JITStubs::cti_op_load_varargs): (JSC::JITStubs::cti_op_negate): (JSC::JITStubs::cti_op_resolve_base): (JSC::JITStubs::cti_op_resolve_skip): (JSC::JITStubs::cti_op_resolve_global): (JSC::JITStubs::cti_op_div): (JSC::JITStubs::cti_op_pre_dec): (JSC::JITStubs::cti_op_jless): (JSC::JITStubs::cti_op_not): (JSC::JITStubs::cti_op_jtrue): (JSC::JITStubs::cti_op_post_inc): (JSC::JITStubs::cti_op_eq): (JSC::JITStubs::cti_op_lshift): (JSC::JITStubs::cti_op_bitand): (JSC::JITStubs::cti_op_rshift): (JSC::JITStubs::cti_op_bitnot): (JSC::JITStubs::cti_op_resolve_with_base): (JSC::JITStubs::cti_op_new_func_exp): (JSC::JITStubs::cti_op_mod): (JSC::JITStubs::cti_op_less): (JSC::JITStubs::cti_op_neq): (JSC::JITStubs::cti_op_post_dec): (JSC::JITStubs::cti_op_urshift): (JSC::JITStubs::cti_op_bitxor): (JSC::JITStubs::cti_op_new_regexp): (JSC::JITStubs::cti_op_bitor): (JSC::JITStubs::cti_op_call_eval): (JSC::JITStubs::cti_op_throw): (JSC::JITStubs::cti_op_get_pnames): (JSC::JITStubs::cti_op_next_pname): (JSC::JITStubs::cti_op_push_scope): (JSC::JITStubs::cti_op_pop_scope): (JSC::JITStubs::cti_op_typeof): (JSC::JITStubs::cti_op_is_undefined): (JSC::JITStubs::cti_op_is_boolean): (JSC::JITStubs::cti_op_is_number): (JSC::JITStubs::cti_op_is_string): (JSC::JITStubs::cti_op_is_object): (JSC::JITStubs::cti_op_is_function): (JSC::JITStubs::cti_op_stricteq): (JSC::JITStubs::cti_op_to_primitive): (JSC::JITStubs::cti_op_strcat): (JSC::JITStubs::cti_op_nstricteq): (JSC::JITStubs::cti_op_to_jsnumber): (JSC::JITStubs::cti_op_in): (JSC::JITStubs::cti_op_push_new_scope): (JSC::JITStubs::cti_op_jmp_scopes): (JSC::JITStubs::cti_op_put_by_index): (JSC::JITStubs::cti_op_switch_imm): (JSC::JITStubs::cti_op_switch_char): (JSC::JITStubs::cti_op_switch_string): (JSC::JITStubs::cti_op_del_by_val): (JSC::JITStubs::cti_op_put_getter): (JSC::JITStubs::cti_op_put_setter): (JSC::JITStubs::cti_op_new_error): (JSC::JITStubs::cti_op_debug): (JSC::JITStubs::cti_vm_throw):
  • jit/JITStubs.h: (JSC::JITStackFrame::returnAddressSlot):
1:17 PM Changeset in webkit [43361] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Geoff Garen.

  • parser/Lexer.cpp: (JSC::Lexer::lex): Fix missing braces. This would make us always take the slower case for string parsing and Visual Studio correctly noticed unreachable code.
1:16 PM Changeset in webkit [43360] by Dimitri Glazkov
  • 2 edits
    2 adds in trunk/WebCore

2009-05-07 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Darin Fisher.

https://bugs.webkit.org/show_bug.cgi?id=25625
Implement Image/Option constructors in V8 bindings.

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
  • bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
  • bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
1:06 PM Changeset in webkit [43359] by christian@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-05-07 Christian Dywan <christian@twotoasts.de>

Reviewed by Gustavo Noronha.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage): (WebKit::FrameLoaderClient::dispatchDidCommitLoad): Add missing call to notifyStatus in the committed case and a missing property notify.
1:03 PM Changeset in webkit [43358] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 25589: goto instead of state machine in lexer
https://bugs.webkit.org/show_bug.cgi?id=25589

SunSpider is 0.8% faster.

  • parser/Lexer.cpp: (JSC::Lexer::currentCharacter): Added. (JSC::Lexer::currentOffset): Changed to call currentCharacter for clarity. (JSC::Lexer::setCode): Removed code to set now-obsolete m_skipLineEnd. (JSC::Lexer::shiftLineTerminator): Added. Handles line numbers and the two-character line terminators. (JSC::Lexer::makeIdentifier): Changed to take characters and length rather than a vector, since we now make these directly out of the source buffer when possible. (JSC::Lexer::lastTokenWasRestrKeyword): Added. (JSC::isNonASCIIIdentStart): Broke out the non-inline part. (JSC::isIdentStart): Moved here. (JSC::isNonASCIIIdentPart): Broke out the non-inline part. (JSC::isIdentPart): Moved here. (JSC::singleEscape): Moved here, and removed some unneeded cases. (JSC::Lexer::record8): Moved here. (JSC::Lexer::record16): Moved here. (JSC::Lexer::lex): Rewrote this whole function to use goto and not use a state machine. Got rid of most of the local variables. Also rolled the matchPunctuator function in here. (JSC::Lexer::scanRegExp): Changed to use the new version of isLineTerminator. Clear m_buffer16 after using it instead of before.
  • parser/Lexer.h: Removed State enum, setDone function, nextLine function, lookupKeywordFunction, one of the isLineTerminator functions, m_done data member, m_skipLineEnd data member, and m_state data member. Added shiftLineTerminator function, currentCharacter function, and changed the arguments to the makeIdentifier function. Removed one branch from the isLineTerminator function.
  • runtime/StringPrototype.cpp: (JSC::stringProtoFuncReplace): Streamlined the case where we don't replace anything.
12:36 PM Changeset in webkit [43357] by beidson@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

2009-05-07 Brady Eidson <beidson@apple.com>

I hate myself for doing this, but need to fix that ChangeLog entry.

  • ChangeLog:
12:29 PM Changeset in webkit [43356] by beidson@apple.com
  • 3 edits in trunk/WebCore

2009-05-07 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

  • html/HTMLParser.cpp: Use the correct style of BUILD_ON_* for WebCore.
  • html/HTMLParser.h: Ditto
12:13 PM Changeset in webkit [43355] by hyatt@apple.com
  • 203 edits in trunk

WebCore:

2009-05-07 David Hyatt <hyatt@apple.com>

Restore intrinsic margins to all form controls on Mac and Windows. Some of this regressed in 43007
when textareas were given explicit margins. Some of it had already regressed earlier whenever intrinsic
margins were turned off in themeWin.css.

Reviewed by Beth Dakin.

  • css/html4.css:
  • css/themeWin.css:

LayoutTests:

2009-05-07 David Hyatt <hyatt@apple.com>

Restore intrinsic margins to all form controls on Mac and Windows.

Reviewed by Beth Dakin.

  • fast/forms/text-control-intrinsic-widths-expected.txt:
  • fast/replaced/table-percent-height-text-controls-expected.txt:
  • platform/mac/editing/inserting/4960120-1-expected.checksum:
  • platform/mac/editing/inserting/4960120-1-expected.png:
  • platform/mac/editing/inserting/4960120-1-expected.txt:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.checksum:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.png:
  • platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.checksum:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.png:
  • platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/mac/fast/css/resize-corner-tracking-expected.checksum:
  • platform/mac/fast/css/resize-corner-tracking-expected.png:
  • platform/mac/fast/css/resize-corner-tracking-expected.txt:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.checksum:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
  • platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/mac/fast/dynamic/008-expected.checksum:
  • platform/mac/fast/dynamic/008-expected.png:
  • platform/mac/fast/dynamic/008-expected.txt:
  • platform/mac/fast/forms/001-expected.checksum:
  • platform/mac/fast/forms/001-expected.png:
  • platform/mac/fast/forms/basic-textareas-expected.checksum:
  • platform/mac/fast/forms/basic-textareas-expected.png:
  • platform/mac/fast/forms/basic-textareas-expected.txt:
  • platform/mac/fast/forms/form-element-geometry-expected.checksum:
  • platform/mac/fast/forms/form-element-geometry-expected.png:
  • platform/mac/fast/forms/form-element-geometry-expected.txt:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.checksum:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
  • platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
  • platform/mac/fast/forms/listbox-hit-test-zoomed-expected.checksum:
  • platform/mac/fast/forms/listbox-hit-test-zoomed-expected.png:
  • platform/mac/fast/forms/menulist-clip-expected.checksum:
  • platform/mac/fast/forms/menulist-clip-expected.png:
  • platform/mac/fast/forms/menulist-narrow-width-expected.checksum:
  • platform/mac/fast/forms/menulist-narrow-width-expected.png:
  • platform/mac/fast/forms/menulist-option-wrap-expected.checksum:
  • platform/mac/fast/forms/menulist-option-wrap-expected.png:
  • platform/mac/fast/forms/menulist-restrict-line-height-expected.checksum:
  • platform/mac/fast/forms/menulist-restrict-line-height-expected.png:
  • platform/mac/fast/forms/negativeLineHeight-expected.checksum:
  • platform/mac/fast/forms/negativeLineHeight-expected.png:
  • platform/mac/fast/forms/negativeLineHeight-expected.txt:
  • platform/mac/fast/forms/select-baseline-expected.checksum:
  • platform/mac/fast/forms/select-baseline-expected.png:
  • platform/mac/fast/forms/select-style-expected.checksum:
  • platform/mac/fast/forms/select-style-expected.png:
  • platform/mac/fast/forms/textAreaLineHeight-expected.checksum:
  • platform/mac/fast/forms/textAreaLineHeight-expected.png:
  • platform/mac/fast/forms/textAreaLineHeight-expected.txt:
  • platform/mac/fast/forms/textarea-align-expected.checksum:
  • platform/mac/fast/forms/textarea-align-expected.png:
  • platform/mac/fast/forms/textarea-align-expected.txt:
  • platform/mac/fast/forms/textarea-rows-cols-expected.checksum:
  • platform/mac/fast/forms/textarea-rows-cols-expected.png:
  • platform/mac/fast/forms/textarea-rows-cols-expected.txt:
  • platform/mac/fast/forms/textarea-scroll-height-expected.checksum:
  • platform/mac/fast/forms/textarea-scroll-height-expected.png:
  • platform/mac/fast/forms/textarea-scroll-height-expected.txt:
  • platform/mac/fast/forms/textarea-scrollbar-expected.checksum:
  • platform/mac/fast/forms/textarea-scrollbar-expected.png:
  • platform/mac/fast/forms/textarea-scrollbar-expected.txt:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.checksum:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.png:
  • platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.checksum:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.png:
  • platform/mac/fast/forms/textarea-setinnerhtml-expected.txt:
  • platform/mac/fast/forms/textarea-width-expected.checksum:
  • platform/mac/fast/forms/textarea-width-expected.png:
  • platform/mac/fast/forms/textarea-width-expected.txt:
  • platform/mac/fast/overflow/overflow-focus-ring-expected.checksum:
  • platform/mac/fast/overflow/overflow-focus-ring-expected.png:
  • platform/mac/fast/overflow/overflow-x-y-expected.checksum:
  • platform/mac/fast/overflow/overflow-x-y-expected.png:
  • platform/mac/fast/overflow/overflow-x-y-expected.txt:
  • platform/mac/fast/parser/comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/comment-in-textarea-expected.png:
  • platform/mac/fast/parser/comment-in-textarea-expected.txt:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.png:
  • platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.checksum:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.png:
  • platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/mac/fast/replaced/selection-rect-transform-expected.png:
  • platform/mac/fast/replaced/width100percent-textarea-expected.checksum:
  • platform/mac/fast/replaced/width100percent-textarea-expected.png:
  • platform/mac/fast/replaced/width100percent-textarea-expected.txt:
  • platform/mac/fast/table/003-expected.checksum:
  • platform/mac/fast/table/003-expected.png:
  • platform/mac/fast/table/003-expected.txt:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.checksum:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.png:
  • platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
  • platform/mac/http/tests/navigation/anchor-basic-expected.txt:
  • platform/mac/http/tests/navigation/anchor-frames-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-frames-expected.png:
  • platform/mac/http/tests/navigation/anchor-frames-expected.txt:
  • platform/mac/http/tests/navigation/anchor-goback-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-goback-expected.png:
  • platform/mac/http/tests/navigation/anchor-goback-expected.txt:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.png:
  • platform/mac/http/tests/navigation/anchor-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-basic-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.png:
  • platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-frames-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-goback-expected.txt:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.png:
  • platform/mac/http/tests/navigation/metaredirect-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/post-goback2-expected.checksum:
  • platform/mac/http/tests/navigation/post-goback2-expected.png:
  • platform/mac/http/tests/navigation/post-goback2-expected.txt:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.checksum:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.png:
  • platform/mac/http/tests/navigation/postredirect-goback2-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.png:
  • platform/mac/http/tests/navigation/redirect302-basic-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.png:
  • platform/mac/http/tests/navigation/redirect302-frames-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.png:
  • platform/mac/http/tests/navigation/redirect302-goback-expected.txt:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.png:
  • platform/mac/http/tests/navigation/redirect302-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-basic-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.checksum:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.png:
  • platform/mac/http/tests/navigation/relativeanchor-frames-expected.txt:
  • platform/mac/http/tests/navigation/relativeanchor-goback-expected.txt:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/success200-basic-expected.checksum:
  • platform/mac/http/tests/navigation/success200-basic-expected.png:
  • platform/mac/http/tests/navigation/success200-basic-expected.txt:
  • platform/mac/http/tests/navigation/success200-frames-expected.checksum:
  • platform/mac/http/tests/navigation/success200-frames-expected.png:
  • platform/mac/http/tests/navigation/success200-frames-expected.txt:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.checksum:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.png:
  • platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt:
  • platform/mac/http/tests/navigation/success200-goback-expected.checksum:
  • platform/mac/http/tests/navigation/success200-goback-expected.png:
  • platform/mac/http/tests/navigation/success200-goback-expected.txt:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.checksum:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.png:
  • platform/mac/http/tests/navigation/success200-loadsame-expected.txt:
  • platform/mac/http/tests/navigation/success200-reload-expected.checksum:
  • platform/mac/http/tests/navigation/success200-reload-expected.png:
  • platform/mac/http/tests/navigation/success200-reload-expected.txt:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.png:
  • platform/mac/http/tests/navigation/success200-subframeload-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-basic-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-frames-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-goback-expected.txt:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.checksum:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.png:
  • platform/mac/http/tests/navigation/timerredirect-subframeload-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.png:
  • platform/mac/tables/mozilla/bugs/bug194024-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.png:
  • platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
12:09 PM Changeset in webkit [43354] by kevino@webkit.org
  • 5 edits in trunk

wx build fixes for Python extension and DRT.

12:03 PM Changeset in webkit [43353] by beidson@apple.com
  • 4 edits in trunk/WebCore

2009-05-07 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler and Alexey Proskuryakov.

<rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation

  • dom/Document.cpp: (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it. (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto. (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
  • html/HTMLParser.h: (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
11:45 AM Changeset in webkit [43352] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

2009-05-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Gavin Barraclough.

Removed a few more special constants, and replaced them with uses of
the JITStackFrame struct.

Removed one of the two possible definitions of VoidPtrPair. The Mac
definition was more elegant, but SunSpider doesn't think it's any
faster, and it's net less elegant to have two ways of doing things.

  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompile):
  • jit/JITStubs.h: (JSC::):
11:44 AM Changeset in webkit [43351] by sfalken@apple.com
  • 2 edits in trunk/WebKitTools

Remove manifest fixup from r42729 to fix clean builds.

  • DumpRenderTree/win/DumpRenderTree.vcproj:
11:35 AM Changeset in webkit [43350] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fixed Radar #

10:48 AM Changeset in webkit [43349] by Simon Fraser
  • 3 edits in trunk/WebKitLibraries

2009-05-07 Simon Fraser <Simon Fraser>

Source changes reviewed by Darin Adler

<rdar://problem/6864091> Endcap of media controls slider is fuzzy

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
10:45 AM Changeset in webkit [43348] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Antony Sargent <asargent@chromium.org>

Reviewed by Darin Fisher.

Fix a memory leak in V8EventListenerList::remove.

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

No new functionality so no new tests.

  • bindings/v8/V8EventListenerList.cpp: (WebCore::V8EventListenerList::remove):
9:41 AM Changeset in webkit [43347] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Darin Adler <Darin Adler>

  • runtime/ScopeChain.h: (JSC::ScopeChainNode::~ScopeChainNode): Tweak formatting.
9:17 AM Changeset in webkit [43346] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Darin Fisher <darin@chromium.org>

Fix Chromium build bustage.

  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing HTMLCollection.h include.
9:01 AM Changeset in webkit [43345] by Chris Fleizach
  • 5 edits
    2 adds in trunk

Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
https://bugs.webkit.org/show_bug.cgi?id=25598

8:57 AM Changeset in webkit [43344] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-05-07 Darin Fisher <darin@chromium.org>

Fix Chromium build bustage.

  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
6:59 AM Changeset in webkit [43343] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Fix the build thread stack base determination build on Symbian,
by moving the code block before PLATFORM(UNIX), which is also
enabled on Symbian builds.

5:36 AM Changeset in webkit [43342] by xan@webkit.org
  • 2 edits in trunk/WebCore

2009-05-07 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

https://bugs.webkit.org/show_bug.cgi?id=25610
[GTK] text.caretOffset is reportedly always 0

Use the right function to get the caret offset in an
element. selectionStart() would only work for text
controls (there's even an ASSERT when calculating the selected
text range). Instead just get the selection and get the offset of
the start position.

  • page/gtk/AccessibilityObjectWrapperAtk.cpp:
3:05 AM Changeset in webkit [43341] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix crash due to incorrectly using an invalid scopechain

Reviewed by Gavin Barraclough.

stringProtoFuncReplace was checking for an exception on a CachedCall
by asking for the cached callframes exception. Unfortunately this
could crash in certain circumstances as CachedCall does not guarantee
a valid callframe following a call. Even more unfortunately the check
was entirely unnecessary as there is only a single exception slot per
global data, so it was already checked via the initial exec->hadException()
check.

To make bugs like this more obvious, i've added a debug only destructor
to ScopeChainNode that 0's all of its fields. This exposed a crash in
the standard javascriptcore tests.

1:58 AM Changeset in webkit [43340] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2009-05-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Fix support for antialiased CSS border-radius

WebKit implements border-radius by drawing a double-size border,
and then letting the clip constrain the border to the right width
and position. This requires support for antialiased clipping, as
well as painting, to get a nice smooth border.

Qt only does antialiased clipping if the anti-alias flag is set
at the time of clipping, so we have to enable this in the method
addInnerRoundedRectClip(), as well as when we draw the border.

Currently the raster-engine is the only Qt paint engine to support
anti-aliased clipping, but the OpenGL and Mac paint engines could
potentially support this in the future.

1:27 AM Changeset in webkit [43339] by barraclough@apple.com
  • 6 edits in trunk/JavaScriptCore

2009-05-07 Gavin Barraclough <barraclough@apple.com>

Reviewed by NOBODY (OOPS!).

Enable op_strcat across += assignments. This patch allows the lhs of a read/modify node
to be included within the concatenation operation, and also modifies the implementation
of the concatenation to attempt to reuse and cat onto the leftmost string, rather than
always allocating a new empty output string to copy into (as was previously the behaviour).

~0.5% progression, due to a 3%-3.5% progression on the string tests (particularly validate).

  • parser/Nodes.cpp: (JSC::BinaryOpNode::emitStrcat): (JSC::emitReadModifyAssignment): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::ReadModifyDotNode::emitBytecode): (JSC::ReadModifyBracketNode::emitBytecode):
  • parser/Nodes.h:
  • runtime/Operations.h: (JSC::concatenateStrings):
  • runtime/UString.cpp: (JSC::UString::reserveCapacity):
  • runtime/UString.h:
12:46 AM Changeset in webkit [43338] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

2009-05-07 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Oliver Hunt.

Fix the build on Windows without JIT: interpreter/RegisterFile.h needs
roundUpAllocationSize, which is protected by #if ENABLED(ASSEMBLER).
Moved the #ifdef down and always offer the function.

12:42 AM Changeset in webkit [43337] by eric@webkit.org
  • 2 edits
    1 add in trunk/WebCore

2009-05-07 Adam Langley <agl@google.com>

Reviewed by Eric Seidel.

Render empty optgroup elements.

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

Currently, optgroup elements which are empty are not rendered. The
HTML specification gives no guidance on this situation.

However, the test for being empty is that they have no children, thus
this will not render:

<optgroup label="test"></optgroup>

while this /will/ render (because of the text node child):

<optgroup label="test"> </optgroup>

This patch will cause both cases to render which matches IE's and
Firefox's behaviour.

The difference only appears when opening the select element and does
not appear in the render tree. Thus, a manual layout-test is required.

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::recalcListItems):
  • manual-tests/optgroup-empty-and-nested.html: Added.
12:38 AM Changeset in webkit [43336] by eric@webkit.org
  • 2 edits in trunk/WebKitSite

Reviewed by Maciej Stachowiak.

Update Contributing instructions after feedback from Julie Parent.
https://bugs.webkit.org/show_bug.cgi?id=25611

  • coding/contributing.html: Add a few more comments on ChangeLogs
Note: See TracTimeline for information about the timeline view.