Timeline


and

10/17/08:

23:18 Changeset [37675] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Mark Rowe.


  • default to 1000 tests per dump tool instance again, now that CTI no longer causes excess different stack logs.


(Also fix a small bug in my last change.)

  • Scripts/run-webkit-tests:
23:17 Changeset [37674] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • in debug builds, alter the stack to avoid blowing out MallocStackLogging


(In essence, while executing a CTI function we alter the return
address to jscGeneratedNativeCode so that a single consistent
function is on the stack instead of many random functions without
symbols.)

  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::doSetReturnAddress): (JSC::): (JSC::StackHack::StackHack): (JSC::StackHack::~StackHack): (JSC::Machine::cti_op_convert_this): (JSC::Machine::cti_op_end): (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_timeout_check): (JSC::Machine::cti_register_file_check): (JSC::Machine::cti_op_loop_if_less): (JSC::Machine::cti_op_loop_if_lesseq): (JSC::Machine::cti_op_new_object): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_second): (JSC::Machine::cti_op_put_by_id_generic): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_new_func): (JSC::Machine::cti_op_call_profiler): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_lazyLinkCall): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain): (JSC::Machine::cti_op_new_array): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_JSConstructFast): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_put_by_val): (JSC::Machine::cti_op_put_by_val_array): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_jless): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_new_func_exp): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_post_dec): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_new_regexp): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_get_pnames): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_push_scope): (JSC::Machine::cti_op_pop_scope): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_push_new_scope): (JSC::Machine::cti_op_jmp_scopes): (JSC::Machine::cti_op_put_by_index): (JSC::Machine::cti_op_switch_imm): (JSC::Machine::cti_op_switch_char): (JSC::Machine::cti_op_switch_string): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_op_put_getter): (JSC::Machine::cti_op_put_setter): (JSC::Machine::cti_op_new_error): (JSC::Machine::cti_op_debug): (JSC::Machine::cti_vm_throw):
21:54 Changeset [37673] by slewis@apple.com

2008-10-17 Stephanie Lewis <slewis@apple.com>

Reviewed by Mark Rowe.

Fix layout tests that use prologues and epilogues.

  • Scripts/run-webkit-tests:
21:29 Changeset [37672] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Mark Rowe.


  • make sure MallocStackLogging is only on for tools we want to leak check, not other random stuff as well.
  • Scripts/run-webkit-tests:
19:53 Changeset [37671] by barraclough@apple.com

typo in ChangeLog

19:51 Changeset [37670] by barraclough@apple.com

2008-10-17 Gavin Barraclough <barraclough@apple.com>

Optimize op_call by allowing call sites to be directly linked to callees.

For the hot path of op_call, CTI now generates a check (initially for an impossible
value), and the first time the call is executed we attempt to link the call directly
to the callee. WWe can currently only do so if the arity of the caller and callee
match. The (optimized) setup for the call on the hot path is linked directly to
the ctiCode for the callee, without indirection.


Two forms of the slow case of the call are generated, the first will be executed the
first time the call is reached. As well as this path attempting to link the call to
a callee, it also relinks the slow case to a second slow case, which will not continue
to attempt relinking the call. (This policy could be changed in future, but for not
this is intended to prevent thrashing).

If a callee that the caller has been linked to is garbage collected, then the link
in the caller's JIt code will be reset back to a value that cannot match - to prevent
any false positive matches.

~20% progression on deltablue & richards, >12% overall reduction in v8-tests
runtime, one or two percent progression on sunspider.

Reviewed by Oliver Hunt.

  • VM/CTI.cpp: (JSC::): (JSC::CTI::emitNakedCall): (JSC::unreachable): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCallSetupArgs): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::unlinkCall): (JSC::CTI::linkCall):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::unlinkCallers): (JSC::CodeBlock::derefStructureIDs):
  • VM/CodeBlock.h: (JSC::StructureStubInfo::StructureStubInfo): (JSC::CallLinkInfo::CallLinkInfo): (JSC::CodeBlock::addCaller): (JSC::CodeBlock::removeCaller): (JSC::CodeBlock::getStubInfo):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitConstruct):
  • VM/Machine.cpp: (JSC::Machine::cti_op_call_profiler): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_lazyLinkCall): (JSC::Machine::cti_op_construct_JSConstructFast): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct):
  • VM/Machine.h:
  • kjs/JSFunction.cpp: (JSC::JSFunction::~JSFunction):
  • kjs/JSFunction.h:
  • kjs/nodes.h: (JSC::FunctionBodyNode::):
  • masm/X86Assembler.h: (JSC::X86Assembler::getDifferenceBetweenLabels):
18:04 Changeset [37669] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Stephanie Lewis.


  • make run-webkit-tests --leaks default to 100 tests per run instead of 1000


This should reduce or eliminate crashes on the buildbot due to
running out of memory while stack logging.

  • Scripts/run-webkit-tests:
17:08 Changeset [37668] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff Garen.


  • remove ASSERT that makes the leaks buildbot cry
  • kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction):
17:03 Changeset [37667] by kevino@webkit.org

Reviewed by Kevin Ollivier

Fix wx port's scrollbar and drawing handling after recent changes.

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

16:22 Changeset [37666] by kevino@webkit.org

wx build fix. EAppearance -> ControlPart.

15:56 Changeset [37665] by pam@chromium.org

2008-10-17 Pamela Greene <pam@chromium.org>

Add a number of new tests.
See https://bugs.webkit.org/show_bug.cgi?id=21407

Reviewed by Alexey Proskuryakov.

  • fast/css/border-height.html: Added.
  • fast/dom/Window/orphaned-frame-access-expected.txt: Added.
  • fast/dom/Window/orphaned-frame-access.html: Added.
  • fast/forms/image-border.html: Added.
  • fast/forms/input-field-text-truncated.html: Added.
  • fast/forms/input-type-text-min-width.html: Added.
  • fast/forms/textarea-scrollbar-height-expected.txt: Added.
  • fast/forms/textarea-scrollbar-height.html: Added.
  • fast/forms/textarea-width.html: Added.
  • fast/overflow/overflow_hidden.html: Added.
  • fast/parser/resources/xml-declaration-missing-ending-mark.xml: Added.
  • fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
  • fast/parser/xml-declaration-missing-ending-mark.html: Added.
  • fast/text/international/hindi-spacing.html: Added.
  • http/tests/misc/crash-multiple-family-fontface-expected.txt: Added.
  • http/tests/misc/crash-multiple-family-fontface.html: Added.
  • platform/mac/fast/css/border-height-expected.checksum: Added.
  • platform/mac/fast/css/border-height-expected.png: Added.
  • platform/mac/fast/css/border-height-expected.txt: Added.
  • platform/mac/fast/forms/image-border-expected.checksum: Added.
  • platform/mac/fast/forms/image-border-expected.png: Added.
  • platform/mac/fast/forms/image-border-expected.txt: Added.
  • platform/mac/fast/forms/input-field-text-truncated-expected.checksum: Added.
  • platform/mac/fast/forms/input-field-text-truncated-expected.png: Added.
  • platform/mac/fast/forms/input-field-text-truncated-expected.txt: Added.
  • platform/mac/fast/forms/input-type-text-min-width-expected.checksum: Added.
  • platform/mac/fast/forms/input-type-text-min-width-expected.png: Added.
  • platform/mac/fast/forms/input-type-text-min-width-expected.txt: Added.
  • platform/mac/fast/forms/textarea-width-expected.checksum: Added.
  • platform/mac/fast/forms/textarea-width-expected.png: Added.
  • platform/mac/fast/forms/textarea-width-expected.txt: Added.
  • platform/mac/fast/overflow/overflow_hidden-expected.checksum: Added.
  • platform/mac/fast/overflow/overflow_hidden-expected.png: Added.
  • platform/mac/fast/overflow/overflow_hidden-expected.txt: Added.
  • platform/mac/fast/text/international/hindi-spacing-expected.checksum: Added.
  • platform/mac/fast/text/international/hindi-spacing-expected.png: Added.
  • platform/mac/fast/text/international/hindi-spacing-expected.txt: Added.
15:26 Changeset [37664] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich


  • don't bother to do arguments tearoff when it will have no effect

~1% on v8 raytrace


  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitReturn):
15:02 Changeset [37663] by hyatt@apple.com

2008-10-17 David Hyatt <hyatt@apple.com>

Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
values from the enum since they are handled by ScrollbarTheme instead.

Reviewed by Tim Hatcher

  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ControlPart):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):
  • css/CSSValueKeywords.in:
  • platform/gtk/RenderThemeGtk.cpp: (WebCore::supportsFocus): (WebCore::RenderThemeGtk::baselinePosition): (WebCore::setToggleSize): (WebCore::RenderThemeGtk::setCheckboxSize): (WebCore::RenderThemeGtk::setRadioSize): (WebCore::RenderThemeGtk::adjustButtonStyle):
  • platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::baselinePosition): (WebCore::RenderThemeQt::controlSupportsTints): (WebCore::RenderThemeQt::adjustRepaintRect): (WebCore::RenderThemeQt::isControlStyled): (WebCore::computeSizeBasedOnStyle): (WebCore::RenderThemeQt::paintButton): (WebCore::RenderThemeQt::paintTextField): (WebCore::RenderThemeQt::paintMenuList): (WebCore::RenderThemeQt::supportsFocus): (WebCore::RenderThemeQt::applyTheme): (WebCore::RenderThemeQt::adjustSliderThumbSize):
  • platform/qt/RenderThemeQt.h:
  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): (WebCore::RenderSlider::layout): (WebCore::RenderSlider::setValueForPosition): (WebCore::RenderSlider::setPositionFromValue): (WebCore::RenderSlider::positionForOffset): (WebCore::RenderSlider::currentPosition): (WebCore::RenderSlider::setCurrentPosition): (WebCore::RenderSlider::trackSize):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::paintBorderOnly): (WebCore::RenderTheme::paintDecorations): (WebCore::RenderTheme::isControlContainer): (WebCore::RenderTheme::isControlStyled): (WebCore::RenderTheme::supportsFocusRing): (WebCore::RenderTheme::isDefault):
  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled): (WebCore::RenderThemeMac::adjustRepaintRect): (WebCore::RenderThemeMac::baselinePosition): (WebCore::RenderThemeMac::controlSupportsTints): (WebCore::RenderThemeMac::adjustButtonStyle): (WebCore::RenderThemeMac::setButtonCellState): (WebCore::RenderThemeMac::popupInternalPaddingLeft): (WebCore::RenderThemeMac::popupInternalPaddingRight): (WebCore::RenderThemeMac::popupInternalPaddingTop): (WebCore::RenderThemeMac::popupInternalPaddingBottom): (WebCore::RenderThemeMac::paintSliderTrack): (WebCore::RenderThemeMac::paintSliderThumb): (WebCore::RenderThemeMac::adjustSliderThumbSize):
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::isControlStyled): (WebCore::RenderThemeSafari::adjustRepaintRect): (WebCore::RenderThemeSafari::baselinePosition): (WebCore::RenderThemeSafari::controlSupportsTints): (WebCore::RenderThemeSafari::adjustButtonStyle): (WebCore::RenderThemeSafari::popupInternalPaddingLeft): (WebCore::RenderThemeSafari::popupInternalPaddingRight): (WebCore::RenderThemeSafari::popupInternalPaddingTop): (WebCore::RenderThemeSafari::popupInternalPaddingBottom): (WebCore::RenderThemeSafari::paintSliderTrack): (WebCore::RenderThemeSafari::adjustSliderThumbSize):
  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus): (WebCore::RenderThemeWin::determineClassicState): (WebCore::RenderThemeWin::getClassicThemeData): (WebCore::RenderThemeWin::getThemeData): (WebCore::drawControl): (WebCore::RenderThemeWin::paintSliderTrack): (WebCore::RenderThemeWin::adjustSliderThumbSize):
  • rendering/RenderThemeWin.h:
  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::hasAppearance): (WebCore::InheritedFlags::appearance): (WebCore::InheritedFlags::setAppearance): (WebCore::InheritedFlags::initialAppearance):
  • rendering/style/RenderStyleConstants.h:
14:26 Changeset [37662] by hyatt@apple.com

2008-10-17 David Hyatt <hyatt@apple.com>

Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.

Reviewed by Tim Hatcher

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • config.h:
  • platform/Theme.h: Added. (WebCore::Theme::Theme): (WebCore::Theme::~Theme): (WebCore::Theme::baselinePositionAdjustment): (WebCore::Theme::controlHasInactiveAppearance): (WebCore::Theme::controlsCanHaveInactiveAppearance): (WebCore::Theme::controlsCanHaveHoveredAppearance): (WebCore::Theme::controlDrawsBorder): (WebCore::Theme::controlDrawsBackground): (WebCore::Theme::controlDrawsFocusOutline): (WebCore::Theme::selectionColor): (WebCore::Theme::textSearchHighlightColor): (WebCore::Theme::systemColor): (WebCore::Theme::systemFont): (WebCore::Theme::caretBlinkFrequency): (WebCore::Theme::themeChanged): (WebCore::Theme::controlSize): (WebCore::Theme::controlFont): (WebCore::Theme::controlPadding): (WebCore::Theme::controlInternalPadding): (WebCore::Theme::controlBorder): (WebCore::Theme::controlBorderRadius): (WebCore::Theme::paint): (WebCore::Theme::inflateControlPaintRect):
  • platform/ThemeTypes.h: Added. (WebCore::): (WebCore::ControlBox::ControlBox): (WebCore::ControlBox::top): (WebCore::ControlBox::right): (WebCore::ControlBox::bottom): (WebCore::ControlBox::left):
  • platform/mac/ThemeMac.h: Added. (WebCore::ThemeMac::ThemeMac): (WebCore::ThemeMac::~ThemeMac):
  • platform/mac/ThemeMac.mm: Added. (WebCore::platformTheme):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::RenderTheme):
  • rendering/RenderTheme.h:
14:22 Changeset [37661] by kmccullough@apple.com

2008-10-16 Kevin McCullough <kmccullough@apple.com>

Reviewed by Steve Falkenburg.

<rdar://problem/6292718>
Implement a standard way to get the UA given an application name.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::standardUserAgentWithApplicationName):
  • WebView.h:
14:16 Changeset [37660] by jmalonzo@webkit.org

2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Sam Weinig. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=21603
[GTK] Minor fixes to GOwnPtr

  • wtf/GOwnPtr.cpp: (WTF::GError): (WTF::GList): (WTF::GCond): (WTF::GMutex): (WTF::GPatternSpec): (WTF::GDir):
  • wtf/GOwnPtr.h: (WTF::freeOwnedGPtr): (WTF::GOwnPtr::~GOwnPtr): (WTF::GOwnPtr::outPtr): (WTF::GOwnPtr::set): (WTF::GOwnPtr::clear):
  • wtf/Threading.h:

2008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Sam Weinig. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=21603
[GTK] Minor fixes to GOwnPtr

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateErrorCallback):
14:04 Changeset [37659] by timothy@apple.com

Recompile the JavaScript functions when removing any listener, so functions that are
not being debugged can resume normal speed again.

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

Reviewed by Geoffrey Garen.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert was firing when closing the window and having the recompile fire after. This was an overzelious assert now.
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer. (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
13:17 Changeset [37658] by mitz@apple.com

Reviewed by Sam Weinig.

  • export WTF::initializeOnMainThread()
  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
11:07 Changeset [37657] by pam@chromium.org

2008-10-17 Pamela Greene <pam@chromium.org>

Fix potential race by running two passes of test to defer notifyDone.
See https://bugs.webkit.org/show_bug.cgi?id=21576

Reviewed by Timothy Hatcher.

  • fast/history/resources/history_reload_window.html:
09:51 Changeset [37656] by timothy@apple.com

Fixes a regression where starting a debugging session in
another Web Inspector window would not show any scripts.
Also only attach the debugger to only the required Pages.

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

Reviewed by Darin Adler.

  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::addListener): Add an assert and remove the call to willAddFirstListener(). Add a call to didAddListener(). (WebCore::JavaScriptDebugServer::removeListener): Add an assert and call to didRemoveListener(). (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger if there is a listener interested in the new Page. (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): Use hasGlobalListeners() instead of isEmpty(). (WebCore::JavaScriptDebugServer::sourceParsed): Ditto. (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the debugger to the page if non-null, or all pages if page is null. (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach the debugger only if there are no interested listeners. (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the call to Page::setDebuggerForAllPages().
  • inspector/JavaScriptDebugServer.h: (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
08:56 Changeset [37655] by brettw@chromium.org

Reviewed by Timothy Hatcher.

Have ImageDocument generate its own filename for the title of images
without relying on the suggested filename from the network layer, which
may be nonexistant or not relevant.
https://bugs.webkit.org/show_bug.cgi?id=21565

  • loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish):
06:35 Changeset [37654] by ap@webkit.org

Non-Mac build fix.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl: Added ActiveDOMObject to the build.
04:55 Changeset [37653] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • speed up transitions that resize the property storage a fair bit


~3% speedup on v8 RayTrace benchmark, ~1% on DeltaBlue

  • VM/CTI.cpp: (JSC::resizePropertyStorage): renamed from transitionObject, and reduced to just resize the object's property storage with one inline call. (JSC::CTI::privateCompilePutByIdTransition): Use a separate function for property storage resize, but still do all the rest of the work in assembly in that case, and pass the known compile-time constants of old and new size rather than structureIDs, saving a bunch of redundant memory access.
  • kjs/JSObject.cpp: (JSC::JSObject::allocatePropertyStorage): Just call the inline version.
  • kjs/JSObject.h: (JSC::JSObject::allocatePropertyStorageInline): Inline version of allocatePropertyStorage
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::pushl_i32): Add code to assmeble push of a constant; code originally by Cameron Zwarich.
03:46 Changeset [37652] by cwzwarich@webkit.org

2008-10-17 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Remove some C style casts.

  • masm/X86Assembler.h: (JSC::JITCodeBuffer::putIntUnchecked): (JSC::X86Assembler::link): (JSC::X86Assembler::linkAbsoluteAddress): (JSC::X86Assembler::getRelocatedAddress):
03:15 Changeset [37651] by cwzwarich@webkit.org

2008-10-17 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Maciej Stachowiak.

Remove some C style casts.

  • VM/CTI.cpp: (JSC::CTI::patchGetByIdSelf): (JSC::CTI::patchPutByIdReplace):
  • VM/Machine.cpp: (JSC::Machine::tryCTICachePutByID): (JSC::Machine::tryCTICacheGetByID): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_fail):
02:06 Changeset [37650] by mjs@apple.com

2008-10-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


This patch stops writing the call frame at call and return points;
instead it does so immediately before any CTI call.


0.5% speedup or so on the v8 benchmark


  • VM/CTI.cpp: (JSC::CTI::emitCTICall): (JSC::CTI::compileOpCall): (JSC::CTI::emitSlowScriptCheck): (JSC::CTI::compileBinaryArithOpSlowCase): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile):
  • VM/CTI.h:
01:10 Changeset [37649] by ap@webkit.org

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21642
Abstract out active object tracking

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.cpp: (WebCore::markActiveObjectsForDocument):
  • dom/ActiveDOMObject.cpp: Added. (WebCore::ActiveDOMObject::ActiveDOMObject): (WebCore::ActiveDOMObject::~ActiveDOMObject): (WebCore::ActiveDOMObject::contextDestroyed): (WebCore::ActiveDOMObject::stop):
  • dom/ActiveDOMObject.h: Added. (WebCore::ActiveDOMObject::document): (WebCore::ActiveDOMObject::hasPendingActivity): (WebCore::ActiveDOMObject::setPendingActivity): (WebCore::ActiveDOMObject::unsetPendingActivity):
  • dom/Document.cpp: (WebCore::Document::~Document): (WebCore::Document::stopActiveDOMObjects): (WebCore::Document::createdActiveDOMObject): (WebCore::Document::destroyedActiveDOMObject):
  • dom/Document.h: (WebCore::Document::activeDOMObjects):
  • dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
  • dom/MessagePort.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::~XMLHttpRequest): (WebCore::XMLHttpRequest::associatedFrame): (WebCore::XMLHttpRequest::responseXML): (WebCore::XMLHttpRequest::callReadyStateChangeListener): (WebCore::XMLHttpRequest::initSend): (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::createRequest): (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::loadRequestSynchronously): (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::setRequestHeader): (WebCore::XMLHttpRequest::processSyncLoadResults): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didFinishLoadingPreflight): (WebCore::XMLHttpRequest::willSendRequest): (WebCore::XMLHttpRequest::accessControlCheck): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): (WebCore::XMLHttpRequest::stop): (WebCore::XMLHttpRequest::contextDestroyed):
  • xml/XMLHttpRequest.h: Move activity tracking to a new ActiveDOMObject class.
01:04 Changeset [37648] by cwzwarich@webkit.org

2008-10-17 Cameron Zwarich <zwarich@apple.com>

Reviewed by Sam Weinig.

Make WREC require CTI because it won't actually compile otherwise.

  • wtf/Platform.h:

10/16/08:

20:24 Changeset [37647] by mjs@apple.com

2008-10-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff Garen.

  • fixed <rdar://problem/5806316> JavaScriptCore should not force building with gcc 4.0
  • use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default

This time there is no performance regression; we can avoid having
to use the fastcall calling convention for CTI functions by using
varargs to prevent the compiler from moving things around on the
stack.


  • Configurations/DebugRelease.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp:
  • VM/Machine.h:
  • wtf/Platform.h:
20:05 Changeset [37646] by mjs@apple.com

2008-10-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • kjs/collector.cpp: (JSC::Heap::collect): Avoid crashing when a GC occurs while no global objects are live.
19:57 Changeset [37645] by weinig@apple.com

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

Reviewed by Maciej Stachowiak.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21683
Don't create intermediate StructureIDs for builtin objects

First step in reduce number of StructureIDs created when initializing the
JSGlobalObject.

  • In order to avoid creating the intermediate StructureIDs use the new putDirectWithoutTransition and putDirectFunctionWithoutTransition to add properties to JSObjects without transitioning the StructureID. This patch just implements this strategy for ObjectPrototype but alone reduces the number of StructureIDs create for about:blank by 10, from 142 to 132.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset):
  • kjs/JSObject.cpp: (JSC::JSObject::putDirectFunctionWithoutTransition):
  • kjs/JSObject.h: (JSC::JSObject::putDirectWithoutTransition):
  • kjs/ObjectPrototype.cpp: (JSC::ObjectPrototype::ObjectPrototype):
  • kjs/ObjectPrototype.h:
  • kjs/StructureID.cpp: (JSC::StructureID::addPropertyWithoutTransition):
  • kjs/StructureID.h:
18:20 Changeset [37644] by hyatt@apple.com

2008-10-16 David Hyatt <hyatt@apple.com>

Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
did though. This patch removes the renderer argument and the Element subclass shadow implementation
so that confusion like this can't occur again.

Reviewed by Oliver Hunt

  • dom/Element.cpp:
  • dom/Element.h:
  • dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): (WebCore::Node::styleForRenderer):
  • dom/Node.h:
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach):
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach):
  • svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::canvasResource):
  • svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::build):
  • svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::build):
  • svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::build):
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::buildStops):
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::attachShadowTree):
18:04 Changeset [37643] by hyatt@apple.com

Add fixme about this filter code's style gyrations making no sense whatsoever.

17:54 Changeset [37642] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:48 Changeset [37641] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:47 Changeset [37640] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:46 Changeset [37639] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:46 Changeset [37638] by hyatt@apple.com

Fix Qt bustage. Why are filters on in Qt?

17:25 Changeset [37637] by hyatt@apple.com

2008-10-16 David Hyatt <hyatt@apple.com>

https://bugs.webkit.org/attachment.cgi?bugid=21647

Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
to use the arena.

At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
arena also limited the usefulness.

Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
manual ref/deref far outweigh keeping them in the arena.

Reviewed by Adam Roben

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::CSSStyleSelector): (WebCore::CSSStyleSelector::~CSSStyleSelector): (WebCore::CSSStyleSelector::styleForElement): (WebCore::CSSStyleSelector::keyframeStylesForAnimation): (WebCore::CSSStyleSelector::pseudoStyleForElement): These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).

(WebCore::CSSStyleSelector::updateFont):
(WebCore::CSSStyleSelector::checkSelector):
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::mapFillSize):
(WebCore::CSSStyleSelector::mapFillXPosition):
(WebCore::CSSStyleSelector::mapFillYPosition):

  • css/CSSStyleSelector.h: (WebCore::CSSStyleSelector::style):
  • dom/Document.cpp: (WebCore::Document::recalcStyle):
  • dom/Element.cpp: (WebCore::Element::styleForRenderer): (WebCore::Element::recalcStyle): (WebCore::Element::computedStyle):
  • dom/Element.h:
  • dom/ElementRareData.h: (WebCore::ElementRareData::ElementRareData): (WebCore::ElementRareData::resetComputedStyle):
  • dom/Node.cpp: (WebCore::Node::diff): (WebCore::Node::createRendererIfNeeded): (WebCore::Node::styleForRenderer): (WebCore::Node::setRenderStyle):
  • dom/Node.h:
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setFont):
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::attach): (WebCore::HTMLOptGroupElement::detach): (WebCore::HTMLOptGroupElement::setRenderStyle): (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::attach): (WebCore::HTMLOptionElement::detach): (WebCore::HTMLOptionElement::setRenderStyle): (WebCore::HTMLOptionElement::nonRendererRenderStyle):
  • html/HTMLOptionElement.h:
  • page/animation/AnimationBase.h: (WebCore::AnimationBase::animate):
  • page/animation/AnimationController.cpp: (WebCore::AnimationController::updateAnimations):
  • page/animation/AnimationController.h:
  • page/animation/CompositeAnimation.cpp: (WebCore::CompositeAnimationPrivate::updateTransitions): (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): (WebCore::CompositeAnimationPrivate::animate): (WebCore::CompositeAnimation::animate):
  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp: (WebCore::ImplicitAnimation::ImplicitAnimation): (WebCore::ImplicitAnimation::~ImplicitAnimation): (WebCore::ImplicitAnimation::animate): (WebCore::ImplicitAnimation::reset): (WebCore::ImplicitAnimation::isTargetPropertyEqual): (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
  • page/animation/ImplicitAnimation.h: (WebCore::ImplicitAnimation::create):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::~KeyframeAnimation): (WebCore::KeyframeAnimation::animate): (WebCore::KeyframeAnimation::validateTransformFunctionList):
  • page/animation/KeyframeAnimation.h: (WebCore::KeyframeAnimation::create): (WebCore::KeyframeAnimation::unanimatedStyle):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint):
  • rendering/MediaControlElements.cpp: (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): (WebCore::MediaControlInputElement::MediaControlInputElement):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleDidChange): (WebCore::RenderBlock::updateFirstLetter):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild): (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::updateFromElement): (WebCore::RenderFileUploadControl::createButtonStyle):
  • rendering/RenderFileUploadControl.h:
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::createAnonymousFlow):
  • rendering/RenderFlow.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::addChildToFlow):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateScrollCornerStyle): (WebCore::RenderLayer::updateResizerStyle): (WebCore::RenderLayer::updateReflectionStyle):
  • rendering/RenderListItem.cpp: (WebCore::RenderListItem::styleDidChange):
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::createPanel): (WebCore::RenderMedia::createTimeDisplay): (WebCore::RenderMedia::changeOpacity):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::selectionBackgroundColor): (WebCore::RenderObject::selectionForegroundColor): (WebCore::RenderObject::createAnonymousBlock): (WebCore::RenderObject::setAnimatableStyle): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::setStyleInternal): (WebCore::RenderObject::arenaDelete): (WebCore::RenderObject::firstLineStyle): (WebCore::RenderObject::getPseudoStyle):
  • rendering/RenderObject.h: (WebCore::RenderObject::style):
  • rendering/RenderSVGBlock.cpp: (WebCore::RenderSVGBlock::setStyle):
  • rendering/RenderSVGBlock.h:
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::getScrollbarPseudoStyle): (WebCore::RenderScrollbar::updateScrollbarPart):
  • rendering/RenderScrollbar.h:
  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::styleDidChange): (WebCore::RenderSlider::createThumbStyle): (WebCore::RenderSlider::updateFromElement):
  • rendering/RenderSlider.h:
  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::styleDidChange): (WebCore::RenderTextControl::createInnerBlockStyle): (WebCore::RenderTextControl::createInnerTextStyle): (WebCore::RenderTextControl::createResultsButtonStyle): (WebCore::RenderTextControl::createCancelButtonStyle): (WebCore::RenderTextControl::createSubtreeIfNeeded): (WebCore::RenderTextControl::updatePlaceholderVisibility):
  • rendering/RenderTextControl.h:
  • rendering/TextControlInnerElements.cpp: (WebCore::TextControlInnerElement::attachInnerElement):
  • rendering/TextControlInnerElements.h:
  • rendering/style/KeyframeList.cpp: (WebCore::KeyframeList::clear): (WebCore::KeyframeList::operator==): (WebCore::KeyframeList::insert):
  • rendering/style/KeyframeList.h: (WebCore::KeyframeValue::KeyframeValue): (WebCore::KeyframeValue::~KeyframeValue): (WebCore::KeyframeValue::key): (WebCore::KeyframeValue::style):
  • rendering/style/RenderStyle.cpp: (WebCore::defaultStyle): (WebCore::RenderStyle::create): (WebCore::RenderStyle::createDefaultStyle): (WebCore::RenderStyle::clone): (WebCore::RenderStyle::RenderStyle): (WebCore::RenderStyle::getCachedPseudoStyle): (WebCore::RenderStyle::addCachedPseudoStyle):
  • rendering/style/RenderStyle.h: (WebCore::): (WebCore::InheritedFlags::operator!=):
  • svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::canvasResource):
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::buildStops):
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::resolveStyle):
  • svg/SVGStyledElement.h:
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::recalcStyle): (WebCore::SVGUseElement::attachShadowTree):
12:08 Changeset [37636] by andersca@apple.com

2008-10-16 Kenneth Russell <kenneth.russell@sun.com>

Reviewed and landed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=21587
NPN_PluginThreadAsyncCall does not work properly


  • plugins/PluginMainThreadScheduler.cpp: (WebCore::PluginMainThreadScheduler::dispatchCalls): Make sure to set m_callPending to false once the queue has been cleared.
11:57 Changeset [37635] by jmalonzo@webkit.org

2008-10-16 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix. Not reviewed.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setSmartInsertDeleteEnabled):
09:12 Changeset [37634] by jchaffraix@webkit.org

2008-10-16 Julien Chaffraix <jchaffraix@pleyo.com>

Rubber-stamped by Alexey Proskuryakov.

Remove duplicated code in this test.

  • http/tests/xmlhttprequest/xmlhttprequest-post-crash.html:
08:52 Changeset [37633] by darin@apple.com

WebKitTools:

2008-10-15 Glenn Wilson <gwilson@google.com>

Added new method to allow tests to disable smart editing in the course of a test.
This is a possible solution to bug .20655

Reviewed by Tim Hatcher.

  • DumpRenderTree/LayoutTestController.cpp: (setSmartInsertDeleteEnabledCallback): new method (LayoutTestController::staticFunctions): added new method to static list of callbacks
  • DumpRenderTree/LayoutTestController.h: added signature of new method
  • DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): added state resetting
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setSmartInsertDeleteEnabled): added new method
  • DumpRenderTree/win/DumpRenderTree.cpp: (resetWebViewToConsistentStateBeforeTesting): added state resetting
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setSmartInsertDeleteEnabled): added new method

LayoutTests:

2008-10-15 Glenn Wilson <gwilson@google.com>

Added tests to verify that smart editing can be disabled for some tests.

Reviewed by Tim Hatcher.

  • editing/deleting/smart-editing-disabled-expected.txt: Added.
  • editing/deleting/smart-editing-disabled.html: Added.
04:11 Changeset [37632] by mjs@apple.com

2008-10-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • fix for: REGRESSION: over 100 StructureIDs leak loading about:blank (result of fix for bug 21633)


Apparent slight progression (< 0.5%) on v8 benchmarks and SunSpider.

  • kjs/StructureID.cpp: (JSC::StructureID::~StructureID): Don't deref this object's parent's pointer to itself from the destructor; that doesn't even make sense. (JSC::StructureID::addPropertyTransition): Don't refer the single transition; the rule is that parent StructureIDs are ref'd but child ones are not. Refing the child creates a cycle.
01:00 Changeset [37631] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21609
Make MessagePorts protect their peers across heaps

JavaScriptCore:

  • JavaScriptCore.exp:
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::markCrossHeapDependentObjects):
  • kjs/JSGlobalObject.h:
  • kjs/collector.cpp: (JSC::Heap::collect): Before GC sweep phase, a function supplied by global object is now called for all global objects in the heap, making it possible to implement cross-heap dependencies.

WebCore:

  • dom/MessagePort.cpp: (WebCore::MessagePort::MessagePort):
  • dom/MessagePort.h: (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible): (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible): Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this means that the implementation object knows about JS bindings - but it is not possible to access JS wrappers from another heap/thread.
  • bindings/js/JSDOMBinding.cpp: (WebCore::markCrossHeapDependentObjectsForDocument):
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
  • bindings/js/JSDOMWindowBase.h: Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object hasn't been marked normally, it is marked as inaccessible. It is then marked manually, as long as its entangled port is accessible itself.

10/15/08:

23:41 Changeset [37630] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21610
run-webkit-threads --threaded crashes in StructureID destructor

  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID): Protect access to a static (debug-only) HashSet with a lock.
22:31 Changeset [37629] by weinig@apple.com

2008-10-15 Sam Weinig <sam@webkit.org>

Reviewed by Goeffrey Garen.

Add function to dump statistics for StructureIDs.

  • kjs/StructureID.cpp: (JSC::StructureID::dumpStatistics): (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID):
  • kjs/StructureID.h:
21:56 Changeset [37628] by jhoneycutt@apple.com

2008-10-15 Jon Honeycutt <jhoneycutt@apple.com>

Remove unneeded check of whether a Page defers loading before running it
in a modal dialog.

No test possible.

Reviewed by Tim Hatcher.

  • page/Chrome.cpp:
21:36 Changeset [37627] by cwzwarich@webkit.org

2008-10-15 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21633: Avoid using a HashMap when there is only a single transition
<https://bugs.webkit.org/show_bug.cgi?id=21633>

This is a 0.8% speedup on SunSpider and between a 0.5% and 1.0% speedup
on the V8 benchmark suite, depending on which harness we use. It will
also slightly reduce the memory footprint of a StructureID.

  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID): (JSC::StructureID::addPropertyTransition):
  • kjs/StructureID.h: (JSC::StructureID::):
20:09 Changeset [37626] by mrowe@apple.com

Fix a leak of a CFStringRef reported by the build bot.

Reviewed by Jon Honeycutt.

  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased
NSString rather than manually releasing a CFStringRef when we're done with it.

19:36 Changeset [37625] by ggaren@apple.com

2008-10-15 Csaba Osztrogonac <oszi@inf.u-szeged.hu>

Reviewed by Geoffrey Garen.

1.40% speedup on SunSpider, 1.44% speedup on V8. (Linux)


No change on Mac.

  • VM/Machine.cpp: (JSC::fastIsNumber): ALWAYS_INLINE modifier added.
18:14 Changeset [37624] by andersca@apple.com

2008-10-15 Kenneth Russell <kenneth.russell@sun.com>

Reviewed and landed by Anders Carlsson.

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


Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints.


  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]):
18:05 Changeset [37623] by mrowe@apple.com

<rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/

Restore some code related to the CoreGraphics drawing model that was misplaced in r37131.

Reviewed by Dan Bernstein.

  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView invalidateRegion:]):
(-[WebBaseNetscapePluginView setVariable:value:]):

16:33 Changeset [37622] by ggaren@apple.com

JavaScriptCore:

2008-10-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
Start the debugger without reloading the inspected page

  • VM/CodeBlock.h: (JSC::EvalCodeCache::get): Updated for tweak to parsing API.
  • kjs/CollectorHeapIterator.h: Added. An iterator for the object heap, which we use to find all the live functions and recompile them.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): Updated for tweak to parsing API.
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction): Updated for tweak to parsing API.
  • kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction): Try to validate our SourceCode in debug builds by ASSERTing that it's syntactically valid. This doesn't catch all SourceCode bugs, but it catches a lot of them.
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): Updated for tweak to parsing API.
  • kjs/Parser.cpp: (JSC::Parser::parse):
  • kjs/Parser.h: (JSC::Parser::parse): Tweaked the parser to make it possible to parse without an ExecState, and to allow the client to specify a debugger to notify (or not) about the source we parse. This allows the inspector to recompile even though no JavaScript is executing, then notify the debugger about all source code when it's done.
  • kjs/Shell.cpp: (prettyPrintScript): Updated for tweak to parsing API.
  • kjs/SourceRange.h: (JSC::SourceCode::isNull): Added to help with ASSERTs.
  • kjs/collector.cpp: (JSC::Heap::heapAllocate): (JSC::Heap::sweep): (JSC::Heap::primaryHeapBegin): (JSC::Heap::primaryHeapEnd):
  • kjs/collector.h: (JSC::): Moved a bunch of declarations around to enable compilation of CollectorHeapIterator.
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate): Updated for tweak to parsing API.
  • kjs/lexer.h: (JSC::Lexer::sourceCode): BUG FIX: Calculate SourceCode ranges relative to the SourceCode range in which we're lexing, otherwise nested functions that are compiled individually get SourceCode ranges that don't reflect their nesting.
  • kjs/nodes.cpp: (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::finishParsing): (JSC::FunctionBodyNode::create): (JSC::FunctionBodyNode::copyParameters):
  • kjs/nodes.h: (JSC::ScopeNode::setSource): (JSC::FunctionBodyNode::parameterCount): Added some helper functions for copying one FunctionBodyNode's parameters to another. The recompiler uses these when calling "finishParsing".

WebCore:

2008-10-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
Start the debugger without reloading the inspected page

  • WebCore.base.exp: New symbols.
  • ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
  • ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
  • WebCore.xcodeproj/project.pbxproj: New forwarding headers.
  • inspector/InspectorController.cpp: (WebCore::InspectorController::setWindowVisible): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::startDebugging):
  • inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage to startDebugging, and changed its behavior to match.
  • inspector/JavaScriptDebugListener.h:
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::addListener): (WebCore::JavaScriptDebugServer::removeListener): (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): (WebCore::JavaScriptDebugServer::willAddFirstListener): (WebCore::JavaScriptDebugServer::didRemoveLastListener):
  • inspector/JavaScriptDebugServer.h: Refactored the JavaScriptDebugServer to centralize handling of adding the first listener and removing the last. Then, added a feature to recompile all JS functions in these cases. This allows us to dynamically add and remove hooks like the debugger hooks without reloading the page.
  • inspector/front-end/ScriptsPanel.js:
  • English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage => startDebugging rename. Removed all UI that claimed that starting the debugger would reload the page.

WebKit/mac:

2008-10-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
Start the debugger without reloading the inspected page

WebKit/win:

2008-10-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Cameron Zwarich.

Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
Start the debugger without reloading the inspected page

  • WebInspector.cpp: (WebInspector::toggleDebuggingJavaScript): Updated for rename.
15:22 Changeset [37621] by zecke@webkit.org

2008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>

Build fix attempt.

Try to fix static/non-static declaration of g_string_append_uri_escape
by renaming that string. Another look needs to be taken.

  • platform/gtk/guriescape.c: (_webcore_g_string_append_uri_escaped): (_webcore_g_uri_escape_string):
15:10 Changeset [37620] by adele@apple.com

2008-10-15 Adele Peterson <adele@apple.com>

Attempt to fix the Tiger build.

  • platform/network/mac/ResourceHandleMac.mm:
15:08 Changeset [37619] by zecke@webkit.org

Build fix for Cairo after changes to BitmapeImage.h

15:01 Changeset [37618] by zecke@webkit.org

2008-10-15 Jeff Cook <cookiecaper@gmail.com>

Reviewed by Holger Freyther.

Stop SIGSEGV when leaving a page with a Flash object by reordering
window destruction and plugin stop.

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

  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::stop):
15:01 Changeset [37617] by mrowe@apple.com

<rdar://problem/5803460> A file named StringsNotToBeLocalized.txt file is installed Webkit.framework/Resources.

Rubber-stamped by Brady Eidson.

  • WebKit.xcodeproj/project.pbxproj: Don't install StringsNotToBeLocalized.txt.
14:53 Changeset [37616] by adele@apple.com

2008-10-15 Adele Peterson <adele@apple.com>

Reviewed by Sam Weinig.

Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.

  • platform/network/ResourceHandle.h:
  • platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists): (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::cancel): (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
14:11 Changeset [37615] by pkasting@chromium.org

2008-10-15 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

Qt build bustage fix.

  • platform/graphics/qt/StillImageQt.h: (WebCore::StillImage::destroyDecodedData):
14:06 Changeset [37614] by hyatt@apple.com

2008-10-15 David Hyatt <hyatt@apple.com>

Make sure scrollbar styles get deleted if they aren't assigned to a renderer.

Reviewed by Mark Rowe

  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::getScrollbarPseudoStyle): (WebCore::RenderScrollbar::updateScrollbarPart):
13:53 Changeset [37613] by zecke@webkit.org

2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=21211
[CURL] Upload doesn't work because cancel is called

FormDataStream::read returns 0 when retrieving data from the form
fails, but also when there is no more data to send. This means that
ResourceHandleManager::cancel is always called even when the data was
successfully sent.

Check if there are more elements in the form before calling
FormDataStream::read.

  • platform/network/curl/FormDataStreamCurl.cpp: (WebCore::FormDataStream::hasMoreElements):
  • platform/network/curl/FormDataStreamCurl.h:
  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::readCallback):
13:38 Changeset [37612] by pkasting@chromium.org

2008-10-15 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
Account for paint and timer lag when animating images. Also pretend
that images whose animations were paused (by becoming invisible)
continued to animate, by "catching up" to the correct frame when they're
shown again.

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::cacheFrame): (WebCore::BitmapImage::frameIsCompleteAtIndex): (WebCore::BitmapImage::frameDurationAtIndex): (WebCore::BitmapImage::frameHasAlphaAtIndex): (WebCore::BitmapImage::repetitionCount): (WebCore::BitmapImage::shouldAnimate): (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::resetAnimation): (WebCore::BitmapImage::advanceAnimation): (WebCore::BitmapImage::internalAdvanceAnimation): (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
  • platform/graphics/BitmapImage.h: (WebCore::FrameData::FrameData): (WebCore::BitmapImage::):
  • platform/graphics/GeneratedImage.h: (WebCore::GeneratedImage::destroyDecodedData):
  • platform/graphics/Image.h:
  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::draw):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::draw):
  • platform/graphics/cg/PDFDocumentImage.h: (WebCore::PDFDocumentImage::destroyDecodedData):
  • platform/graphics/qt/ImageQt.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::draw):
  • platform/graphics/wx/ImageWx.cpp: (WebCore::FrameData::clear): (WebCore::BitmapImage::draw):
  • svg/graphics/SVGImage.h: (WebCore::SVGImage::destroyDecodedData):
13:32 Changeset [37611] by bdakin@apple.com

WebCore:

2008-10-14 Maxime Britto <britto@apple.com>

Reviewed by Darin Adler, tweaked and landed by Beth.

  • WebCore.base.exp: Exposes two functions to be able to create a selection from a point on the screen. Also exposes the new TextIterator::currentNode function.
  • WebCore/editing/TextIterator.cpp: (TextIterator::currentNode) : New function that returns the current text node or NULL if there is no text node.

WebKit:

2008-10-14 Maxime Britto <britto@apple.com>

Reviewed by Darin Adler.

  • WebKit.xcodeproj/project.pbxproj: Added two files for the WebTextIterator, and made the WebTextIterator.h private

WebKit/mac:

2008-10-14 Maxime Britto <britto@apple.com>

Reviewed by Darin Adler.

Added SPI to use WebCore's TextIterator with WebKit.

  • WebView/WebTextIterator.h: Added.
  • WebView/WebTextIterator.mm: Added. (-[WebTextIteratorPrivate dealloc]): (-[WebTextIterator dealloc]): (-[WebTextIterator initWithRange:]): Creates a TextIterator instance (-[WebTextIterator advance]): Asks the iterator to advance() . (-[WebTextIterator currentNode]): Returns the current DOMNode from the iterator (-[WebTextIterator currentText]): Returns the current text from the iterator (-[WebTextIterator atEnd]): Indicated whether the iterator has reached the end of the range.
  • WebView/WebView.h:
  • WebView/WebView.mm: (-[WebView textIteratorForRect:]): Returns a WebTextIterator with the DOMRange contained in the rectangle given as a parameter.
13:18 Changeset [37610] by zecke@webkit.org

2008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=20664
[GTK] File names are not always encodable in UTF-8

On Linux file names are just raw data and cannot always be directly
encoded in UTF-8 or in any other encodings, so we escape them before
storing the file name in a String and unescape them before passing
them to native functions handling files.

  • GNUmakefile.am:
  • platform/FileSystem.h:
  • platform/gtk/FileChooserGtk.cpp: (WebCore::stringByAdoptingFileSystemRepresentation): (WebCore::FileChooser::basenameForWidth):
  • platform/gtk/FileSystemGtk.cpp: (WebCore::filenameToString): (WebCore::filenameFromString): (WebCore::filenameForDisplay): (WebCore::fileExists): (WebCore::deleteFile): (WebCore::deleteEmptyDirectory): (WebCore::getFileSize): (WebCore::getFileModificationTime): (WebCore::makeAllDirectories): (WebCore::homeDirectoryPath): (WebCore::pathGetFileName): (WebCore::listDirectory):
  • platform/gtk/KURLGtk.cpp: (WebCore::KURL::fileSystemPath):
  • platform/gtk/SharedBufferGtk.cpp: (WebCore::SharedBuffer::createWithContentsOfFile):
  • platform/gtk/guriescape.c: Added. (is_valid): (gunichar_ok): (g_string_append_uri_escaped): (_webcore_g_uri_escape_string):
  • platform/gtk/guriescape.h: Added.
11:23 Changeset [37609] by aroben@apple.com

Export WTF::Mutex::tryLock

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
11:19 Changeset [37608] by sfalken@apple.com

Merge r37596.

11:12 Changeset [37607] by sfalken@apple.com

New tag.

10:21 Changeset [37606] by timothy@apple.com

Clean up user agent generation to simplify the _standardUserAgentWithApplicationName:
class method to not require a WebKit version.

Reviewed by Darin Adler.

  • WebView/WebView.mm: (+[WebView _standardUserAgentWithApplicationName:]): Create the WebKit version. (-[WebView WebCore::_userAgentForURL:]): Use the simplified _standardUserAgentWithApplicationName:. Remove code that created the WebKit version.
  • WebView/WebViewPrivate.h: Change the method name of _standardUserAgentWithApplicationName:.
10:02 Changeset [37605] by darin@apple.com

2008-10-15 Dirk Schulze <vbs85@gmx.de>

Reviewed by Eric Seidel.

  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::spreadMethod): (WebCore::GraphicsContext::setSpreadMethod):
  • platform/graphics/GraphicsContext.h: (WebCore::):
  • platform/graphics/GraphicsContextPrivate.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::applySpreadMethod): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::applySpreadMethod): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath):
  • svg/GradientAttributes.h: (WebCore::GradientAttributes::GradientAttributes): (WebCore::GradientAttributes::spreadMethod): (WebCore::GradientAttributes::setSpreadMethod):
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::parseMappedAttribute):
  • svg/SVGGradientElement.h:
  • svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::collectGradientProperties):
  • svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::collectGradientProperties):
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::operator<<): (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): (WebCore::SVGPaintServerGradient::spreadMethod): (WebCore::SVGPaintServerGradient::setGradientSpreadMethod): (WebCore::SVGPaintServerGradient::externalRepresentation):
  • svg/graphics/SVGPaintServerGradient.h:
  • svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: (WebCore::SVGPaintServerGradient::setup):
  • svg/graphics/qt/SVGPaintServerGradientQt.cpp: (WebCore::SVGPaintServerGradient::setup):
09:42 Changeset [37604] by darin@apple.com

2008-10-15 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Darin Adler.

str(n)icmp, strdup and vsnprintf are not available on Windows CE,
they are called _str(n)icmp, etc. instead

  • wtf/StringExtras.h: Added inline function implementations.
09:34 Changeset [37603] by jchaffraix@webkit.org

2008-10-15 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by David Hyatt.

Bug 20490: [XBL] XBLBinding should be split into several classes

  • Distribute XBLBinding's methods and attributes between 2 new classes:
  • XBLBindingPrototype: holds and manages the binding element.
  • XBLDocumentPrototype: loads and stores the binding document.
  • Make the 2 new classes RefCounted as they should be shared between multiple bindings.

No functional changes, thus no test cases.

  • GNUmakefile.am: Add the 2 new files to compile.
  • WebCore.pro: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • xbl/XBLBinding.cpp: (WebCore::XBLBinding::XBLBinding): Take an XBLBindingPrototype. (WebCore::XBLBinding::~XBLBinding): Zero the XBLBindingPrototype. (WebCore::XBLBinding::uri):
  • xbl/XBLBinding.h:
  • xbl/XBLBindingManager.cpp: (WebCore::XBLBindingManager::addBinding):
  • xbl/XBLBindingPrototype.cpp: Copied from WebCore/xbl/XBLBinding.cpp. (WebCore::XBLBindingPrototype::XBLBindingPrototype): (WebCore::XBLBindingPrototype::~XBLBindingPrototype): (WebCore::XBLBindingPrototype::updateBindingElement): Renamed getBindingElement to updateBindingElement.
  • xbl/XBLBindingPrototype.h: Copied from WebCore/xbl/XBLBinding.h. (WebCore::XBLBindingPrototype::create):
  • xbl/XBLDocumentPrototype.cpp: Copied from WebCore/xbl/XBLBinding.cpp. (WebCore::XBLDocumentPrototype::XBLDocumentPrototype): (WebCore::XBLDocumentPrototype::~XBLDocumentPrototype): (WebCore::XBLDocumentPrototype::setXBLDocument):
  • xbl/XBLDocumentPrototype.h: Copied from WebCore/xbl/XBLBinding.h. (WebCore::XBLDocumentPrototype::create): (WebCore::XBLDocumentPrototype::bindingDocument):
02:35 Changeset [37602] by cwzwarich@webkit.org

2008-10-15 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Cameron Zwarich.

<https://bugs.webkit.org/show_bug.cgi?id=20912>
Use simple uint32_t multiplication on op_mul if both operands are
immediate number and they are between zero and 0x7FFF.

  • VM/Machine.cpp: (JSC::Machine::privateExecute):

10/14/08:

22:22 Changeset [37601] by darin@chromium.org

2008-10-09 Darin Fisher <darin@chromium.org>

Reviewed by Sam Weinig.

Make pan scrolling a platform configurable option
https://bugs.webkit.org/show_bug.cgi?id=21515

  • page/EventHandler.cpp: (WebCore::EventHandler::handleAutoscroll): (WebCore::EventHandler::autoscrollTimerFired): (WebCore::EventHandler::stopAutoscrollTimer): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::keyEvent):
22:21 Changeset [37600] by darin@chromium.org

2008-10-09 Darin Fisher <darin@chromium.org>

Reviewed by Sam Weinig.

Make pan scrolling a platform configurable option.
https://bugs.webkit.org/show_bug.cgi?id=21515

  • wtf/Platform.h: Add ENABLE_PAN_SCROLLING
22:15 Changeset [37599] by darin@chromium.org

2008-10-10 Darin Fisher <darin@chromium.org>

Reviewed by Darin Adler.

Add some PLATFORM(CHROMIUM) ifdefs to WebCore
https://bugs.webkit.org/show_bug.cgi?id=21511

  • loader/FTPDirectoryDocument.cpp:
  • loader/FTPDirectoryParser.cpp:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument):
  • platform/ContextMenuItem.h:
  • platform/Cursor.h:
  • platform/DragData.h:
  • platform/DragImage.h:
  • platform/Pasteboard.h:
  • platform/PlatformKeyboardEvent.h: (WebCore::PlatformKeyboardEvent::isSystemKey):
  • platform/PlatformMenuDescription.h:
  • platform/PlatformMouseEvent.h:
  • platform/PlatformWheelEvent.h:
  • platform/PopupMenu.h:
  • platform/ScrollView.h:
  • platform/Widget.h:
  • platform/network/NetworkStateNotifier.h:
20:41 Changeset [37598] by timothy@apple.com

Make the user agent generation method a class method and cache the WebKit
version in a static to prevent generating it every time. This is needed
clean up to fix <rdar://problem/6292331>. Moved all code to WebPrivate so
the class method can be in the WebViewPrivate.h header.

Reviewed by John Sullivan.

  • WebView/WebView.mm: (callGestalt): Moved. Same code. (createMacOSXVersionString): Moved. Same code. (createUserVisibleWebKitVersionString): Moved from _userVisibleBundleVersionFromFullVersion: and returns a copied string. (+[WebView _standardUserAgentWithApplicationName:andWebKitVersion:]): Made into a class method. (-[WebView WebCore::_userAgentForURL:]): Changed to cache the WebKit version.
  • WebView/WebViewPrivate.h: Added +_standardUserAgentWithApplicationName:andWebKitVersion:.
19:39 Changeset [37597] by mjs@apple.com

2008-10-14 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Sam Weinig.



Turns out GCC 4.2 is still a (small) regression, we'll have to do
more work to turn it on.

  • Configurations/DebugRelease.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::cti_op_convert_this): (JSC::Machine::cti_op_end): (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_timeout_check): (JSC::Machine::cti_register_file_check): (JSC::Machine::cti_op_loop_if_less): (JSC::Machine::cti_op_loop_if_lesseq): (JSC::Machine::cti_op_new_object): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_second): (JSC::Machine::cti_op_put_by_id_generic): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_new_func): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain): (JSC::Machine::cti_op_new_array): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_put_by_val): (JSC::Machine::cti_op_put_by_val_array): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_jless): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_new_func_exp): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_post_dec): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_new_regexp): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_get_pnames): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_push_scope): (JSC::Machine::cti_op_pop_scope): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_push_new_scope): (JSC::Machine::cti_op_jmp_scopes): (JSC::Machine::cti_op_put_by_index): (JSC::Machine::cti_op_switch_imm): (JSC::Machine::cti_op_switch_char): (JSC::Machine::cti_op_switch_string): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_op_put_getter): (JSC::Machine::cti_op_put_setter): (JSC::Machine::cti_op_new_error): (JSC::Machine::cti_op_debug): (JSC::Machine::cti_vm_throw):
  • VM/Machine.h:
  • masm/X86Assembler.h: (JSC::X86Assembler::emitRestoreArgumentReference): (JSC::X86Assembler::emitRestoreArgumentReferenceForTrampoline):
  • wtf/Platform.h:
17:23 Changeset [37596] by sfalken@apple.com

Build fix. Fix dependency chain in sln file.

15:43 Changeset [37595] by pam@chromium.org

2008-10-14 Pamela Greene <pam@chromium.org>

Add test to verify popup properties while they're opening.
The expected result is currently not the desired result.
See https://bugs.webkit.org/show_bug.cgi?id=21419 and
https://bugs.webkit.org/show_bug.cgi?id=21597 .

Reviewed by Eric Seidel.

  • fast/dom/Window/window-open-pending-url-expected.txt: Added.
  • fast/dom/Window/window-open-pending-url.html: Added.
15:16 Changeset [37594] by adachan@apple.com

Fix windows build.

Reviewed by Sam Weinig.

  • DumpRenderTree/cg/PixelDumpSupportCG.cpp:
  • DumpRenderTree/config.h:
  • DumpRenderTree/win/DumpRenderTreeWin.h:
  • DumpRenderTree/win/LayoutTestControllerWin.cpp:
  • DumpRenderTree/win/UIDelegate.cpp:
15:11 Changeset [37593] by aroben@apple.com

Fix Bug 21602: Bugzilla times out trying to display formatted diff for attachment 24345

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

Reviewed by Dave Kilzer.

  • PrettyPatch/PrettyPatch.rb: (PrettyPatch.BINARY_FILE_MARKER_FORMAT): Added. (PrettyPatch.FileDiff.initialize): If any of the lines in the diff are a binary file marker, mark this FileDiff as binary and stop trying to process the lines. (PrettyDiff.FileDiff.to_html): If we're binary, just print a string saying so.
14:31 Changeset [37592] by cmarrin@apple.com

2008-10-14 Chris Marrin <cmarrin@apple.com>

Reviewed by Darin Adler.

Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
Optimize keyframe style sheet changes by avoiding styleSheetChanged()

Test: css3/change-keyframes.html

  • css/WebKitCSSKeyframesRule.cpp: (WebCore::WebKitCSSKeyframesRule::append): (WebCore::WebKitCSSKeyframesRule::deleteRule):
13:35 Changeset [37591] by hyatt@apple.com

WebCore:

2008-10-14 David Hyatt <hyatt@apple.com>

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

Clean up background and overflow propagation from the body to the viewport. Make it match the
latest CSS2.1 spec thinking.

Reviewed by Adam Roben

Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
(available at http://simon.html5.org/test/css/magic-body/).

  • dom/Document.cpp: (WebCore::Document::body):
  • page/FrameView.cpp: (WebCore::FrameView::layout):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::repaintLayerRectsForImage):

LayoutTests:

2008-10-14 David Hyatt <hyatt@apple.com>

Add layout tests for body propagation of overflow and background to the viewport.

Reviewed by Adam Roben

  • fast/body-propagation: Added.
  • fast/body-propagation/background-color: Added.
  • fast/body-propagation/background-color/001-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/001.html: Added.
  • fast/body-propagation/background-color/002-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/002.html: Added.
  • fast/body-propagation/background-color/003-declarative.xhtml: Added.
  • fast/body-propagation/background-color/003-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/003.html: Added.
  • fast/body-propagation/background-color/004-declarative.xhtml: Added.
  • fast/body-propagation/background-color/004-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/004.html: Added.
  • fast/body-propagation/background-color/005-declarative.xhtml: Added.
  • fast/body-propagation/background-color/005-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/005.html: Added.
  • fast/body-propagation/background-color/006-declarative.xhtml: Added.
  • fast/body-propagation/background-color/006-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/006.html: Added.
  • fast/body-propagation/background-color/007-declarative.xhtml: Added.
  • fast/body-propagation/background-color/007-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/007.html: Added.
  • fast/body-propagation/background-color/008-xhtml.xhtml: Added.
  • fast/body-propagation/background-color/008.html: Added.
  • fast/body-propagation/background-image: Added.
  • fast/body-propagation/background-image/001-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/001.html: Added.
  • fast/body-propagation/background-image/002-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/002.html: Added.
  • fast/body-propagation/background-image/003-declarative.xhtml: Added.
  • fast/body-propagation/background-image/003-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/003.html: Added.
  • fast/body-propagation/background-image/004-declarative.xhtml: Added.
  • fast/body-propagation/background-image/004-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/004.html: Added.
  • fast/body-propagation/background-image/005-declarative.xhtml: Added.
  • fast/body-propagation/background-image/005-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/005.html: Added.
  • fast/body-propagation/background-image/006-declarative.xhtml: Added.
  • fast/body-propagation/background-image/006-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/006.html: Added.
  • fast/body-propagation/background-image/007-declarative.xhtml: Added.
  • fast/body-propagation/background-image/007-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/007.html: Added.
  • fast/body-propagation/background-image/008-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/008.html: Added.
  • fast/body-propagation/background-image/009-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/009.html: Added.
  • fast/body-propagation/background-image/010-xhtml.xhtml: Added.
  • fast/body-propagation/background-image/010.html: Added.
  • fast/body-propagation/background-image/resources: Added.
  • fast/body-propagation/background-image/resources/lime.png: Added.
  • fast/body-propagation/background-image/resources/red.png: Added.
  • fast/body-propagation/background-image/resources/white.png: Added.
  • fast/body-propagation/background-image/resources/yellow.png: Added.
  • fast/body-propagation/overflow: Added.
  • fast/body-propagation/overflow/001-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/001.html: Added.
  • fast/body-propagation/overflow/002-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/002.html: Added.
  • fast/body-propagation/overflow/003-declarative.xhtml: Added.
  • fast/body-propagation/overflow/003-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/003.html: Added.
  • fast/body-propagation/overflow/004-declarative.xhtml: Added.
  • fast/body-propagation/overflow/004-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/004.html: Added.
  • fast/body-propagation/overflow/005-declarative.xhtml: Added.
  • fast/body-propagation/overflow/005-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/005.html: Added.
  • fast/body-propagation/overflow/006-declarative.xhtml: Added.
  • fast/body-propagation/overflow/006-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/006.html: Added.
  • fast/body-propagation/overflow/007-declarative.xhtml: Added.
  • fast/body-propagation/overflow/007-xhtml.xhtml: Added.
  • fast/body-propagation/overflow/007.html: Added.
  • platform/mac/fast/body-propagation: Added.
  • platform/mac/fast/body-propagation/background-color: Added.
  • platform/mac/fast/body-propagation/background-color/001-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/001-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/001-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/001-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/001-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/001-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/002-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/002-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/002-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/002-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/002-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/002-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/003-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/003-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/003-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/003-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/003-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/003-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/003-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/003-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/003-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/004-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/004-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/004-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/004-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/004-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/004-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/004-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/004-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/004-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/005-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/005-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/005-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/005-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/005-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/005-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/005-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/005-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/005-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/006-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/006-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/006-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/006-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/006-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/006-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/006-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/006-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/006-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/007-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/007-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/007-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/007-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/007-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/007-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/007-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/007-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/007-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/008-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/008-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/008-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-color/008-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-color/008-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-color/008-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image: Added.
  • platform/mac/fast/body-propagation/background-image/001-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/001-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/001-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/001-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/001-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/001-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/002-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/002-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/002-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/002-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/002-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/002-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/003-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/003-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/003-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/003-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/003-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/003-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/003-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/003-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/003-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/004-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/004-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/004-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/004-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/004-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/004-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/004-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/004-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/004-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/005-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/005-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/005-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/005-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/005-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/005-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/005-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/005-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/005-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/006-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/006-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/006-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/006-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/006-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/006-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/006-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/006-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/006-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/007-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/007-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/007-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/007-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/007-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/007-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/007-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/007-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/007-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/008-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/008-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/008-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/008-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/008-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/008-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/009-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/009-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/009-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/009-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/009-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/009-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/010-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/010-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/010-expected.txt: Added.
  • platform/mac/fast/body-propagation/background-image/010-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/background-image/010-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/background-image/010-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow: Added.
  • platform/mac/fast/body-propagation/overflow/001-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/001-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/001-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/001-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/001-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/001-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/002-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/002-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/002-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/002-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/002-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/002-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/003-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/003-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/003-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/003-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/003-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/003-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/003-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/003-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/003-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/004-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/004-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/004-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/004-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/004-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/004-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/004-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/004-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/004-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/005-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/005-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/005-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/005-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/005-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/005-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/005-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/005-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/005-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/006-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/006-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/006-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/006-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/006-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/006-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/006-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/006-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/006-xhtml-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/007-declarative-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/007-declarative-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/007-declarative-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/007-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/007-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/007-expected.txt: Added.
  • platform/mac/fast/body-propagation/overflow/007-xhtml-expected.checksum: Added.
  • platform/mac/fast/body-propagation/overflow/007-xhtml-expected.png: Added.
  • platform/mac/fast/body-propagation/overflow/007-xhtml-expected.txt: Added.
12:55 Changeset [37590] by weinig@apple.com

WebCore:

2008-10-14 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed and landed by Sam Weinig.

Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
remove NSResolver code, leaving only checking for selectors that need
NS resolution and throwing a coresponding error.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSDocumentCustom.cpp:
  • bindings/js/JSDocumentFragmentCustom.cpp:
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSNSResolver.cpp: Removed.
  • bindings/js/JSNSResolver.h: Removed.
  • dom/Document.idl:
  • dom/DocumentFragment.idl:
  • dom/Element.idl:
  • dom/NSResolver.h: Removed.
  • dom/NSResolver.idl: Removed.
  • dom/Node.h:
  • dom/Node.cpp: (WebCore::forEachTagSelector): (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): (WebCore::selectorNeedsNamespaceResolution): (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll):

LayoutTests:

2008-10-14 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed and landed by Sam Weinig.

Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
remove no longer relevant NSResolver tests.

  • fast/dom/SelectorAPI/NSResolver-basic-expected.txt: Removed.
  • fast/dom/SelectorAPI/NSResolver-basic.xhtml: Removed.
  • fast/dom/SelectorAPI/NSResolver-exceptions-expected.txt: Removed.
  • fast/dom/SelectorAPI/NSResolver-exceptions.xhtml: Removed.
  • fast/dom/SelectorAPI/resources/NSResolver-exceptions.js: Removed.
12:19 Changeset [37589] by darin@apple.com

2008-10-14 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig (all but the FormDataListItem rename).

  • html/FormDataList.cpp: Removed appendFile since it's now inline. Also took incorrect old copyrights off of this file that are left over from when it was split.
  • html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and made it a member of FormDataList. Changed it to hold a File object instead of a path. And made its data members private. Changed FormDataList::appendFile accordingly.
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Updated for above changes. Removed the code that special-cases HTMLInputElement, because now the FormDataListItem has everything we need. And if there are multiple files, we'll get multiple list items for them.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Changed the code for <input type=file> to use File objects instead of path strings and also to append multiple files if the file list has them.
12:17 Changeset [37588] by timothy@apple.com

Make prepare-ChangeLog populate the changed functions for JavaScript files.

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

Reviewed by David Kilzer.

  • Scripts/prepare-ChangeLog: (get_function_line_ranges): Call get_function_line_ranges_for_javascript for files that end with ".js". (get_function_line_ranges_for_javascript): Find functions, anonymous functions and getters/setters.
11:43 Changeset [37587] by darin@apple.com

2008-10-14 Alp Toker <alp@nuanti.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=16299
Add a config.h file to DRT

Add a config.h to DumpRenderTree and reduce use of DumpRenderTree.h as
an ad-hoc config header.

  • DumpRenderTree/AccessibilityController.cpp:
  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/GCController.cpp:
  • DumpRenderTree/LayoutTestController.cpp:
  • DumpRenderTree/WorkQueue.cpp:
  • DumpRenderTree/config.h: Added.
  • DumpRenderTree/gtk/DumpRenderTree.cpp:
  • DumpRenderTree/gtk/GCControllerGtk.cpp:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
  • DumpRenderTree/gtk/WorkQueueItemGtk.cpp:
  • DumpRenderTree/win/AccessibilityControllerWin.cpp:
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:
  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/DumpRenderTreeWin.h:
  • DumpRenderTree/win/EditingDelegate.cpp:
  • DumpRenderTree/win/EventSender.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.cpp:
  • DumpRenderTree/win/GCControllerWin.cpp:
  • DumpRenderTree/win/MD5.cpp:
  • DumpRenderTree/win/PixelDumpSupportWin.cpp:
  • DumpRenderTree/win/PolicyDelegate.cpp:
  • DumpRenderTree/win/ResourceLoadDelegate.cpp:
  • DumpRenderTree/win/WorkQueueItemWin.cpp:
  • GNUmakefile.am:
09:22 Changeset [37586] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=20256
Array.push and other standard methods disappear

  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::~JSGlobalData): Don't use static hash tables even on platforms that don't enable JSC_MULTIPLE_THREADS - these tables reference IdentifierTable, which is always per-GlobalData.
05:50 Changeset [37585] by vestbo@webkit.org

2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Fix QtWebKit scrollbar painting errors

01:46 Changeset [37584] by vestbo@webkit.org

2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Clip painter to dirty rect before passing on to WebKit

This was previously done in ScrollViewQt, but after the
refactoring of ScrollView we need to do it in QWebFrame
instead, similar to Safari/Win.

01:43 Changeset [37583] by vestbo@webkit.org

2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Fix scrollbar arrows for horizontal scrollbars

01:38 Changeset [37582] by vestbo@webkit.org

2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Use style-painter to draw scrollbars in ScrollbarThemeQt

This has the benefit of setting up the painter properly without
antialiasing and saving and restoring the brush. It also ensures
that we use the style of the QWebView over the QApplication style
if possible.

01:21 Changeset [37581] by mjs@apple.com

2008-10-14 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • always use CTI_ARGUMENTS and CTI_ARGUMENTS_FASTCALL


This is a small regression for GCC 4.0, but simplifies the code
for future improvements and lets us focus on GCC 4.2+ and MSVC.

  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/Machine.cpp: (JSC::Machine::cti_op_convert_this): (JSC::Machine::cti_op_end): (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_timeout_check): (JSC::Machine::cti_register_file_check): (JSC::Machine::cti_op_loop_if_less): (JSC::Machine::cti_op_loop_if_lesseq): (JSC::Machine::cti_op_new_object): (JSC::Machine::cti_op_put_by_id): (JSC::Machine::cti_op_put_by_id_second): (JSC::Machine::cti_op_put_by_id_generic): (JSC::Machine::cti_op_put_by_id_fail): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_new_func): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_vm_compile): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments): (JSC::Machine::cti_op_ret_profiler): (JSC::Machine::cti_op_ret_scopeChain): (JSC::Machine::cti_op_new_array): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_JSConstruct): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_resolve_func): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_put_by_val): (JSC::Machine::cti_op_put_by_val_array): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_jless): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue): (JSC::Machine::cti_op_post_inc): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_resolve_with_base): (JSC::Machine::cti_op_new_func_exp): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_post_dec): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_new_regexp): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_get_pnames): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_push_scope): (JSC::Machine::cti_op_pop_scope): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_push_new_scope): (JSC::Machine::cti_op_jmp_scopes): (JSC::Machine::cti_op_put_by_index): (JSC::Machine::cti_op_switch_imm): (JSC::Machine::cti_op_switch_char): (JSC::Machine::cti_op_switch_string): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_op_put_getter): (JSC::Machine::cti_op_put_setter): (JSC::Machine::cti_op_new_error): (JSC::Machine::cti_op_debug): (JSC::Machine::cti_vm_throw):
  • VM/Machine.h:
  • masm/X86Assembler.h: (JSC::X86Assembler::emitRestoreArgumentReference): (JSC::X86Assembler::emitRestoreArgumentReferenceForTrampoline):
  • wtf/Platform.h:
00:49 Changeset [37580] by jhoneycutt@apple.com

2008-10-14 Jon Honeycutt <jhoneycutt@apple.com>

Export currentThread.

Rubber-stamped by Dan Bernstein.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:

10/13/08:

23:45 Changeset [37579] by hyatt@apple.com

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

Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
for how to add support for the rest.

Reviewed by Oliver Hunt

  • page/animation/AnimationBase.cpp: (WebCore::ensurePropertyMap):
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::fillOpacity): (WebCore::RenderStyle::setFillOpacity): (WebCore::RenderStyle::strokeOpacity): (WebCore::RenderStyle::setStrokeOpacity): (WebCore::RenderStyle::floodOpacity): (WebCore::RenderStyle::setFloodOpacity):
23:29 Changeset [37578] by hyatt@apple.com

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

<rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.

Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
implements paintTrackBackground so that when the thumb is not present the track still paints.

Reviewed by Oliver Hunt

  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/win/ScrollbarThemeWin.cpp: (WebCore::ScrollbarThemeWin::paintTrackBackground):
  • platform/win/ScrollbarThemeWin.h:
23:12 Changeset [37577] by hyatt@apple.com

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

Fix over-invalidation of native scrollbars.

Reviewed by Oliver Hunt

  • platform/Scrollbar.h: (WebCore::Scrollbar::styleChanged):
  • platform/mac/ScrollbarThemeMac.mm: (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::styleChanged):
22:29 Changeset [37576] by mjs@apple.com

2008-10-13 Maciej Stachowiak <mjs@apple.com>

Reviewed by Cameron Zwarich.


  • make Machine::getArgumentsData an Arguments method and inline it


~2% on v8 raytrace

  • VM/Machine.cpp:
  • kjs/Arguments.h: (JSC::Machine::getArgumentsData):
21:14 Changeset [37575] by alp@webkit.org

2008-10-13 Alp Toker <alp@nuanti.com>

Fix autotools dist build target by listing recently added header
files only. Not reviewed.

19:28 Changeset [37574] by mrowe@apple.com

Don't run a SQLite query on every iteration of the sync thread when the query
will touch a large portion of the icon database while performing no useful work.

Reviewed by Brady Eidson.

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
we modified the database.
(WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
unless we've been asked to prune any dangling pageURLs that we find.

19:16 Changeset [37573] by alp@webkit.org

2008-10-13 Alp Toker <alp@nuanti.com>

GTK+ build fix: Ensure correct builds when debugging is
enabled/disabled by defining NDEBUG in autotoolsconfig.h as needed.
It's still passed as a compiler flag since some sources (DRT) don't
use config.h yet.

  • configure.ac:
18:21 Changeset [37572] by mjs@apple.com

JavaScriptCore:

2008-10-13 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Mark Rowe.


  • fixed <rdar://problem/5806316> JavaScriptCore should not force building with gcc 4.0
  • use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
  • Configurations/DebugRelease.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:

JavaScriptGlue:

2008-10-13 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Mark Rowe.


  • use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
  • Configurations/DebugRelease.xcconfig:

WebCore:

2008-10-13 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Mark Rowe.


  • use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
  • Configurations/DebugRelease.xcconfig:

WebKit/mac:

2008-10-13 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Mark Rowe.


  • use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
  • Configurations/DebugRelease.xcconfig:
17:59 Changeset [37571] by hyatt@apple.com

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

Make dropdown lists on Windows work with CSS custom scrollbars.

Reviewed by Adele

  • platform/PopupMenu.h: (WebCore::PopupMenu::scrollbarCornerPresent):
  • platform/PopupMenuClient.h:
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show):
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::createScrollbar):
  • rendering/RenderMenuList.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createScrollbar):
  • rendering/RenderTextControl.h:
17:20 Changeset [37570] by cwzwarich@webkit.org

2008-10-13 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Bug 21541: Move RegisterFile growth check to callee
<https://bugs.webkit.org/show_bug.cgi?id=21541>

Move the RegisterFile growth check to the callee in the common case,
where some of the information is known statically at JIT time. There is
still a check in the caller in the case where the caller provides too
few arguments.

This is a 2.1% speedup on the V8 benchmark, including a 5.1% speedup on
the Richards benchmark, a 4.1% speedup on the DeltaBlue benchmark, and a
1.4% speedup on the Earley-Boyer benchmark. It is also a 0.5% speedup on
SunSpider.

  • VM/CTI.cpp: (JSC::CTI::privateCompile):
  • VM/Machine.cpp: (JSC::Machine::cti_register_file_check): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h:
  • VM/RegisterFile.h:
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::cmpl_mr): (JSC::X86Assembler::emitUnlinkedJg):
16:39 Changeset [37569] by hyatt@apple.com

Fix Windows build bustage.

16:39 Changeset [37568] by hyatt@apple.com

Fix Windows build bustage.

15:48 Changeset [37567] by cfleizach@apple.com

<rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements

This also fixes the positions of image map links

15:42 Changeset [37566] by hyatt@apple.com

WebCore:

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

Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).

Reviewed by Tim Hatcher

Added scrollbars/listbox-scrollbar-combinations.html

  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::~RenderListBox): (WebCore::RenderListBox::updateFromElement): (WebCore::RenderListBox::createScrollbar): (WebCore::RenderListBox::destroyScrollbar): (WebCore::RenderListBox::setHasVerticalScrollbar):
  • rendering/RenderListBox.h:

LayoutTests:

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

Add test case for custom CSS listbox scrollbars.

Reviewed by Tim Hatcher

  • platform/mac/scrollbars/listbox-scrollbar-combinations-expected.checksum: Added.
  • platform/mac/scrollbars/listbox-scrollbar-combinations-expected.png: Added.
  • platform/mac/scrollbars/listbox-scrollbar-combinations-expected.txt: Added.
  • scrollbars/listbox-scrollbar-combinations.html: Added.
15:25 Changeset [37565] by timothy@apple.com

Adds an complex styled scrollbar test that exercises all pseudo-elements and pseudo-classes.
Also uses positive and negative margins on the scrollbar track and track pieces.
Tests all the combinations of scrollbars for overflow elements, with and without resizers.

Rubber-stamped by Dave Hyatt.

  • platform/mac/scrollbars/overflow-scrollbar-combinations-expected.checksum: Added.
  • platform/mac/scrollbars/overflow-scrollbar-combinations-expected.png: Added.
  • platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt: Added.
  • scrollbars/overflow-scrollbar-combinations.html: Added.
  • scrollbars/resources: Added.
  • scrollbars/resources/corner-inactive.png: Added.
  • scrollbars/resources/corner.png: Added.
  • scrollbars/resources/horizontal-button-active.png: Added.
  • scrollbars/resources/horizontal-button-background-active.png: Added.
  • scrollbars/resources/horizontal-button-background-hover.png: Added.
  • scrollbars/resources/horizontal-button-background-inactive.png: Added.
  • scrollbars/resources/horizontal-button-background.png: Added.
  • scrollbars/resources/horizontal-button-hover.png: Added.
  • scrollbars/resources/horizontal-button-inactive.png: Added.
  • scrollbars/resources/horizontal-button.png: Added.
  • scrollbars/resources/horizontal-decrement-arrow.png: Added.
  • scrollbars/resources/horizontal-increment-arrow.png: Added.
  • scrollbars/resources/horizontal-thumb-active.png: Added.
  • scrollbars/resources/horizontal-thumb-hover.png: Added.
  • scrollbars/resources/horizontal-thumb-inactive.png: Added.
  • scrollbars/resources/horizontal-thumb.png: Added.
  • scrollbars/resources/horizontal-track-active.png: Added.
  • scrollbars/resources/horizontal-track-disabled.png: Added.
  • scrollbars/resources/horizontal-track-hover.png: Added.
  • scrollbars/resources/horizontal-track.png: Added.
  • scrollbars/resources/resizer-inactive.png: Added.
  • scrollbars/resources/resizer.png: Added.
  • scrollbars/resources/vertical-button-active.png: Added.
  • scrollbars/resources/vertical-button-background-active.png: Added.
  • scrollbars/resources/vertical-button-background-hover.png: Added.
  • scrollbars/resources/vertical-button-background-inactive.png: Added.
  • scrollbars/resources/vertical-button-background.png: Added.
  • scrollbars/resources/vertical-button-hover.png: Added.
  • scrollbars/resources/vertical-button-inactive.png: Added.
  • scrollbars/resources/vertical-button.png: Added.
  • scrollbars/resources/vertical-decrement-arrow.png: Added.
  • scrollbars/resources/vertical-increment-arrow.png: Added.
  • scrollbars/resources/vertical-thumb-active.png: Added.
  • scrollbars/resources/vertical-thumb-hover.png: Added.
  • scrollbars/resources/vertical-thumb-inactive.png: Added.
  • scrollbars/resources/vertical-thumb.png: Added.
  • scrollbars/resources/vertical-track-active.png: Added.
  • scrollbars/resources/vertical-track-disabled.png: Added.
  • scrollbars/resources/vertical-track-hover.png: Added.
  • scrollbars/resources/vertical-track.png: Added.
14:53 Changeset [37564] by hyatt@apple.com

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

In order to always match the :corner-present pseudo-class properly, delay initial updating of
scrollbar styles until the layer has the scrollbars in its member variables.

Reviewed by Tim Hatcher

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::setHasHorizontalScrollbar): (WebCore::RenderLayer::setHasVerticalScrollbar):
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::RenderScrollbar):
14:41 Changeset [37563] by weinig@apple.com

JavaScriptCore:

2008-10-13 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
5 false positive StructureID leaks

  • Add leak ignore set to StructureID to selectively ignore leaking some StructureIDs.
  • Add create method to JSGlolalData to be used when the data will be intentionally leaked and ignore all leaks caused the StructureIDs stored in it.
  • JavaScriptCore.exp:
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::createLeaked):
  • kjs/JSGlobalData.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::~StructureID): (JSC::StructureID::startIgnoringLeaks): (JSC::StructureID::stopIgnoringLeaks):
  • kjs/StructureID.h:

WebCore:

2008-10-13 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
5 false positive StructureID leaks

In WebCore, we intentionally leak the common JSGlobalData which in turn
leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
ignore the StructureIDs leaked within.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData):
14:23 Changeset [37562] by hyatt@apple.com

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

Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
artwork based on whether there is a scrollbar corner present.

Reviewed by Tim Hatcher

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollbarCornerPresent):
  • platform/ScrollView.h:
  • platform/ScrollbarClient.h:
  • rendering/RenderLayer.cpp: (WebCore::cornerRect): (WebCore::scrollCornerRect): (WebCore::resizerCornerRect): (WebCore::RenderLayer::scrollbarCornerPresent): (WebCore::RenderLayer::setHasHorizontalScrollbar): (WebCore::RenderLayer::setHasVerticalScrollbar):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::horizontalScrollbar): (WebCore::RenderLayer::verticalScrollbar):
  • rendering/RenderListBox.h: (WebCore::RenderListBox::scrollbarCornerPresent):
13:56 Changeset [37561] by hyatt@apple.com

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

Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
test case for all this can land).

Reviewed by Tim Hatcher

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintOverflowControls): (WebCore::RenderLayer::paintScrollCorner): (WebCore::RenderLayer::paintResizer): (WebCore::RenderLayer::styleChanged): (WebCore::RenderLayer::updateScrollCornerStyle): (WebCore::RenderLayer::updateResizerStyle):
  • rendering/RenderLayer.h:
  • rendering/RenderScrollbar.cpp: (WebCore::RenderScrollbar::paint):
  • rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::paintIntoRect):
13:21 Changeset [37560] by hyatt@apple.com

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

Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
and invalidate properly as images load, etc.

Reviewed by Tim Hatcher

  • rendering/RenderLayer.cpp: (WebCore::cornerRect): (WebCore::scrollCornerRect): (WebCore::resizerCornerRect): (WebCore::RenderLayer::positionOverflowControls): (WebCore::RenderLayer::paintOverflowControls): (WebCore::RenderLayer::paintScrollCorner): (WebCore::RenderLayer::paintResizer): (WebCore::RenderLayer::isPointInResizeControl): (WebCore::RenderLayer::hitTestOverflowControls): (WebCore::RenderLayer::styleChanged):
  • rendering/RenderLayer.h:
  • rendering/RenderObject.h: (WebCore::RenderObject::setRect):
  • rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::styleDidChange): (WebCore::RenderScrollbarPart::imageChanged):
11:55 Changeset [37559] by ddkilzer@apple.com

Bug 21457: resolve-ChangeLogs should be able to operate on a git revision range

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

Reviewed by Adam.

  • Scripts/resolve-ChangeLogs: Added optional parameter to
-ffix-merged switch to run the script on a revision range.

Updated command-line validation checks.
(findChangeLog): Fixed long-standing bug that should have used
$_[0] instead of $_.
(fixMergedChangeLog): Renamed to fixOneMergedChangeLog($). Updated
to work when called from git filter-branch. It always restores a
copy of the previous revision before reapplying the patch.
(fixMergedChangeLogs): Added. Calls itself through git filter-branch
to re-merge ChangeLog files across a revision range. Removes
.git/refs/original directory on success.

(parseFixMerged): Added. Custom method to parse the -ffix-merged

switch.
(removeChangeLogArguments): Added. Removes items from @ARGV when
they are ChangeLog paths, and return a list of paths. This makes it
easier to validate the command-line.
(resolveChangeLog): Added. Extracted from main code block. Runs
the traditional single-file merge algorithm.
(usageAndExit): Added. Extracted from main code block. Prints
usage statement and exits with error status.

11:31 Changeset [37558] by sfalken@apple.com

WebCore:

2008-10-13 Steve Falkenburg <sfalken@apple.com>

Roll out r36884.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::CGContextWithHDC): (WebCore::GraphicsContext::GraphicsContext):

WebKit/win:

2008-10-13 Steve Falkenburg <sfalken@apple.com>

Roll out r36883, r36884.

Added unimplemented method to IWebViewPrivate (paintDocumentRectToContext) for nightly compatibility
(we need to preserve vtable order).

  • Interfaces/IWebViewPrivate.idl:
  • WebFrame.cpp: (WebFrame::transitionToCommittedForNewPage): (WebFrame::unmarkAllBadGrammar):
  • WebFrame.h:
  • WebView.cpp: (WebView::WebView): (WebView::paintIntoBackingStore): (WebView::paintDocumentRectToContext):
  • WebView.h:
11:23 Changeset [37557] by sfalken@apple.com

2008-10-13 Steve Falkenburg <sfalken@apple.com>

Reorder methods to preserve compatibility.


Rubber stamped by Oliver Hunt.

  • Interfaces/IWebViewPrivate.idl:
04:44 Changeset [37556] by jmalonzo@webkit.org

2008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Darin Adler. Landed by Jan Alonzo.

WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
http://bugs.webkit.org/show_bug.cgi?id=20483

Start the conversion to use GOwnPtr and fix a memory leak.

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateErrorCallback):

2008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Darin Adler. Landed by Jan Alonzo.

WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
http://bugs.webkit.org/show_bug.cgi?id=20483

Add a GOwnPtr smart pointer (similar to OwnPtr) to handle memory
allocated by GLib and start the conversion to use it.

  • GNUmakefile.am:
  • wtf/GOwnPtr.cpp: Added. (WTF::GError): (WTF::GList): (WTF::GCond): (WTF::GMutex): (WTF::GPatternSpec): (WTF::GDir):
  • wtf/GOwnPtr.h: Added. (WTF::freeOwnedPtr): (WTF::GOwnPtr::GOwnPtr): (WTF::GOwnPtr::~GOwnPtr): (WTF::GOwnPtr::get): (WTF::GOwnPtr::release): (WTF::GOwnPtr::rawPtr): (WTF::GOwnPtr::set): (WTF::GOwnPtr::clear): (WTF::GOwnPtr::operator*): (WTF::GOwnPtr::operator->): (WTF::GOwnPtr::operator!): (WTF::GOwnPtr::operator UnspecifiedBoolType): (WTF::GOwnPtr::swap): (WTF::swap): (WTF::operator==): (WTF::operator!=): (WTF::getPtr):
  • wtf/Threading.h:
  • wtf/ThreadingGtk.cpp: (WTF::Mutex::~Mutex): (WTF::Mutex::lock): (WTF::Mutex::tryLock): (WTF::Mutex::unlock): (WTF::ThreadCondition::~ThreadCondition): (WTF::ThreadCondition::wait): (WTF::ThreadCondition::timedWait): (WTF::ThreadCondition::signal): (WTF::ThreadCondition::broadcast):
Note: See TracTimeline for information about the timeline view.